Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though

This commit is contained in:
Ryan Ward
2026-05-07 11:29:34 -05:00
parent f4e2475c60
commit a41cbd8cc7
2433 changed files with 14208 additions and 9409 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ use std::{
use crate::ai::agent::conversation::AIConversationId;
use itertools::Itertools;
use parking_lot::FairMutex;
use warpui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::{
ai::{
+7 -7
View File
@@ -52,7 +52,7 @@ use suggest_new_conversation::SuggestNewConversationExecutor;
pub use suggest_prompt::PromptSuggestionExecutor;
use upload_artifact::UploadArtifactExecutor;
use use_computer::UseComputerExecutor;
use warp_core::{execution_mode::AppExecutionMode, features::FeatureFlag};
use galaxy_core::{execution_mode::AppExecutionMode, features::FeatureFlag};
#[cfg(feature = "local_fs")]
use crate::util::openable_file_type::is_binary_file;
@@ -60,12 +60,12 @@ use crate::util::openable_file_type::is_binary_file;
use futures::AsyncReadExt;
use std::{any::Any, path::PathBuf, pin::Pin, sync::Arc};
#[cfg(feature = "local_fs")]
use warp_files::{FileModel, TextFileReadResult};
use galaxy_files::{FileModel, TextFileReadResult};
#[cfg(feature = "local_fs")]
use warp_util::file::FileLoadError;
use galaxy_util::file::FileLoadError;
#[cfg(feature = "local_fs")]
use warp_util::file_type::is_buffer_binary;
use warpui::{
use galaxy_util::file_type::is_buffer_binary;
use galaxyui::{
r#async::{Spawnable, SpawnableOutput},
AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity,
};
@@ -1101,11 +1101,11 @@ async fn should_read_as_binary(path: &std::path::Path) -> bool {
is_file_content_binary_async(path).await
}
/// Async sibling of [`warp_util::file_type::is_file_content_binary`]. Reads
/// Async sibling of [`galaxy_util::file_type::is_file_content_binary`]. Reads
/// the first 1 KiB of `path` asynchronously and returns `true` if the content
/// looks binary according to [`is_buffer_binary`]. Returns `true` on any I/O
/// error so callers default to the binary code path. Kept local to this
/// module so `warp_util` doesn't need to grow an `async_fs` dependency.
/// module so `galaxy_util` doesn't need to grow an `async_fs` dependency.
#[cfg(feature = "local_fs")]
async fn is_file_content_binary_async(path: &std::path::Path) -> bool {
const CHUNK_SIZE: usize = 1024;
@@ -2,7 +2,7 @@ use crate::ai::agent::{AIAgentActionResultType, AIAgentActionType};
use crate::ai::blocklist::BlocklistAIPermissions;
use ai::agent::action_result::{AskUserQuestionAnswerItem, AskUserQuestionResult};
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, EntityId, ModelContext, SingletonEntity};
use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity};
use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessActionInput};
@@ -16,7 +16,7 @@ use crate::workspaces::{team_tester::TeamTesterStatus, user_workspaces::UserWork
use crate::LaunchMode;
use ai::agent::action::AskUserQuestionItem;
use ai::agent::action_result::{AskUserQuestionAnswerItem, AskUserQuestionResult};
use warpui::{App, EntityId, ModelHandle};
use galaxyui::{App, EntityId, ModelHandle};
fn build_action(action_id: &str) -> AIAgentAction {
AIAgentAction {
@@ -1,7 +1,7 @@
use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessActionInput};
use crate::terminal::model::session::active_session::ActiveSession;
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, EntityId, ModelContext, ModelHandle};
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle};
#[cfg(not(target_family = "wasm"))]
use super::get_server_output_id;
@@ -17,7 +17,7 @@ use crate::{
#[cfg(not(target_family = "wasm"))]
use itertools::Itertools;
#[cfg(not(target_family = "wasm"))]
use warpui::SingletonEntity;
use galaxyui::SingletonEntity;
pub struct CallMCPToolExecutor {
_active_session: ModelHandle<ActiveSession>,
@@ -208,7 +208,7 @@ fn handle_call_tool_result(
res: Result<rmcp::model::CallToolResult, rmcp::ServiceError>,
server_output_id: Option<crate::ai::blocklist::action_model::execute::ServerOutputId>,
tool_name: String,
ctx: &warpui::AppContext,
ctx: &galaxyui::AppContext,
) -> AIAgentActionResultType {
let action_result = match res {
Ok(result) => {
@@ -1,5 +1,5 @@
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity};
use crate::{
ai::{
@@ -20,13 +20,13 @@ use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessA
pub struct CreateDocumentsExecutor {
active_session: ModelHandle<ActiveSession>,
terminal_view_id: warpui::EntityId,
terminal_view_id: galaxyui::EntityId,
}
impl CreateDocumentsExecutor {
pub fn new(
active_session: ModelHandle<ActiveSession>,
terminal_view_id: warpui::EntityId,
terminal_view_id: galaxyui::EntityId,
) -> Self {
Self {
active_session,
@@ -1,7 +1,7 @@
use ai::diff_validation::DiffDelta;
use futures::{future::BoxFuture, FutureExt};
use std::collections::HashMap;
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::ai::{
agent::{
@@ -5,7 +5,7 @@ use crate::ai::blocklist::history_model::CloudConversationData;
use ai::agent::action_result::FetchConversationResult;
use futures::future::BoxFuture;
use futures::FutureExt;
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::ai::agent::api::ServerConversationToken;
use crate::ai::agent::AIAgentActionType;
@@ -5,8 +5,8 @@ use std::time::Duration;
use futures::future::BoxFuture;
use futures::FutureExt;
use itertools::Itertools;
use warpui::r#async::FutureExt as AsyncFutureExt;
use warpui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::r#async::FutureExt as AsyncFutureExt;
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::ai::agent::{
conversation::AIConversationId, AIAgentAction, AIAgentActionType, FileGlobResult,
@@ -24,7 +24,7 @@ use crate::{
},
TelemetryEvent,
};
use warp_core::features::FeatureFlag;
use galaxy_core::features::FeatureFlag;
const FILE_GLOB_TIMEOUT: Duration = Duration::from_secs(10);
@@ -2,7 +2,7 @@ use std::path::{Path, PathBuf};
use futures::{future::BoxFuture, FutureExt};
use itertools::Itertools;
use warpui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::{
ai::{
@@ -4,12 +4,12 @@ use std::path::PathBuf;
use std::sync::Arc;
use std::time::Duration;
use warp_util::standardized_path::StandardizedPath;
use galaxy_util::standardized_path::StandardizedPath;
use futures::future::BoxFuture;
use futures::FutureExt;
use warpui::r#async::FutureExt as AsyncFutureExt;
use warpui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::r#async::FutureExt as AsyncFutureExt;
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::ai::agent::redaction::redact_secrets;
use crate::ai::agent::{
@@ -437,7 +437,7 @@ async fn run_grep(
#[cfg(not(target_family = "wasm"))]
async fn run_ripgrep(queries: &[String], absolute_path: String) -> Result<GrepResult, GrepError> {
let path = PathBuf::from(absolute_path);
let result = warp_ripgrep::search::search(queries, &[path], false, false).await;
let result = galaxy_ripgrep::search::search(queries, &[path], false, false).await;
match result {
Ok(matches) => {
@@ -1,5 +1,5 @@
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::ai::{
agent::{
@@ -1,7 +1,7 @@
use std::path::{Path, PathBuf};
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::{
ai::{
@@ -3,7 +3,7 @@ use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessA
use crate::ai::mcp::TemplatableMCPServerManager;
use crate::terminal::model::session::active_session::ActiveSession;
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, EntityId, ModelContext, ModelHandle};
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle};
#[cfg(not(target_family = "wasm"))]
use crate::ai::{
@@ -14,7 +14,7 @@ use crate::ai::{
},
};
#[cfg(not(target_family = "wasm"))]
use warpui::SingletonEntity;
use galaxyui::SingletonEntity;
pub struct ReadMCPResourceExecutor {
_active_session: ModelHandle<ActiveSession>,
@@ -2,14 +2,14 @@ use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessA
use crate::ai::skills::{SkillManager, SkillTelemetryEvent};
use crate::send_telemetry_from_ctx;
use ai::agent::action_result::AnyFileContent;
use warpui::{ModelContext, SingletonEntity};
use galaxyui::{ModelContext, SingletonEntity};
use crate::ai::agent::AIAgentActionType;
use crate::ai::agent::ReadSkillRequest;
use crate::ai::agent::ReadSkillResult;
use ai::agent::action_result::FileContext;
use futures::future::{BoxFuture, FutureExt};
use warpui::Entity;
use galaxyui::Entity;
pub struct ReadSkillExecutor;
@@ -14,7 +14,7 @@ use repo_metadata::{
use std::fs;
use std::io::Write;
use tempfile::TempDir;
use warpui::App;
use galaxyui::App;
use watcher::HomeDirectoryWatcher;
fn initialize_app(app: &mut App) {
@@ -2,7 +2,7 @@ use std::collections::HashSet;
use ai::agent::action_result::{AIAgentActionResultType, RequestComputerUseResult};
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, EntityId, ModelContext, SingletonEntity};
use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity};
use crate::ai::agent::{AIAgentActionId, AIAgentActionType};
use crate::ai::ambient_agents::AmbientAgentTaskId;
@@ -2,7 +2,7 @@ mod apply_diff_model;
mod diff_application;
mod telemetry;
use warp_util::file::FileSaveError;
use galaxy_util::file::FileSaveError;
use std::collections::HashMap;
use std::path::PathBuf;
@@ -11,8 +11,8 @@ use ai::diff_validation::AIRequestedCodeDiff;
use futures::{channel::oneshot, future::BoxFuture, FutureExt};
use itertools::Itertools;
use vec1::{vec1, Vec1};
use warp_core::send_telemetry_from_ctx;
use warpui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity as _, ViewHandle};
use galaxy_core::send_telemetry_from_ctx;
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity as _, ViewHandle};
use apply_diff_model::ApplyDiffModel;
pub(crate) use diff_application::apply_edits;
@@ -11,8 +11,8 @@
use ai::diff_validation::AIRequestedCodeDiff;
use futures::FutureExt;
use vec1::Vec1;
use warpui::r#async::BoxFuture;
use warpui::{Entity, ModelContext, ModelHandle, SingletonEntity as _};
use galaxyui::r#async::BoxFuture;
use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity as _};
use crate::ai::agent::{AIIdentifiers, FileEdit};
use crate::ai::blocklist::SessionContext;
@@ -13,7 +13,7 @@ use ai::diff_validation::{
};
use itertools::Itertools;
use vec1::Vec1;
use warpui::r#async::executor::Background;
use galaxyui::r#async::executor::Background;
use crate::{
ai::{
@@ -5,7 +5,7 @@ use ai::diff_validation::{DiffDelta, ParsedDiff, V4AHunk};
use async_io::block_on;
use tempfile::NamedTempFile;
use vec1::vec1;
use warpui::App;
use galaxyui::App;
use crate::ai::agent::{AIIdentifiers, FileEdit};
use crate::ai::blocklist::SessionContext;
@@ -6,7 +6,7 @@ use ai::diff_validation::DiffMatchFailures;
use serde::Serialize;
use serde_json::json;
use strum_macros::{EnumDiscriminants, EnumIter};
use warp_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
use crate::ai::{agent::AIIdentifiers, blocklist::RequestedEditResolution};
@@ -195,7 +195,7 @@ impl TelemetryEvent for RequestFileEditsTelemetryEvent {
}
fn event_descs() -> impl Iterator<Item = Box<dyn TelemetryEventDesc>> {
warp_core::telemetry::enum_events::<Self>()
galaxy_core::telemetry::enum_events::<Self>()
}
}
@@ -245,4 +245,4 @@ impl TelemetryEventDesc for RequestFileEditsTelemetryEventDiscriminants {
}
}
warp_core::register_telemetry_event!(RequestFileEditsTelemetryEvent);
galaxy_core::register_telemetry_event!(RequestFileEditsTelemetryEvent);
@@ -5,7 +5,7 @@ use std::{
use futures::{channel::oneshot, future::BoxFuture, FutureExt};
use itertools::Itertools;
use warpui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::{
ai::{
@@ -1,5 +1,5 @@
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::ai::agent::{
AIAgentAction, AIAgentActionResultType, AIAgentActionType, SendMessageToAgentResult,
@@ -13,8 +13,8 @@ use crate::ai::blocklist::telemetry::{
};
use crate::server::server_api::ai::SendAgentMessageRequest;
use crate::server::server_api::ServerApiProvider;
use warp_core::features::FeatureFlag;
use warp_core::send_telemetry_from_ctx;
use galaxy_core::features::FeatureFlag;
use galaxy_core::send_telemetry_from_ctx;
use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessActionInput};
@@ -9,11 +9,11 @@ use futures::{select, FutureExt};
use futures_lite::pin;
use itertools::Itertools;
use parking_lot::FairMutex;
use warp_core::command::ExitCode;
use warp_core::execution_mode::AppExecutionMode;
use warp_util::path::ShellFamily;
use warpui::r#async::{Spawnable, Timer};
use warpui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxy_core::command::ExitCode;
use galaxy_core::execution_mode::AppExecutionMode;
use galaxy_util::path::ShellFamily;
use galaxyui::r#async::{Spawnable, Timer};
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::ai::agent::{
AIAgentActionId, AIAgentActionType, AIAgentPtyWriteMode, ReadShellCommandOutputResult,
@@ -1,5 +1,5 @@
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::ai::agent::conversation::{AIConversationId, ConversationStatus};
use crate::ai::agent::{
@@ -9,8 +9,8 @@ use crate::ai::agent::{
use crate::ai::blocklist::orchestration_event_streamer::OrchestrationEventStreamer;
use crate::ai::blocklist::orchestration_events::OrchestrationEventService;
use crate::ai::blocklist::{BlocklistAIHistoryEvent, BlocklistAIHistoryModel};
use warp_cli::agent::Harness;
use warp_core::features::FeatureFlag;
use galaxy_cli::agent::Harness;
use galaxy_core::features::FeatureFlag;
use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessActionInput};
@@ -7,8 +7,8 @@ use crate::ai::agent::{
};
use crate::ai::blocklist::BlocklistAIHistoryModel;
use ai::agent::action_result::StartAgentVersion;
use warp_core::features::FeatureFlag;
use warpui::{App, EntityId};
use galaxy_core::features::FeatureFlag;
use galaxyui::{App, EntityId};
fn build_start_agent_action(
version: StartAgentVersion,
execution_mode: StartAgentExecutionMode,
@@ -1,5 +1,5 @@
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, ModelContext};
use galaxyui::{Entity, ModelContext};
use crate::ai::agent::{
AIAgentAction, AIAgentActionResultType, AIAgentActionType, SuggestNewConversationResult,
@@ -1,6 +1,6 @@
use futures::{channel::oneshot, future::BoxFuture, FutureExt};
use warp_core::features::FeatureFlag;
use warpui::{Entity, ModelContext};
use galaxy_core::features::FeatureFlag;
use galaxyui::{Entity, ModelContext};
use crate::{
ai::{
@@ -6,7 +6,7 @@ use std::path::PathBuf;
mod tests;
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, EntityId, ModelContext, ModelHandle};
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle};
use crate::terminal::model::session::active_session::ActiveSession;
#[cfg(not(target_family = "wasm"))]
@@ -20,7 +20,7 @@ use crate::{
server::server_api::ServerApiProvider,
};
#[cfg(not(target_family = "wasm"))]
use warpui::SingletonEntity;
use galaxyui::SingletonEntity;
use super::{ActionExecution, AnyActionExecution, ExecuteActionInput, PreprocessActionInput};
@@ -2,7 +2,7 @@ use std::fs;
use std::path::{Path, PathBuf};
use async_channel::unbounded;
use warpui::{App, EntityId, ModelHandle};
use galaxyui::{App, EntityId, ModelHandle};
use crate::ai::agent::task::TaskId;
use crate::ai::agent::{
@@ -1,6 +1,6 @@
use ai::agent::action_result::AIAgentActionResultType;
use futures::{future::BoxFuture, FutureExt};
use warpui::{Entity, ModelContext};
use galaxyui::{Entity, ModelContext};
use crate::ai::agent::{AIAgentActionType, UseComputerResult};
@@ -4,7 +4,7 @@ use crate::context_chips::{
prompt_type::PromptType,
ChipResult,
};
use warpui::{ModelHandle, ViewContext, ViewHandle};
use galaxyui::{ModelHandle, ViewContext, ViewHandle};
use super::{AgentInputFooter, AgentInputFooterEvent};
@@ -3,9 +3,9 @@
//! Uses the shared [`ChipConfigurator`] with `LeftRightZones` layout to let users
//! drag/drop chips between left, right, and unused banks.
use warpui::keymap::FixedBinding;
use galaxyui::keymap::FixedBinding;
use warpui::{AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use galaxyui::{AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use crate::chip_configurator::{
render_chip_editor_modal, render_chip_editor_sections, ChipConfigurator,
@@ -225,7 +225,7 @@ impl View for AgentToolbarInlineEditor {
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([FixedBinding::new(
"escape",
@@ -1,10 +1,10 @@
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use settings::Setting;
use warp_core::send_telemetry_from_ctx;
use warp_core::ui::color::blend::Blend;
use warp_core::ui::theme::Fill;
use warpui::{
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::ui::color::blend::Blend;
use galaxy_core::ui::theme::Fill;
use galaxyui::{
elements::{
ChildAnchor, ChildView, ConstrainedBox, OffsetPositioning, ParentAnchor, ParentElement,
ParentOffsetBounds, Stack,
@@ -87,7 +87,7 @@ impl GenericMenuItem for EnvironmentMenuItem {
let theme = Appearance::as_ref(app).theme();
let color = theme.main_text_color(theme.surface_2()).into_solid();
Some(
ConstrainedBox::new(Icon::Check.to_warpui_icon(Fill::Solid(color)).finish())
ConstrainedBox::new(Icon::Check.to_galaxyui_icon(Fill::Solid(color)).finish())
.with_width(ENV_MENU_CHECK_ICON_SIZE)
.with_height(ENV_MENU_CHECK_ICON_SIZE)
.finish(),
@@ -56,7 +56,7 @@ use crate::{
workspaces::user_workspaces::UserWorkspaces,
};
use toolbar_item::AgentToolbarItemKind;
use warp_cli::agent::Harness;
use galaxy_cli::agent::Harness;
use std::sync::Arc;
@@ -83,7 +83,7 @@ use tokio::fs;
#[cfg(feature = "voice_input")]
use voice_input::{StartListeningError, VoiceSessionResult};
use warp_core::{
use galaxy_core::{
context_flag::ContextFlag,
report_if_error,
ui::{
@@ -92,8 +92,8 @@ use warp_core::{
},
};
#[cfg(feature = "voice_input")]
use warpui::r#async::SpawnedFutureHandle;
use warpui::{
use galaxyui::r#async::SpawnedFutureHandle;
use galaxyui::{
elements::{
Border, ChildAnchor, ChildView, Clipped, ConstrainedBox, Container, CornerRadius,
CrossAxisAlignment, DispatchEventResult, Element, EventHandler, Expanded, Flex,
@@ -106,7 +106,7 @@ use warpui::{
};
#[cfg(not(target_family = "wasm"))]
use warpui::r#async::Timer;
use galaxyui::r#async::Timer;
pub(crate) use self::environment_selector::{EnvironmentSelector, EnvironmentSelectorEvent};
#[cfg(not(target_family = "wasm"))]
@@ -874,7 +874,7 @@ impl AgentInputFooter {
fn select_cli_file(&mut self, ctx: &mut ViewContext<Self>) {
let window_id = ctx.window_id();
let view_id = ctx.view_id();
let file_picker_config = warpui::platform::FilePickerConfiguration::new();
let file_picker_config = galaxyui::platform::FilePickerConfiguration::new();
ctx.open_file_picker(
move |result, ctx| match result {
@@ -1364,7 +1364,7 @@ impl AgentInputFooter {
.unwrap_or_else(|| appearance.theme().foreground().into_solid());
left_buttons.add_child(
Container::new(
ConstrainedBox::new(icon.to_warpui_icon(Fill::Solid(icon_color)).finish())
ConstrainedBox::new(icon.to_galaxyui_icon(Fill::Solid(icon_color)).finish())
.with_width(cli_icon_size)
.with_height(cli_icon_size)
.finish(),
@@ -1571,8 +1571,8 @@ impl AgentInputFooter {
// For key-based toggling, validate the key state against current voice state.
if let voice_input::VoiceInputToggledFrom::Key { state } = source {
match (&self.cli_voice_input_state, state) {
(CLIVoiceInputState::Stopped, warpui::event::KeyState::Released) => return,
(CLIVoiceInputState::Listening, warpui::event::KeyState::Pressed) => return,
(CLIVoiceInputState::Stopped, galaxyui::event::KeyState::Released) => return,
(CLIVoiceInputState::Listening, galaxyui::event::KeyState::Pressed) => return,
_ => {}
}
}
@@ -1936,7 +1936,7 @@ impl View for AgentInputFooter {
"AgentViewFooter"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
if self.should_render_cloud_mode_v2(app) {
return self.render_cloud_mode_v2_footer(app);
}
@@ -2098,7 +2098,7 @@ fn render_ftu_callout(
.with_child(
ConstrainedBox::new(
Icon::CalloutTriangleBorderDown
.to_warpui_icon(Fill::Solid(theme.accent().into_solid()))
.to_galaxyui_icon(Fill::Solid(theme.accent().into_solid()))
.finish(),
)
.with_width(24.)
@@ -2108,7 +2108,7 @@ fn render_ftu_callout(
.with_child(
ConstrainedBox::new(
Icon::CalloutTriangleFillDown
.to_warpui_icon(background)
.to_galaxyui_icon(background)
.finish(),
)
.with_width(24.)
@@ -2155,7 +2155,7 @@ pub enum AgentInputFooterAction {
impl TypedActionView for AgentInputFooter {
type Action = AgentInputFooterAction;
fn handle_action(&mut self, action: &Self::Action, ctx: &mut warpui::ViewContext<Self>) {
fn handle_action(&mut self, action: &Self::Action, ctx: &mut galaxyui::ViewContext<Self>) {
match action {
#[cfg(feature = "voice_input")]
AgentInputFooterAction::ToggleVoiceInput => {
@@ -2433,10 +2433,10 @@ impl ActionButtonTheme for AgentInputButtonTheme {
true
}
fn font_properties(&self) -> Option<warpui::fonts::Properties> {
fn font_properties(&self) -> Option<galaxyui::fonts::Properties> {
if crate::features::FeatureFlag::CloudModeInputV2.is_enabled() {
Some(warpui::fonts::Properties {
weight: warpui::fonts::Weight::Semibold,
Some(galaxyui::fonts::Properties {
weight: galaxyui::fonts::Weight::Semibold,
..Default::default()
})
} else {
@@ -2478,7 +2478,7 @@ impl ActionButtonTheme for ActiveMicButtonTheme {
true
}
fn font_properties(&self) -> Option<warpui::fonts::Properties> {
fn font_properties(&self) -> Option<galaxyui::fonts::Properties> {
AgentInputButtonTheme.font_properties()
}
}
@@ -1,14 +1,14 @@
use std::sync::Arc;
use parking_lot::FairMutex;
use warp_core::features::FeatureFlag;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::Fill;
use warpui::assets::asset_cache::AssetSource;
use warpui::elements::{Container, Element, Empty, MouseStateHandle};
use warpui::keymap::Keystroke;
use warpui::platform::OperatingSystem;
use warpui::{AppContext, Entity, ModelHandle, SingletonEntity, View, ViewContext};
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::Fill;
use galaxyui::assets::asset_cache::AssetSource;
use galaxyui::elements::{Container, Element, Empty, MouseStateHandle};
use galaxyui::keymap::Keystroke;
use galaxyui::platform::OperatingSystem;
use galaxyui::{AppContext, Entity, ModelHandle, SingletonEntity, View, ViewContext};
use super::{AgentViewState, EphemeralMessageModel, EphemeralMessageModelEvent};
use crate::ai::agent::conversation::AIConversation;
@@ -1,7 +1,7 @@
use pathfinder_color::ColorU;
use settings::Setting;
use warp_core::ui::{appearance::Appearance, Icon};
use warpui::{
use galaxy_core::ui::{appearance::Appearance, Icon};
use galaxyui::{
elements::{
ConstrainedBox, Container, CrossAxisAlignment, Empty, Flex, Hoverable, MainAxisSize,
MouseStateHandle, ParentElement, Shrinkable, Text,
@@ -197,7 +197,7 @@ impl View for AgentViewEntryBlock {
"EnterAgentBlock"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
if self.agent_view_controller.as_ref(app).is_fullscreen() {
return Empty::new().finish();
}
@@ -321,7 +321,7 @@ impl View for AgentViewEntryBlock {
row.add_child(
ConstrainedBox::new(
Icon::ChevronRight
.to_warpui_icon(
.to_galaxyui_icon(
blended_colors::text_sub(
appearance.theme(),
appearance.theme().background(),
@@ -1,10 +1,10 @@
use std::collections::{HashMap, HashSet};
use warpui::elements::{Element, Empty, Flex, MouseStateHandle, ParentElement};
use warpui::platform::Cursor;
use warpui::prelude::Container;
use warpui::ui_components::components::UiComponent;
use warpui::{
use galaxyui::elements::{Element, Empty, Flex, MouseStateHandle, ParentElement};
use galaxyui::platform::Cursor;
use galaxyui::prelude::Container;
use galaxyui::ui_components::components::UiComponent;
use galaxyui::{
AppContext, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext,
};
@@ -218,7 +218,7 @@ impl View for ChildAgentStatusCard {
let dismiss_button = close_button(appearance, dismiss_mouse_state)
.build()
.on_click(move |ctx: &mut warpui::EventContext<'_>, _, _| {
.on_click(move |ctx: &mut galaxyui::EventContext<'_>, _, _| {
ctx.dispatch_typed_action(ChildAgentStatusCardAction::Dismiss(conversation_id));
})
.with_cursor(Cursor::PointingHand)
@@ -3,10 +3,10 @@ use std::{sync::Arc, time::Duration};
use instant::Instant;
use parking_lot::FairMutex;
use warp_core::ui::appearance::Appearance;
use warpui::keymap::Keystroke;
use warpui::AppContext;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::keymap::Keystroke;
use galaxyui::AppContext;
use galaxyui::{
r#async::SpawnedFutureHandle, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity,
};
@@ -413,7 +413,7 @@ impl AgentViewController {
/// and whether the escape keybinding should be displayed.
pub fn can_exit_agent_view(
&self,
ctx: &impl warpui::ModelAsRef,
ctx: &impl galaxyui::ModelAsRef,
) -> Result<(), ExitAgentViewError> {
let model = self.terminal_model.lock();
@@ -495,7 +495,7 @@ impl AgentViewController {
self.pending_confirmation = Some(pending_confirmation);
let abort_handle = ctx.spawn_abortable(
async move { warpui::r#async::Timer::after(ENTER_OR_EXIT_CONFIRMATION_WINDOW).await },
async move { galaxyui::r#async::Timer::after(ENTER_OR_EXIT_CONFIRMATION_WINDOW).await },
move |me, _, _ctx| {
me.pending_confirmation = None;
me.pending_confirmation_abort_handle = None;
@@ -1010,7 +1010,7 @@ fn exit_confirmation_message(
should_stop_and_exit: bool,
app: &AppContext,
) -> Message {
use warpui::SingletonEntity;
use galaxyui::SingletonEntity;
use crate::terminal::input::message_bar::{Message, MessageItem};
@@ -1,8 +1,8 @@
use std::borrow::Cow;
use std::time::Duration;
use warpui::r#async::SpawnedFutureHandle;
use warpui::{Entity, ModelContext};
use galaxyui::r#async::SpawnedFutureHandle;
use galaxyui::{Entity, ModelContext};
use crate::terminal::input::message_bar::{Message, MessageProvider};
@@ -93,7 +93,7 @@ impl EphemeralMessageModel {
// If we are dismissing via timer, start the timer.
if let DismissalStrategy::Timer(duration) = dismissal {
let abort_handle = ctx.spawn_abortable(
async move { warpui::r#async::Timer::after(duration).await },
async move { galaxyui::r#async::Timer::after(duration).await },
|me, _, ctx| {
me.current_message = None;
me.clear_timer_handle = None;
@@ -2,8 +2,8 @@ use std::sync::Arc;
use ai::agent::action::{AIAgentActionType, ShellCommandDelay};
use parking_lot::FairMutex;
use warp_core::ui::appearance::Appearance;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{
elements::{CornerRadius, Radius},
AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity, View, ViewContext,
};
@@ -121,7 +121,7 @@ impl View for InlineAgentViewHeader {
};
if is_agent_tagged_in {
let header_background = appearance.theme().surface_2();
let icon = Icon::Oz.to_warpui_icon(
let icon = Icon::Oz.to_galaxyui_icon(
blended_colors::text_main(appearance.theme(), header_background).into(),
);
let message = if let Some(command) = top_level_command.as_deref() {
+5 -5
View File
@@ -16,16 +16,16 @@ pub use agent_view_block::*;
pub use controller::*;
pub use ephemeral_message_model::*;
pub use inline_agent_view_header::*;
use warpui::fonts::Properties;
use galaxyui::fonts::Properties;
pub use zero_state_block::*;
use std::sync::LazyLock;
use pathfinder_color::ColorU;
use warp_core::ui::theme::Fill;
use warp_core::ui::{appearance::Appearance, color::blend::Blend};
use warpui::keymap::Keystroke;
use warpui::{AppContext, SingletonEntity};
use galaxy_core::ui::theme::Fill;
use galaxy_core::ui::{appearance::Appearance, color::blend::Blend};
use galaxyui::keymap::Keystroke;
use galaxyui::{AppContext, SingletonEntity};
use crate::view_components::action_button::ActionButtonTheme;
@@ -1,8 +1,8 @@
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::Vector2F;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::Fill;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::Fill;
use galaxyui::{
elements::{
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Expanded, Flex,
Hoverable, MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
@@ -179,7 +179,7 @@ pub(crate) fn conversation_navigation_card_with_icon(
if let Some((icon, color)) = icon {
row.add_child(
Container::new(
ConstrainedBox::new(icon.to_warpui_icon(Fill::Solid(color)).finish())
ConstrainedBox::new(icon.to_galaxyui_icon(Fill::Solid(color)).finish())
.with_width(16.)
.with_height(16.)
.finish(),
@@ -199,7 +199,7 @@ pub(crate) fn conversation_navigation_card_with_icon(
Container::new(
ConstrainedBox::new(
Icon::ChevronRight
.to_warpui_icon(blended_colors::text_sub(theme, theme.background()).into())
.to_galaxyui_icon(blended_colors::text_sub(theme, theme.background()).into())
.finish(),
)
.with_height(20.)
@@ -5,8 +5,8 @@ use pathfinder_color::ColorU;
use std::borrow::Cow;
use warp_core::{features::FeatureFlag, ui::appearance::Appearance};
use warpui::{
use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance};
use galaxyui::{
elements::{Border, Container, CrossAxisAlignment, Expanded, Flex, ParentElement, Text},
keymap::Keystroke,
ui_components::components::{Coords, UiComponent, UiComponentStyles},
@@ -267,7 +267,7 @@ pub fn render_agent_shortcuts_view(
}
pub mod styles {
use warp_core::ui::appearance::Appearance;
use galaxy_core::ui::appearance::Appearance;
pub fn keystroke_size(appearance: &Appearance) -> f32 {
font_size(appearance) + 2.
@@ -1,6 +1,6 @@
use warpui::{Entity, ModelContext, ModelHandle};
use galaxyui::{Entity, ModelContext, ModelHandle};
use warp_core::send_telemetry_from_ctx;
use galaxy_core::send_telemetry_from_ctx;
use crate::{
ai::blocklist::agent_view::{AgentViewController, AgentViewControllerEvent},
@@ -3,8 +3,8 @@ use markdown_parser::{parse_markdown, FormattedText, FormattedTextFragment, Form
use parking_lot::FairMutex;
use settings::Setting;
use std::{borrow::Cow, cmp::Reverse, path::Path, sync::Arc};
use warp_core::{features::FeatureFlag, report_if_error, ui::Icon};
use warpui::{
use galaxy_core::{features::FeatureFlag, report_if_error, ui::Icon};
use galaxyui::{
elements::{
Clipped, Container, CornerRadius, CrossAxisAlignment, Flex, FormattedTextElement,
HighlightedHyperlink, MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable,
@@ -569,7 +569,7 @@ fn render_title_and_description(props: HeaderProps, app: &AppContext) -> Vec<Box
.with_child(
Container::new(
ConstrainedBox::new(
icon.to_warpui_icon(
icon.to_galaxyui_icon(
theme
.main_text_color(theme.background())
.into_solid()
@@ -1020,7 +1020,7 @@ fn render_oz_updates(props: OzUpdatesProps<'_>, app: &AppContext) -> Option<Box<
} else {
Icon::ChevronRight
}
.to_warpui_icon(theme.sub_text_color(theme.background()))
.to_galaxyui_icon(theme.sub_text_color(theme.background()))
.finish(),
)
.with_height(appearance.monospace_font_size())
@@ -1106,7 +1106,7 @@ fn render_oz_updates(props: OzUpdatesProps<'_>, app: &AppContext) -> Option<Box<
.with_child(
ConstrainedBox::new(
Icon::Share3
.to_warpui_icon(
.to_galaxyui_icon(
theme.sub_text_color(theme.background()),
)
.finish(),
@@ -1225,7 +1225,7 @@ pub fn render_ambient_credits_banner(credits: i32, app: &AppContext) -> Box<dyn
}
mod styles {
use warp_core::ui::appearance::Appearance;
use galaxy_core::ui::appearance::Appearance;
pub const CONTAINER_VERTICAL_PADDING: f32 = 16.;
pub const TITLE_MARGIN_BOTTOM: f32 = 8.;
@@ -8,7 +8,7 @@ use crate::terminal::{
event_listener::ChannelEventListener,
};
use std::{path::PathBuf, sync::Arc};
use warpui::r#async::executor::Background;
use galaxyui::r#async::executor::Background;
fn terminal_with_startup_path(startup_path: Option<&str>) -> TerminalModel {
TerminalModel::new_for_test(
+26 -26
View File
@@ -55,8 +55,8 @@ use crate::view_components::compactible_action_button::CompactibleActionButton;
use crate::AIAgentTodoList;
use crate::FileEdit;
use pathfinder_color::ColorU;
use warp_core::ui::theme::color::internal_colors;
use warp_core::ui::theme::Fill;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::ui::theme::Fill;
use cli_controller::CLISubagentController;
use cli_controller::CLISubagentEvent;
@@ -64,11 +64,11 @@ use find::FindState;
use model::AIBlockOutputStatus;
use parking_lot::FairMutex;
use settings::Setting as _;
use warp_core::features::FeatureFlag;
use warpui::elements::get_rich_content_position_id;
use warpui::elements::ClippedScrollStateHandle;
use warpui::elements::TableStateHandle;
use warpui::ui_components::radio_buttons::RadioButtonStateHandle;
use galaxy_core::features::FeatureFlag;
use galaxyui::elements::get_rich_content_position_id;
use galaxyui::elements::ClippedScrollStateHandle;
use galaxyui::elements::TableStateHandle;
use galaxyui::ui_components::radio_buttons::RadioButtonStateHandle;
use crate::ai::agent::conversation::AIConversationId;
use crate::ai::agent::AIAgentActionResultType;
@@ -121,26 +121,26 @@ use std::ops::Range;
use std::path::{Path, PathBuf};
use std::rc::Rc;
use std::{cell::OnceCell, sync::Arc};
use warp_util::path::ShellFamily;
use warpui::elements::MainAxisAlignment;
use warpui::elements::MainAxisSize;
use warpui::elements::SecretRange;
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::button::TextAndIcon;
use warpui::ui_components::button::TextAndIconAlignment;
use warpui::ui_components::components::UiComponent;
use warpui::ui_components::components::UiComponentStyles;
use galaxy_util::path::ShellFamily;
use galaxyui::elements::MainAxisAlignment;
use galaxyui::elements::MainAxisSize;
use galaxyui::elements::SecretRange;
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::button::TextAndIcon;
use galaxyui::ui_components::button::TextAndIconAlignment;
use galaxyui::ui_components::components::UiComponent;
use galaxyui::ui_components::components::UiComponentStyles;
use crate::util::link_detection::*;
use chrono::Duration;
use itertools::Itertools;
use secret_redaction::*;
#[cfg(feature = "local_fs")]
use warp_editor::content::edit::resolve_asset_source_relative_to_directory;
use warp_editor::{
use galaxy_editor::content::edit::resolve_asset_source_relative_to_directory;
use galaxy_editor::{
content::buffer::InitialBufferState, render::element::VerticalExpansionBehavior,
};
use warpui::{
use galaxyui::{
assets::asset_cache::AssetCache,
clipboard::ClipboardContent,
elements::{MouseStateHandle, SelectionBound, SelectionHandle},
@@ -247,7 +247,7 @@ pub const RICH_CONTENT_SECRET_FIRST_CHAR_POSITION_ID: &str =
"ai_block:rich_content_secret_first_char_position";
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -794,7 +794,7 @@ pub struct AIBlock {
active_session: ModelHandle<ActiveSession>,
ambient_agent_view_model: ModelHandle<AmbientAgentViewModel>,
terminal_view_id: EntityId,
window_id: warpui::WindowId,
window_id: galaxyui::WindowId,
/// The current working directory at the time the AI block was created. Note that this
/// is different from `directory_context`, which represents the directory-related contexts
@@ -2086,7 +2086,7 @@ impl AIBlock {
button = button.with_text_and_icon_label(TextAndIcon::new(
TextAndIconAlignment::TextFirst,
accept_text.clone(),
Icon::CornerDownLeft.to_warpui_icon(appearance.theme().foreground()),
Icon::CornerDownLeft.to_galaxyui_icon(appearance.theme().foreground()),
MainAxisSize::Max,
MainAxisAlignment::SpaceBetween,
vec2f(
@@ -2128,7 +2128,7 @@ impl AIBlock {
button = button.with_text_and_icon_label(TextAndIcon::new(
TextAndIconAlignment::TextFirst,
reject_text.clone(),
Icon::CornerDownLeft.to_warpui_icon(appearance.theme().foreground()),
Icon::CornerDownLeft.to_galaxyui_icon(appearance.theme().foreground()),
MainAxisSize::Max,
MainAxisAlignment::SpaceBetween,
vec2f(
@@ -5489,7 +5489,7 @@ pub enum AIBlockEvent {
#[cfg(feature = "local_fs")]
OpenDetectedFilePath {
absolute_path: PathBuf,
line_and_column_num: Option<warp_util::path::LineAndColumnArg>,
line_and_column_num: Option<galaxy_util::path::LineAndColumnArg>,
target_override: Option<FileTarget>,
},
ShowLinkTooltip(RichContentLinkTooltipInfo),
@@ -5660,7 +5660,7 @@ pub enum AIBlockAction {
is_positive: bool,
},
/// Clear the selections of all other views **except** for the source view that dispatched the event.
/// The `source_view_id` will be `None` if the event is dispatched by the [`warpui::elements::SelectableArea`]
/// The `source_view_id` will be `None` if the event is dispatched by the [`galaxyui::elements::SelectableArea`]
/// instead of a nested view (i.e. code block, requested command, etc.), which means all nested views
/// should have their selections cleared.
ClearOtherSelections {
@@ -6350,7 +6350,7 @@ impl TypedActionView for AIBlock {
});
images.push(ui_components::lightbox::LightboxImage {
source: ui_components::lightbox::LightboxImageSource::Resolved {
asset_source: warpui::assets::asset_cache::AssetSource::Raw {
asset_source: galaxyui::assets::asset_cache::AssetSource::Raw {
id: asset_id,
},
},
+18 -18
View File
@@ -4,30 +4,30 @@ use settings::Setting as _;
use std::sync::Arc;
use std::time::Duration;
use std::{cmp::Ordering, rc::Rc};
use warp_core::features::FeatureFlag;
use warp_core::report_error;
use warp_core::ui::theme::color::internal_colors;
use warpui::elements::new_scrollable::SingleAxisConfig;
use warpui::elements::{
use galaxy_core::features::FeatureFlag;
use galaxy_core::report_error;
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::elements::new_scrollable::SingleAxisConfig;
use galaxyui::elements::{
ClippedScrollStateHandle, ConstrainedBox, Empty, Fill, FormattedTextElement, Highlight,
HighlightedHyperlink, Hoverable, MainAxisAlignment, MainAxisSize, NewScrollable, SavePosition,
SelectableArea, SizeConstraintCondition, SizeConstraintSwitch,
};
use warpui::fonts::Weight;
use warpui::platform::{Cursor, OperatingSystem};
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::fonts::Weight;
use galaxyui::platform::{Cursor, OperatingSystem};
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use lazy_static::lazy_static;
use pathfinder_geometry::vector::vec2f;
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use warp_core::semantic_selection::SemanticSelection;
use warp_core::ui::appearance::Appearance;
use warp_editor::{
use galaxy_core::semantic_selection::SemanticSelection;
use galaxy_core::ui::appearance::Appearance;
use galaxy_editor::{
content::buffer::InitialBufferState, render::element::VerticalExpansionBehavior,
};
use warpui::r#async::Timer;
use warpui::{
use galaxyui::r#async::Timer;
use galaxyui::{
clipboard::ClipboardContent,
elements::{
Border, ChildAnchor, ChildView, Container, CornerRadius, CrossAxisAlignment, DropShadow,
@@ -145,7 +145,7 @@ const HAS_PENDING_NON_TRANSFER_CONTROL_ACTION_CONTEXT_KEY: &str =
const BLOCKED_ACTION_MESSAGE_FOR_TRANSFER_CONTROL: &str = "Agent is asking you to take control.";
pub fn init(app: &mut AppContext) {
use warpui::keymap::{macros::*, FixedBinding};
use galaxyui::keymap::{macros::*, FixedBinding};
app.register_fixed_bindings([
FixedBinding::new(
@@ -964,7 +964,7 @@ impl View for CLISubagentView {
"CLISubagentView"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let terminal_model = self.terminal_model.lock();
let Some(block) = terminal_model.block_list().block_with_id(&self.block_id) else {
return Empty::new().finish();
@@ -1399,7 +1399,7 @@ impl View for CLISubagentView {
result.finish()
}
fn keymap_context(&self, app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
let terminal_model = self.terminal_model.lock();
@@ -1569,7 +1569,7 @@ fn render_action(action: AIAgentActionType, app: &AppContext) -> Option<Box<dyn
let icon = Container::new(
ConstrainedBox::new(
warpui::elements::Icon::new(icon.into(), internal_colors::neutral_5(theme)).finish(),
galaxyui::elements::Icon::new(icon.into(), internal_colors::neutral_5(theme)).finish(),
)
.with_width(icon_size(app))
.with_height(icon_size(app))
@@ -1611,7 +1611,7 @@ fn render_web_search(query: Option<String>, app: &AppContext) -> Box<dyn Element
let icon = Container::new(
ConstrainedBox::new(
warpui::elements::Icon::new(Icon::Search.into(), internal_colors::neutral_5(theme))
galaxyui::elements::Icon::new(Icon::Search.into(), internal_colors::neutral_5(theme))
.finish(),
)
.with_width(icon_size(app))
+2 -2
View File
@@ -4,8 +4,8 @@ use crate::server::telemetry::{CLISubagentControlState, TelemetryEvent};
use instant::Instant;
use parking_lot::FairMutex;
use serde::{Deserialize, Serialize};
use warp_core::send_telemetry_from_ctx;
use warpui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxy_core::send_telemetry_from_ctx;
use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::ai::blocklist::context_model::block_context_from_terminal_model;
use crate::{
@@ -1,5 +1,5 @@
//! Compact free-form text input used by inline AI block actions.
use warpui::{
use galaxyui::{
presenter::ChildView, AppContext, Element, Entity, FocusContext, SingletonEntity, View,
ViewContext, ViewHandle,
};
+2 -2
View File
@@ -42,7 +42,7 @@ impl FindableRichContentView for AIBlock {
fn run_find(
&mut self,
options: &FindOptions,
ctx: &mut warpui::ViewContext<Self>,
ctx: &mut galaxyui::ViewContext<Self>,
) -> Vec<RichContentMatchId> {
self.clear_matches(ctx);
@@ -124,7 +124,7 @@ impl FindableRichContentView for AIBlock {
new_match_ids
}
fn clear_matches(&mut self, ctx: &mut warpui::ViewContext<Self>) {
fn clear_matches(&mut self, ctx: &mut galaxyui::ViewContext<Self>) {
self.find_state.matches.clear();
ctx.notify();
}
@@ -1,6 +1,6 @@
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::color::internal_colors;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::{
elements::{
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex,
MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
@@ -21,7 +21,7 @@ const MARGIN_BETWEEN_BUTTONS: f32 = 4.;
const HAS_OPTIONS: &str = "HasOptions";
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -59,7 +59,7 @@ pub enum KeyboardNavigableButtonsAction {
pub enum KeyboardNavigableButtonsEvent {}
pub type ButtonBuilder = Box<dyn Fn(bool, &warpui::AppContext) -> Button>;
pub type ButtonBuilder = Box<dyn Fn(bool, &galaxyui::AppContext) -> Button>;
pub type OnButtonClickFn = Box<dyn Fn(&mut ViewContext<KeyboardNavigableButtons>)>;
pub struct KeyboardNavigableButtonBuilder {
@@ -70,7 +70,7 @@ pub struct KeyboardNavigableButtonBuilder {
impl KeyboardNavigableButtonBuilder {
pub fn new(
button_builder: impl Fn(bool, &warpui::AppContext) -> Button + 'static,
button_builder: impl Fn(bool, &galaxyui::AppContext) -> Button + 'static,
on_selected: impl Fn(&mut ViewContext<KeyboardNavigableButtons>) + 'static,
) -> Self {
Self {
@@ -83,7 +83,7 @@ impl KeyboardNavigableButtonBuilder {
/// Creates a simple navigation button with standard styling.
/// This is a convenience function for the common case of a text-only button
/// that dispatches an action when clicked.
pub fn simple_navigation_button<A: warpui::Action + Clone + 'static>(
pub fn simple_navigation_button<A: galaxyui::Action + Clone + 'static>(
text_label: String,
mouse_state: MouseStateHandle,
action: A,
@@ -195,7 +195,7 @@ fn build_rich_navigation_label(
let right_element: Box<dyn Element> = if show_enter_indicator {
let enter_icon = ConstrainedBox::new(
Icon::CornerDownLeft
.to_warpui_icon(theme.foreground())
.to_galaxyui_icon(theme.foreground())
.finish(),
)
.with_width(font_size)
@@ -227,7 +227,7 @@ fn build_rich_navigation_label(
/// Creates a keyboard-navigable button with a rich two-line label: a title
/// (with an optional trailing "Recommended" badge) plus an optional muted
/// sub-label underneath.
pub fn rich_navigation_button<A: warpui::Action + Clone + 'static>(
pub fn rich_navigation_button<A: galaxyui::Action + Clone + 'static>(
text_label: String,
sub_label: Option<String>,
recommended: bool,
@@ -306,7 +306,7 @@ impl View for KeyboardNavigableButtons {
"KeyboardNavigableButtons"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let mut content = Flex::column().with_cross_axis_alignment(CrossAxisAlignment::Stretch);
for (index, button_builder) in self.button_builders.iter().enumerate() {
let is_selected = index == self.selected_button_index();
@@ -336,7 +336,7 @@ impl View for KeyboardNavigableButtons {
content.finish()
}
fn keymap_context(&self, _app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, _app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if !self.button_builders.is_empty() {
context.set.insert(HAS_OPTIONS);
+3 -3
View File
@@ -4,7 +4,7 @@ mod model_impl;
pub use helper::AIBlockModelHelper;
pub use model_impl::*;
use session_sharing_protocol::common::ParticipantId;
use warp_core::features::FeatureFlag;
use galaxy_core::features::FeatureFlag;
use crate::ai::{
agent::{
@@ -15,7 +15,7 @@ use crate::ai::{
llms::LLMId,
};
use chrono::TimeDelta;
use warpui::{AppContext, ViewContext};
use galaxyui::{AppContext, ViewContext};
#[derive(Debug, Clone, Copy)]
pub enum PassiveRequestType {
@@ -220,7 +220,7 @@ pub trait AIBlockModel {
#[cfg(any(test, feature = "integration_tests"))]
pub mod testing {
use warpui::{AppContext, ViewContext};
use galaxyui::{AppContext, ViewContext};
use crate::ai::{
agent::{
@@ -1,4 +1,4 @@
use warpui::{AppContext, ViewContext};
use galaxyui::{AppContext, ViewContext};
use crate::ai::{
agent::{
+1 -1
View File
@@ -1,4 +1,4 @@
use warpui::{AppContext, EntityId, ModelHandle, SingletonEntity};
use galaxyui::{AppContext, EntityId, ModelHandle, SingletonEntity};
use crate::{
ai::{
@@ -4,7 +4,7 @@ use anyhow::{anyhow, Result};
use chrono::{Local, TimeDelta};
use history_model::{BlocklistAIHistoryEvent, BlocklistAIHistoryModel};
use session_sharing_protocol::common::ParticipantId;
use warpui::{AppContext, SingletonEntity, View, ViewContext};
use galaxyui::{AppContext, SingletonEntity, View, ViewContext};
use crate::ai::{
agent::{
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{
ClippedScrollStateHandle, Container, CrossAxisAlignment, DispatchEventResult, EventHandler,
Flex, Hoverable, MouseInBehavior, MouseStateHandle, ParentElement, SavePosition,
@@ -19,7 +19,7 @@ const KEYBOARD_NAVIGATION_ENABLED: &str = "KeyboardNavigationEnabled";
const ENTER_ACTIVATION_ENABLED: &str = "EnterActivationEnabled";
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
for i in 1..=9u8 {
app.register_fixed_bindings([FixedBinding::new(
@@ -76,7 +76,7 @@ pub enum NumberShortcutButtonsAction {
pub enum NumberShortcutButtonsEvent {}
pub type ButtonBuilder = Box<dyn Fn(bool, &warpui::AppContext) -> Button>;
pub type ButtonBuilder = Box<dyn Fn(bool, &galaxyui::AppContext) -> Button>;
pub type OnButtonClickFn = Box<dyn Fn(&mut ViewContext<NumberShortcutButtons>)>;
#[derive(Clone, Default)]
@@ -122,7 +122,7 @@ pub struct NumberShortcutButtonBuilder {
impl NumberShortcutButtonBuilder {
pub fn new(
button_builder: impl Fn(bool, &warpui::AppContext) -> Button + 'static,
button_builder: impl Fn(bool, &galaxyui::AppContext) -> Button + 'static,
on_click: impl Fn(&mut ViewContext<NumberShortcutButtons>) + 'static,
) -> Self {
Self {
@@ -132,7 +132,7 @@ impl NumberShortcutButtonBuilder {
}
}
pub fn numbered_shortcut_button<A: warpui::Action + Clone + 'static>(
pub fn numbered_shortcut_button<A: galaxyui::Action + Clone + 'static>(
number: usize,
text_label: String,
is_checked: bool,
@@ -307,7 +307,7 @@ impl View for NumberShortcutButtons {
"NumberShortcutButtons"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
Hoverable::new(self.mouse_state.clone(), |_| {
let mut content = Flex::column().with_cross_axis_alignment(CrossAxisAlignment::Stretch);
for (index, button_builder) in self.button_builders.iter().enumerate() {
@@ -357,7 +357,7 @@ impl View for NumberShortcutButtons {
.finish()
}
fn keymap_context(&self, app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if !self.button_builders.is_empty() && self.keyboard_shortcuts_enabled(app) {
context.set.insert(NUMBER_SELECT_ENABLED);
@@ -1,7 +1,7 @@
use pathfinder_geometry::vector::{vec2f, Vector2F};
use std::{cell::RefCell, rc::Rc};
use warp_core::ui::appearance::Appearance;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{
elements::{
new_scrollable::SingleAxisConfig, ChildView, Clipped, ClippedScrollStateHandle,
ConstrainedBox, Fill,
@@ -71,8 +71,8 @@ impl View for TestView {
"NumberShortcutButtonsTestView"
}
fn render(&self, _app: &warpui::AppContext) -> Box<dyn warpui::Element> {
let scrollable = warpui::elements::NewScrollable::vertical(
fn render(&self, _app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let scrollable = galaxyui::elements::NewScrollable::vertical(
SingleAxisConfig::Clipped {
handle: self.scroll_state.clone(),
child: ChildView::new(&self.buttons).finish(),
@@ -1,7 +1,7 @@
use crate::context_chips::spacing;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::color::internal_colors;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::{
elements::{
Border, Container, CornerRadius, CrossAxisAlignment, Expanded, Flex, FormattedTextElement,
MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
@@ -176,5 +176,5 @@ pub(super) fn build_text_button_content(
pub(super) fn build_inline_input_content(
input_view: &ViewHandle<CompactAgentInput>,
) -> Box<dyn Element> {
warpui::presenter::ChildView::new(input_view).finish()
galaxyui::presenter::ChildView::new(input_view).finish()
}
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{ChildView, Container, CrossAxisAlignment, Expanded, Flex, ParentElement, Text},
fonts::{Properties, Style, Weight},
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
@@ -2,8 +2,8 @@ use std::collections::HashMap;
use itertools::Itertools;
use similar::DiffableStr;
use warpui::elements::{MouseStateHandle, PartialClickableElement, SecretRange};
use warpui::platform::Cursor;
use galaxyui::elements::{MouseStateHandle, PartialClickableElement, SecretRange};
use galaxyui::platform::Cursor;
use crate::ai::agent::{AIAgentOutput, AIAgentTextSection, AgentOutputText};
use crate::terminal::model::secrets::{SecretLevel, REGEX_LEVEL_METADATA, SECRETS_REGEX};
@@ -1,7 +1,7 @@
use regex::Regex;
use serial_test::serial;
use warpui::elements::Text;
use warpui::fonts::FamilyId;
use galaxyui::elements::Text;
use galaxyui::fonts::FamilyId;
use crate::terminal::model::secrets::{self, SecretLevel};
+8 -8
View File
@@ -70,12 +70,12 @@ use crate::{
use instant::Instant;
use parking_lot::FairMutex;
use pathfinder_color::ColorU;
use warp_core::{
use galaxy_core::{
features::FeatureFlag,
ui::{appearance::Appearance, theme::Fill, Icon as CoreIcon},
};
use warpui::elements::shimmering_text::ShimmeringTextStateHandle;
use warpui::{
use galaxyui::elements::shimmering_text::ShimmeringTextStateHandle;
use galaxyui::{
elements::{Border, Container, Empty, Flex, MouseStateHandle, ParentElement, Text},
keymap::Keystroke,
presenter::ChildView,
@@ -83,7 +83,7 @@ use warpui::{
AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity, View, ViewContext,
ViewHandle,
};
use warpui::{r#async::Timer, TypedActionView};
use galaxyui::{r#async::Timer, TypedActionView};
pub fn init(app: &mut AppContext) {
summarization_cancel_dialog::init(app);
@@ -990,7 +990,7 @@ fn latest_model_used_before_exchange<V: View>(
fn render_agent_tip(tip: &AgentTip, app: &AppContext) -> Box<dyn Element> {
use crate::ai::agent_tips::AITip;
use markdown_parser::{FormattedTextFragment, FormattedTextLine};
use warpui::text_layout::ClipConfig;
use galaxyui::text_layout::ClipConfig;
let appearance = Appearance::as_ref(app);
let theme = appearance.theme();
@@ -1010,7 +1010,7 @@ fn render_agent_tip(tip: &AgentTip, app: &AppContext) -> Box<dyn Element> {
let formatted_text =
markdown_parser::FormattedText::new(vec![FormattedTextLine::Line(fragments)]);
warpui::elements::FormattedTextElement::new(
galaxyui::elements::FormattedTextElement::new(
formatted_text,
appearance.monospace_font_size() - 3.,
appearance.ui_font_family(),
@@ -1022,7 +1022,7 @@ fn render_agent_tip(tip: &AgentTip, app: &AppContext) -> Box<dyn Element> {
.set_selectable(true)
.with_clip(ClipConfig::ellipsis())
.register_default_click_handlers_with_action_support(move |link, evt, app| {
use warpui::elements::HyperlinkLens;
use galaxyui::elements::HyperlinkLens;
match link {
HyperlinkLens::Url(url) => {
send_telemetry_from_app_ctx!(
@@ -1130,7 +1130,7 @@ impl View for BlocklistAIStatusBar {
"BlocklistAIStatusBar"
}
fn render(&self, app: &AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &AppContext) -> Box<dyn galaxyui::Element> {
let appearance = Appearance::as_ref(app);
let agent_view_controller = self.agent_view_controller.as_ref(app);
if let Some(cloud_mode_setup_terminal_message) =
@@ -1,6 +1,6 @@
use crate::appearance::Appearance;
use crate::ui_components::blended_colors;
use warpui::{
use galaxyui::{
elements::{
Border, Container, CornerRadius, CrossAxisAlignment, Expanded, Flex, Hoverable,
MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius,
@@ -123,7 +123,7 @@ impl<T: 'static> View for ToggleableItemsView<T> {
"ToggleableItemsView"
}
fn keymap_context(&self, _app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, _app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if !self.items.is_empty() {
context.set.insert(HAS_ITEMS);
+20 -20
View File
@@ -33,18 +33,18 @@ use common::get_highlight_ranges_for_find_matches;
use pathfinder_color::ColorU;
use settings::Setting as _;
use std::collections::{HashMap, HashSet};
use warp_core::features::FeatureFlag;
use warp_core::semantic_selection::SemanticSelection;
use warpui::elements::{
use galaxy_core::features::FeatureFlag;
use galaxy_core::semantic_selection::SemanticSelection;
use galaxyui::elements::{
Align, ConstrainedBox, CornerRadius, CrossAxisAlignment, Empty, Expanded, FormattedTextElement,
Hoverable, MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius, SavePosition,
SelectableArea,
};
use warpui::{
use galaxyui::{
elements::{Border, Container, Flex, ParentElement},
AppContext, Element, SingletonEntity,
};
use warpui::{View, ViewContext};
use galaxyui::{View, ViewContext};
use crate::ai::agent::AIAgentCitation;
use crate::ai::agent::AIAgentInput;
@@ -83,22 +83,22 @@ use crate::ui_components::icons::Icon;
use crate::util::link_detection::DetectedLinkType;
use crate::workspace::WorkspaceAction;
use itertools::Itertools;
use warp_core::ui::color::contrast::{
use galaxy_core::ui::color::contrast::{
foreground_color_with_minimum_contrast, MinimumAllowedContrast,
};
use warp_core::ui::color::Rgb;
use warp_core::ui::theme::{Fill, WarpTheme};
use warpui::elements::{Highlight, HighlightedRange, Text};
use warpui::fonts::Properties;
use warpui::platform::Cursor;
use warpui::text_layout::TextStyle;
use warpui::ui_components::components::UiComponent;
use galaxy_core::ui::color::Rgb;
use galaxy_core::ui::theme::{Fill, WarpTheme};
use galaxyui::elements::{Highlight, HighlightedRange, Text};
use galaxyui::fonts::Properties;
use galaxyui::platform::Cursor;
use galaxyui::text_layout::TextStyle;
use galaxyui::ui_components::components::UiComponent;
/// Helper function to create gray strikethrough highlight for secrets
fn create_secret_gray_highlight() -> Highlight {
Highlight::new().with_text_style(
TextStyle::new()
.with_foreground_color(warpui::color::ColorU::new(128, 128, 128, 255))
.with_foreground_color(galaxyui::color::ColorU::new(128, 128, 128, 255))
.with_show_strikethrough(true),
)
}
@@ -137,7 +137,7 @@ fn add_slash_command_highlight(
let current_properties = existing.properties();
let mut bold_properties = current_properties;
bold_properties.weight = warpui::fonts::Weight::Bold;
bold_properties.weight = galaxyui::fonts::Weight::Bold;
Highlight::new()
.with_text_style(updated_style)
@@ -145,7 +145,7 @@ fn add_slash_command_highlight(
} else {
// Create new highlight with default properties and bold weight
let default_properties = Properties {
weight: warpui::fonts::Weight::Bold,
weight: galaxyui::fonts::Weight::Bold,
..Default::default()
};
Highlight::new()
@@ -693,13 +693,13 @@ pub fn render_citation(
)
}
AIAgentCitation::WarpDocumentation { .. } => {
let icon = Icon::Warp.to_warpui_icon(theme.foreground()).finish();
let icon = Icon::Warp.to_galaxyui_icon(theme.foreground()).finish();
let name = String::from("Warp Docs");
(Some(icon), name)
}
AIAgentCitation::WebPage { url } => {
let icon = Icon::LinkExternal
.to_warpui_icon(theme.foreground())
.to_galaxyui_icon(theme.foreground())
.finish();
let name = url.clone();
(Some(icon), name)
@@ -1225,13 +1225,13 @@ impl View for AIBlock {
selectable.finish()
}
fn on_focus(&mut self, focus_ctx: &warpui::FocusContext, ctx: &mut ViewContext<Self>) {
fn on_focus(&mut self, focus_ctx: &galaxyui::FocusContext, ctx: &mut ViewContext<Self>) {
if focus_ctx.is_self_focused() {
self.focus_subview_if_necessary(ctx);
}
}
fn keymap_context(&self, app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if self
@@ -2,14 +2,14 @@ use crate::ai::agent::comment::ReviewComment;
use crate::ai::agent::icons::addressed_comment_icon;
use crate::ai::blocklist::block::CommentElementState;
use crate::code_review::comments::ReviewCommentBatch;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::color::internal_colors;
use warp_core::ui::Icon;
use warpui::elements::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::ui::Icon;
use galaxyui::elements::{
Axis, Border, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty,
Expanded, Flex, Hoverable, MouseState, ParentElement, Radius, Text, Wrap, WrapFillEntireRun,
};
use warpui::{AppContext, Element, SingletonEntity};
use galaxyui::{AppContext, Element, SingletonEntity};
const COMMENT_CHIP_MAX_HEIGHT: f32 = 200.;
@@ -162,7 +162,7 @@ fn comment_icon(is_addressed: bool, appearance: &Appearance) -> Box<dyn Element>
addressed_comment_icon(appearance).finish()
} else {
Icon::MessageText
.to_warpui_icon(
.to_galaxyui_icon(
appearance
.theme()
.sub_text_color(appearance.theme().background()),
+22 -22
View File
@@ -16,11 +16,11 @@ use markdown_parser::{FormattedText, FormattedTextInline, TableAlignment};
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use std::sync::Arc;
use warp_core::{
use galaxy_core::{
features::FeatureFlag,
ui::{appearance::Appearance, color::blend::Blend, theme::color::internal_colors},
};
use warpui::{
use galaxyui::{
assets::asset_cache::{AssetCache, AssetSource, AssetState},
elements::{
new_scrollable::{ScrollableAppearance, SingleAxisConfig},
@@ -113,13 +113,13 @@ use crate::{
search::slash_command_menu::static_commands::commands,
settings::{FontSettings, InputSettings},
};
use warp_core::channel::ChannelState;
use warp_editor::content::{
use galaxy_core::channel::ChannelState;
use galaxy_editor::content::{
edit::resolve_asset_source_relative_to_directory, mermaid_diagram::mermaid_asset_source,
};
use warp_util::path::to_relative_path;
use warpui::elements::shimmering_text::ShimmeringTextStateHandle;
use warpui::elements::{Highlight, HighlightedRange};
use galaxy_util::path::to_relative_path;
use galaxyui::elements::shimmering_text::ShimmeringTextStateHandle;
use galaxyui::elements::{Highlight, HighlightedRange};
pub const STATUS_ICON_SIZE_DELTA: f32 = 4.;
pub const STATUS_FOOTER_VERTICAL_PADDING: f32 = 4.;
@@ -854,7 +854,7 @@ fn render_queue_next_prompt_button(
};
let icon_size = get_icon_size(appearance);
let icon = Container::new(
ConstrainedBox::new(Icon::ClockPlus.to_warpui_icon(icon_color).finish())
ConstrainedBox::new(Icon::ClockPlus.to_galaxyui_icon(icon_color).finish())
.with_height(icon_size)
.with_width(icon_size)
.finish(),
@@ -889,7 +889,7 @@ fn render_auto_approve_button(props: ButtonProps, appearance: &Appearance) -> Bo
let icon_size = get_icon_size(appearance);
let icon = Container::new(
ConstrainedBox::new(
icon.to_warpui_icon(appearance.theme().active_ui_text_color())
icon.to_galaxyui_icon(appearance.theme().active_ui_text_color())
.finish(),
)
.with_height(icon_size)
@@ -1009,7 +1009,7 @@ where
.with_child(content)
.with_spacing(4.0);
if !warpui::platform::is_mobile_device() {
if !galaxyui::platform::is_mobile_device() {
let keybinding_string = keybinding.map(|k| k.displayed()).unwrap_or_default();
let keybinding_label = Text::new_inline(
keybinding_string,
@@ -2183,8 +2183,8 @@ fn render_visual_markdown_block<A: Action>(
tooltip,
mouse_state,
content,
warpui::elements::ParentAnchor::TopMiddle,
warpui::elements::ChildAnchor::BottomMiddle,
galaxyui::elements::ParentAnchor::TopMiddle,
galaxyui::elements::ChildAnchor::BottomMiddle,
// Small negative Y offset keeps a hairline gap between the
// tooltip's bottom edge and the image's top edge without
// floating noticeably above the image.
@@ -2232,7 +2232,7 @@ fn render_visual_card(
let theme = appearance.theme();
let header_background = theme.surface_2();
let header_text_color = blended_colors::text_main(theme, header_background);
let header_icon = ConstrainedBox::new(icon.to_warpui_icon(header_text_color.into()).finish())
let header_icon = ConstrainedBox::new(icon.to_galaxyui_icon(header_text_color.into()).finish())
.with_width(16.)
.with_height(16.)
.finish();
@@ -2444,7 +2444,7 @@ fn render_table_section(
row_dividers: table_appearance.row_dividers,
cell_padding,
header_background: table_appearance.header_background,
row_background: warpui::elements::RowBackground {
row_background: galaxyui::elements::RowBackground {
primary: table_appearance.cell_background,
alternating: table_appearance.alternate_row_background,
},
@@ -2548,7 +2548,7 @@ fn render_table_cell(props: TableCellProps, app: &AppContext) -> Box<dyn Element
struct TableCellProps {
cell: FormattedTextInline,
alignment: TableAlignment,
font_family: warpui::fonts::FamilyId,
font_family: galaxyui::fonts::FamilyId,
font_size: f32,
font_weight: Weight,
text_color: ColorU,
@@ -2907,7 +2907,7 @@ pub(crate) fn resolve_absolute_file_path(
shell_launch_data: Option<&ShellLaunchData>,
home_dir: PathBuf,
) -> Option<PathBuf> {
use warp_util::path::CleanPathResult;
use galaxy_util::path::CleanPathResult;
use crate::util::file::{absolute_path_if_valid, ShellPathType};
@@ -3015,7 +3015,7 @@ pub fn render_failed_output(props: FailedOutputProps, app: &AppContext) -> Box<d
.with_child(
Container::new(
ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::AlertTriangle.into(),
error_color(appearance.theme()),
)
@@ -3066,7 +3066,7 @@ fn render_invalid_api_key_error(
let alert_icon = ConstrainedBox::new(
Icon::AlertTriangle
.to_warpui_icon(error_color(appearance.theme()).into())
.to_galaxyui_icon(error_color(appearance.theme()).into())
.finish(),
)
.with_width(icon_size(app))
@@ -3100,7 +3100,7 @@ fn render_invalid_api_key_error(
let settings_button = appearance
.ui_builder()
.button(
warpui::ui_components::button::ButtonVariant::Outlined,
galaxyui::ui_components::button::ButtonVariant::Outlined,
state_handle.clone(),
)
.with_style(UiComponentStyles {
@@ -3245,7 +3245,7 @@ pub(crate) fn render_debug_footer<V: View>(
appearance
.ui_builder()
.button(
warpui::ui_components::button::ButtonVariant::Text,
galaxyui::ui_components::button::ButtonVariant::Text,
props.submit_issue_button_handle,
)
.with_centered_text_label("Send Feedback".to_string())
@@ -3311,8 +3311,8 @@ pub(crate) fn render_debug_footer<V: View>(
"Copy debug ID".to_string(),
props.debug_copy_button_handle,
copy_button,
warpui::elements::ParentAnchor::TopRight,
warpui::elements::ChildAnchor::BottomRight,
galaxyui::elements::ParentAnchor::TopRight,
galaxyui::elements::ChildAnchor::BottomRight,
vec2f(0., -8.),
);
@@ -3,8 +3,8 @@ use std::{collections::HashMap, path::PathBuf, sync::Arc};
use ai::skills::{ParsedSkill, SkillProvider, SkillScope};
#[cfg(feature = "local_fs")]
use warpui::assets::asset_cache::AssetSource;
use warpui::App;
use galaxyui::assets::asset_cache::AssetSource;
use galaxyui::App;
#[cfg(feature = "local_fs")]
use super::{blocklist_image_asset_source, ResolvedBlocklistImageSources};
@@ -23,7 +23,7 @@ use crate::{
search::slash_command_menu::static_commands::commands,
};
use ui_components::lightbox::{LightboxImage, LightboxImageSource};
use warpui::{elements::Empty, Element};
use galaxyui::{elements::Empty, Element};
#[test]
fn query_prefix_highlight_len_highlights_invoke_skill_inputs() {
@@ -1,12 +1,12 @@
//! Renders the AI block "header", which includes a version of the AI "prompt" as it was rendered
//! when the query was submitted.
use warp_core::features::FeatureFlag;
use warp_util::path::user_friendly_path;
use warpui::elements::MouseStateHandle;
use warpui::elements::{ChildView, Hoverable, SavePosition};
use warpui::platform::Cursor;
use warpui::EntityId;
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxy_util::path::user_friendly_path;
use galaxyui::elements::MouseStateHandle;
use galaxyui::elements::{ChildView, Hoverable, SavePosition};
use galaxyui::platform::Cursor;
use galaxyui::EntityId;
use galaxyui::{
elements::{
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, MainAxisAlignment,
MainAxisSize, ParentElement, Radius, Text,
@@ -26,7 +26,7 @@ use crate::terminal::view::{TerminalAction, WARP_PROMPT_HEIGHT_LINES};
use crate::ui_components::blended_colors;
use crate::ui_components::icons::Icon;
use crate::view_components::action_button::ActionButton;
use warpui::elements::Icon as ElementIcon;
use galaxyui::elements::Icon as ElementIcon;
/// Data required to render the AI block header.
pub(super) struct Props<'a> {
@@ -163,7 +163,7 @@ fn render_attached_context_chip(
Container::new(
ConstrainedBox::new(
Icon::Paperclip
.to_warpui_icon(block_count_color.into())
.to_galaxyui_icon(block_count_color.into())
.finish(),
)
.with_height(font_size)
@@ -1,7 +1,7 @@
use crate::ai::blocklist::block::ImportedCommentGroup;
use warpui::elements::{CrossAxisAlignment, Flex, ParentElement};
use warpui::prelude::ChildView;
use warpui::{AppContext, Element};
use galaxyui::elements::{CrossAxisAlignment, Flex, ParentElement};
use galaxyui::prelude::ChildView;
use galaxyui::{AppContext, Element};
pub(crate) fn render_imported_comments(
group: &ImportedCommentGroup,
@@ -1,15 +1,15 @@
//! Rendering functions for orchestration-related output items (messaging & agent management).
use pathfinder_color::ColorU;
use warpui::elements::{
use galaxyui::elements::{
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex, Hoverable,
MouseStateHandle, ParentElement, Radius, Text,
};
use warpui::platform::Cursor;
use warpui::{AppContext, Element, SingletonEntity};
use galaxyui::platform::Cursor;
use galaxyui::{AppContext, Element, SingletonEntity};
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use warpui::elements::FormattedTextElement;
use galaxyui::elements::FormattedTextElement;
use crate::ai::agent::conversation::{AIConversation, AIConversationId, ConversationStatus};
use crate::ai::agent::{
@@ -655,7 +655,7 @@ fn render_collapse_chevron(
Some(
Hoverable::new(toggle_mouse_state, move |_| {
ConstrainedBox::new(chevron_icon.to_warpui_icon(text_color).finish())
ConstrainedBox::new(chevron_icon.to_galaxyui_icon(text_color).finish())
.with_width(icon_sz)
.with_height(icon_sz)
.finish()
@@ -2,9 +2,9 @@ use crate::ai::agent::conversation::{AIConversationId, ConversationStatus};
use crate::ai::agent::{StartAgentExecutionMode, StartAgentResult};
use crate::BlocklistAIHistoryModel;
use ai::agent::action_result::StartAgentVersion;
use warp_core::ui::appearance::Appearance;
use warpui::elements::MouseStateHandle;
use warpui::{App, EntityId};
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::MouseStateHandle;
use galaxyui::{App, EntityId};
use super::{
agent_display_name_from_id, child_conversation_card_data_for_result,
+15 -15
View File
@@ -41,14 +41,14 @@ use ai::skills::SkillReference;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use ui_components::{button, Component as _, Options as _};
use warp_core::ui::theme::color::internal_colors;
use galaxy_core::ui::theme::color::internal_colors;
#[allow(unused_imports)]
use warp_util::path::{common_path, CleanPathResult};
use warpui::elements::new_scrollable::SingleAxisConfig;
use warpui::elements::{
use galaxy_util::path::{common_path, CleanPathResult};
use galaxyui::elements::new_scrollable::SingleAxisConfig;
use galaxyui::elements::{
ChildAnchor, NewScrollable, OffsetPositioning, ParentAnchor, ParentOffsetBounds, Stack,
};
use warpui::EntityId;
use galaxyui::EntityId;
use crate::ai::blocklist::block::{
CollapsibleElementState, CollapsibleExpansionState, FinishReason, ImportedCommentGroup,
@@ -110,7 +110,7 @@ use crate::{
};
use itertools::Itertools;
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use warp_core::channel::ChannelState;
use galaxy_core::channel::ChannelState;
use super::common::{
format_elapsed_seconds, render_debug_footer, render_failed_output, render_informational_footer,
@@ -127,7 +127,7 @@ use super::{
render_citation_chips, todos::render_completed_todo_items, WithContentItemSpacing,
CONTENT_ITEM_VERTICAL_MARGIN,
};
use warpui::{
use galaxyui::{
elements::{
Align, Border, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
Empty, Expanded, Fill, Flex, FormattedTextElement, Hoverable, MainAxisAlignment,
@@ -1936,7 +1936,7 @@ fn render_stopped_output(props: Props, app: &AppContext) -> Box<dyn Element> {
let ui_builder = appearance.ui_builder().clone();
let play_icon = Container::new(
ConstrainedBox::new(Icon::Play.to_warpui_icon(theme.foreground()).finish())
ConstrainedBox::new(Icon::Play.to_galaxyui_icon(theme.foreground()).finish())
.with_height(appearance.ui_font_size() + 1.)
.with_width(appearance.ui_font_size() + 1.)
.finish(),
@@ -1988,7 +1988,7 @@ fn render_stopped_output(props: Props, app: &AppContext) -> Box<dyn Element> {
.set_background(internal_colors::fg_overlay_3(theme).into()),
);
let resume_button = warpui::ui_components::button::Button::new(
let resume_button = galaxyui::ui_components::button::Button::new(
props.state_handles.resume_conversation_handle.clone(),
button_styles,
Some(hovered_styles),
@@ -2175,7 +2175,7 @@ fn render_suggest_new_conversation(
),
SuggestNewConversationResult::Rejected => (
"Continuing current conversation",
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::FlipForward.into(),
internal_colors::neutral_6(theme),
)
@@ -2832,7 +2832,7 @@ fn render_references_footer(
.finish(),
)
.with_child(
ConstrainedBox::new(chevron.to_warpui_icon(title_row_color).finish())
ConstrainedBox::new(chevron.to_galaxyui_icon(title_row_color).finish())
.with_height(icon_size(app) - 2.)
.with_width(icon_size(app) - 2.)
.finish(),
@@ -3247,7 +3247,7 @@ fn render_usage_button(props: Props, app: &AppContext) -> Box<dyn Element> {
// Expansion icon
ConstrainedBox::new(
expansion_icon
.to_warpui_icon(
.to_galaxyui_icon(
appearance
.theme()
.sub_text_color(appearance.theme().background()),
@@ -3312,7 +3312,7 @@ pub fn action_icon<V: View>(
action_model: &ModelHandle<BlocklistAIActionModel>,
ai_block_model: &dyn AIBlockModel<View = V>,
app: &AppContext,
) -> warpui::elements::Icon {
) -> galaxyui::elements::Icon {
let appearance = Appearance::as_ref(app);
let status = action_model.as_ref(app).get_action_status(action_id);
match status {
@@ -3412,7 +3412,7 @@ fn render_collapsible_header(
)
.with_child(
Container::new(
ConstrainedBox::new(chevron_icon.to_warpui_icon(text_color.into()).finish())
ConstrainedBox::new(chevron_icon.to_galaxyui_icon(text_color.into()).finish())
.with_width(icon_size - 2.)
.with_height(icon_size - 2.)
.finish(),
@@ -3627,7 +3627,7 @@ fn render_collapsible_debug_output(
// Chevron icon
row.add_child(
Container::new(
ConstrainedBox::new(chevron_icon.to_warpui_icon(text_color.into()).finish())
ConstrainedBox::new(chevron_icon.to_galaxyui_icon(text_color.into()).finish())
.with_width(icon_size - 2.)
.with_height(icon_size - 2.)
.finish(),
@@ -2,8 +2,8 @@
//!
//! Queries are not rendered in blocks corresponding to requested command or requested action responses.
use warp_core::{features::FeatureFlag, ui::theme::color::internal_colors};
use warpui::{
use galaxy_core::{features::FeatureFlag, ui::theme::color::internal_colors};
use galaxyui::{
elements::{
Container, CornerRadius, Flex, MainAxisAlignment, MainAxisSize, ParentElement, Radius,
Shrinkable, Wrap,
@@ -116,7 +116,7 @@ pub(crate) fn render_query(
}
Flex::row()
.with_cross_axis_alignment(warpui::elements::CrossAxisAlignment::Start)
.with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Start)
.with_child(avatar)
.with_child(Shrinkable::new(1., query.finish()).finish())
.finish()
@@ -153,7 +153,7 @@ fn render_attachments(
..Default::default()
},
)
.with_icon(icon.to_warpui_icon(
.with_icon(icon.to_galaxyui_icon(
blended_colors::text_sub(appearance.theme(), appearance.theme().background()).into(),
))
.build()
@@ -1,8 +1,8 @@
//! Rendering logic for todo list components in AI blocks.
use warpui::fonts::Properties;
use warpui::text_layout::TextStyle;
use warpui::{
use galaxyui::fonts::Properties;
use galaxyui::text_layout::TextStyle;
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex,
Highlight, ParentElement, Radius, Shrinkable, Text,
@@ -169,9 +169,9 @@ pub(super) fn render_completed_todo_items(
// Create a check mark icon
let check_icon = Container::new(
ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::Check.into(),
warp_core::ui::theme::Fill::Solid(sub_text_color),
galaxy_core::ui::theme::Fill::Solid(sub_text_color),
)
.finish(),
)
+1 -1
View File
@@ -2,7 +2,7 @@ use super::{CollapsibleElementState, CollapsibleExpansionState};
use crate::settings::AISettings;
use crate::test_util::settings::initialize_settings_for_tests;
use settings::Setting;
use warpui::{App, SingletonEntity};
use galaxyui::{App, SingletonEntity};
#[test]
fn reasoning_auto_collapses_when_user_has_not_manually_toggled() {
+4 -4
View File
@@ -6,9 +6,9 @@ use crate::code::editor_management::CodeSource;
use crate::search::files::icon::icon_from_file_path;
use crate::search::ItemHighlightState;
use std::iter;
use warp_core::ui::theme::Fill;
use warpui::elements::{ChildView, HighlightedRange, MouseStateHandle};
use warpui::{
use galaxy_core::ui::theme::Fill;
use galaxyui::elements::{ChildView, HighlightedRange, MouseStateHandle};
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Expanded, Flex,
MainAxisAlignment, MainAxisSize, ParentElement, Radius, Shrinkable, Text,
@@ -16,7 +16,7 @@ use warpui::{
ui_components::components::UiComponent,
AppContext, Element, SingletonEntity,
};
use warpui::{EventContext, ViewHandle};
use galaxyui::{EventContext, ViewHandle};
use crate::code::editor::view::CodeEditorView;
use crate::ui_components::blended_colors;
@@ -4,10 +4,10 @@ use crate::appearance::Appearance;
use crate::terminal::view::{InlineBannerId, TerminalAction};
use crate::ui_components::blended_colors;
use crate::ui_components::icons::Icon;
use warpui::elements::{Align, ConstrainedBox};
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::Coords;
use warpui::{
use galaxyui::elements::{Align, ConstrainedBox};
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::Coords;
use galaxyui::{
elements::{
Container, CrossAxisAlignment, Flex, MainAxisSize, MouseStateHandle, ParentElement,
Shrinkable,
@@ -150,7 +150,7 @@ impl CodebaseIndexSpeedbumpBannerState {
let info_icon = Container::new(
ConstrainedBox::new(
Icon::Info
.to_warpui_icon(theme.active_ui_text_color())
.to_galaxyui_icon(theme.active_ui_text_color())
.finish(),
)
.with_width(appearance.ui_font_size() * 1.2)
+3 -3
View File
@@ -16,8 +16,8 @@ use crate::ai::{
use super::agent_view::{AgentViewController, AgentViewEntryOrigin, EnterAgentViewError};
use ai::project_context::model::ProjectContextModel;
use parking_lot::FairMutex;
use warp_core::features::FeatureFlag;
use warpui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxy_core::features::FeatureFlag;
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use crate::ai::agent::conversation::{AIConversationAutoexecuteMode, ConversationStatus};
use crate::{
@@ -294,7 +294,7 @@ impl BlocklistAIContextModel {
// In sandboxed/autonomous mode (SDK mode with --sandboxed flag), automatically set
// conversations to RunToCompletion mode so they don't wait for user confirmation.
let pending_query_state =
if warp_core::execution_mode::AppExecutionMode::as_ref(ctx).is_sandboxed() {
if galaxy_core::execution_mode::AppExecutionMode::as_ref(ctx).is_sandboxed() {
PendingQueryState::New {
autoexecute_override: AIConversationAutoexecuteMode::RunToCompletion,
}
+4 -4
View File
@@ -74,12 +74,12 @@ use session_sharing_protocol::common::ParticipantId;
use std::collections::{HashMap, HashSet};
use std::sync::Arc;
use std::time::Duration;
use warp_core::assertions::safe_assert;
use galaxy_core::assertions::safe_assert;
use warp_multi_agent_api::{message, Task, ToolType};
use warpui::r#async::{SpawnedFutureHandle, Timer};
use galaxyui::r#async::{SpawnedFutureHandle, Timer};
use super::orchestration_events::{OrchestrationEventService, OrchestrationEventServiceEvent};
use warpui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
#[derive(Debug, Clone)]
pub struct SessionContext {
@@ -111,7 +111,7 @@ impl SessionContext {
/// Returns the remote host ID if this is a `WarpifiedRemote` session with
/// a connected `RemoteServerClient`.
pub fn host_id(&self) -> Option<&warp_core::HostId> {
pub fn host_id(&self) -> Option<&galaxy_core::HostId> {
match &self.session_type {
Some(SessionType::WarpifiedRemote { host_id }) => host_id.as_ref(),
Some(SessionType::Local) | None => None,
@@ -4,8 +4,8 @@ use ai::index::full_source_code_embedding::manager::CodebaseIndexManager;
use chrono::Local;
use lazy_static::lazy_static;
use regex::Regex;
use warp_core::features::FeatureFlag;
use warpui::{AppContext, SingletonEntity};
use galaxy_core::features::FeatureFlag;
use galaxyui::{AppContext, SingletonEntity};
use crate::{
ai::{
@@ -31,7 +31,7 @@ use crate::{
TerminalView,
},
};
use warp_graphql::generic_string_object::GenericStringObjectFormat as GraphQLFormat;
use galaxy_graphql::generic_string_object::GenericStringObjectFormat as GraphQLFormat;
lazy_static! {
// Regex to match <block:[block_id]> patterns
@@ -1,7 +1,7 @@
use std::collections::HashMap;
use itertools::Itertools;
use warpui::{AppContext, ModelContext, ModelHandle, SingletonEntity};
use galaxyui::{AppContext, ModelContext, ModelHandle, SingletonEntity};
use crate::{
ai::agent::{conversation::AIConversationId, CancellationReason},
@@ -5,7 +5,7 @@ use chrono::{DateTime, Local, TimeDelta};
use futures::channel::oneshot;
use uuid::Uuid;
use warp_multi_agent_api::response_event;
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::{
ai::{
@@ -121,15 +121,20 @@ impl ResponseStream {
let request_id = Uuid::new_v4();
let bedrock_config = Self::bedrock_config_if_applicable(params.model.as_str(), ctx);
let params_clone = params.clone();
let _ =
ctx.spawn(
async move {
generate_multi_agent_output(server_api, bedrock_config, params_clone, cancellation_rx).await
},
move |me, stream, ctx| {
me.handle_response_stream_result(request_id, stream, ctx);
},
);
let _ = ctx.spawn(
async move {
generate_multi_agent_output(
server_api,
bedrock_config,
params_clone,
cancellation_rx,
)
.await
},
move |me, stream, ctx| {
me.handle_response_stream_result(request_id, stream, ctx);
},
);
Self {
id: ResponseStreamId(Uuid::new_v4().to_string()),
params: params.clone(),
@@ -188,7 +193,10 @@ impl ResponseStream {
let bedrock_config = Self::bedrock_config_if_applicable(params.model.as_str(), ctx);
let server_api = ServerApiProvider::as_ref(ctx).get();
let _ = ctx.spawn(
async move { generate_multi_agent_output(server_api, bedrock_config, params, cancellation_rx).await },
async move {
generate_multi_agent_output(server_api, bedrock_config, params, cancellation_rx)
.await
},
move |me, stream, ctx| {
me.handle_response_stream_result(request_id, stream, ctx);
},
@@ -5,7 +5,7 @@ use std::collections::HashMap;
use itertools::Itertools;
use session_sharing_protocol::common::{AgentAttachment, ParticipantId, ServerConversationToken};
use warp_core::features::FeatureFlag;
use galaxy_core::features::FeatureFlag;
use warp_multi_agent_api::response_event::{stream_finished, ClientActions};
use warp_multi_agent_api::{client_action::Action, message::Message};
@@ -20,7 +20,7 @@ use crate::ai::blocklist::agent_view::AgentViewEntryOrigin;
use crate::ai::blocklist::history_model::BlocklistAIHistoryModel;
use crate::server::server_api::ServerApiProvider;
use crate::terminal::model::block::BlockId;
use warpui::{AppContext, ModelContext, SingletonEntity};
use galaxyui::{AppContext, ModelContext, SingletonEntity};
#[derive(Default)]
pub(super) struct SharedSessionState {
@@ -1,7 +1,7 @@
use std::sync::Arc;
use warp_core::features::FeatureFlag;
use warpui::{AppContext, ModelContext, SingletonEntity};
use galaxy_core::features::FeatureFlag;
use galaxyui::{AppContext, ModelContext, SingletonEntity};
use crate::{
ai::{
+2 -2
View File
@@ -6,13 +6,13 @@ use chrono::{DateTime, Local, NaiveDateTime};
use itertools::Itertools as _;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use warp_core::features::FeatureFlag;
use galaxy_core::features::FeatureFlag;
use warp_multi_agent_api::response_event::stream_finished::ConversationUsageMetadata;
use warp_multi_agent_api::{
client_action::{Action, StartNewConversation},
response_event::stream_finished::TokenUsage,
};
use warpui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity};
use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity};
#[cfg(feature = "local_fs")]
use std::sync::{Arc, Mutex};
@@ -8,8 +8,8 @@ use std::sync::Arc;
use futures::FutureExt;
use itertools::Itertools as _;
use persistence::model::AgentConversationRecord;
use warp_core::features::FeatureFlag;
use warpui::{AppContext, SingletonEntity};
use galaxy_core::features::FeatureFlag;
use galaxyui::{AppContext, SingletonEntity};
use crate::ai::agent::api::convert_conversation::{
convert_conversation_data_to_ai_conversation, RestorationMode,
@@ -179,9 +179,9 @@ pub async fn load_conversation_from_server(
/// Boxes a future with the right type for the platform.
/// On WASM, futures must not implement Send.
fn box_future<F>(f: F) -> warpui::r#async::BoxFuture<'static, Option<CloudConversationData>>
fn box_future<F>(f: F) -> galaxyui::r#async::BoxFuture<'static, Option<CloudConversationData>>
where
F: Future<Output = Option<CloudConversationData>> + warpui::r#async::Spawnable,
F: Future<Output = Option<CloudConversationData>> + galaxyui::r#async::Spawnable,
{
cfg_if::cfg_if! {
if #[cfg(target_family = "wasm")] {
@@ -207,7 +207,7 @@ impl BlocklistAIHistoryModel {
&self,
conversation_id: AIConversationId,
ctx: &AppContext,
) -> warpui::r#async::BoxFuture<'static, Option<CloudConversationData>> {
) -> galaxyui::r#async::BoxFuture<'static, Option<CloudConversationData>> {
// First check if the conversation is already in memory
if let Some(conversation) = self.conversations_by_id.get(&conversation_id) {
return box_future(futures::future::ready(Some(CloudConversationData::Oz(
@@ -263,7 +263,7 @@ impl BlocklistAIHistoryModel {
&self,
server_token: &ServerConversationToken,
ctx: &AppContext,
) -> warpui::r#async::BoxFuture<'static, Option<CloudConversationData>> {
) -> galaxyui::r#async::BoxFuture<'static, Option<CloudConversationData>> {
// Fast path: token is known locally.
if let Some(conversation_id) = self.find_conversation_id_by_server_token(server_token) {
return self.load_conversation_data(conversation_id, ctx);
+1 -1
View File
@@ -3,7 +3,7 @@ use std::time::Duration;
use chrono::{DateTime, Local, Utc};
use itertools::Itertools;
use warpui::{App, EntityId};
use galaxyui::{App, EntityId};
use crate::{
ai::{
@@ -5,8 +5,8 @@ use ai::agent::{
action_result::{AskUserQuestionAnswerItem, AskUserQuestionResult},
};
use itertools::Itertools;
use warp_core::ui::theme::{color::internal_colors, WarpTheme};
use warpui::{
use galaxy_core::ui::theme::{color::internal_colors, WarpTheme};
use galaxyui::{
elements::{
new_scrollable::SingleAxisConfig, Border, ChildView, Clipped, ClippedScrollStateHandle,
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Expanded, Fill, Flex,
@@ -116,7 +116,7 @@ fn ask_user_question_auto_advance_enabled(is_multiselect: bool, is_last_question
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
// Scope these shortcuts to the active ask-user-question block so arrow/submit keys don't leak
// into surrounding views.
@@ -340,7 +340,7 @@ struct AskUserQuestionInteractiveViews {
/// Header state for the collapsed/expanded completion summary.
struct AskUserQuestionCompletionState {
label: String,
status_icon: warpui::elements::Icon,
status_icon: galaxyui::elements::Icon,
}
/// Local questionnaire state machine used by the view.
@@ -1305,7 +1305,7 @@ impl AskUserQuestionView {
questions: &[AskUserQuestionItem],
answers: Option<&[AskUserQuestionAnswerItem]>,
label: String,
status_icon: warpui::elements::Icon,
status_icon: galaxyui::elements::Icon,
appearance: &Appearance,
app: &AppContext,
) -> Box<dyn Element> {
@@ -1365,7 +1365,7 @@ impl AskUserQuestionView {
.with_child(self.render_options_list())
.finish();
let scrollable = warpui::elements::NewScrollable::vertical(
let scrollable = galaxyui::elements::NewScrollable::vertical(
SingleAxisConfig::Clipped {
handle: self.options_scroll_state.clone(),
child: body,
@@ -1474,7 +1474,7 @@ impl View for AskUserQuestionView {
}
}
fn keymap_context(&self, app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
// These context flags are what activate the fixed bindings registered in init().
if matches!(self.session.phase(), AskUserQuestionPhase::Editing)
@@ -1,12 +1,12 @@
use settings::Setting as _;
use warp_core::ui::Icon;
use warpui::elements::{
use galaxy_core::ui::Icon;
use galaxyui::elements::{
ChildView, ConstrainedBox, Container, CrossAxisAlignment, Flex, MainAxisAlignment,
MainAxisSize, MouseStateHandle, ParentElement, Shrinkable, SizeConstraintCondition,
SizeConstraintSwitch, Text,
};
use warpui::ui_components::components::UiComponent;
use warpui::{
use galaxyui::ui_components::components::UiComponent;
use galaxyui::{
AppContext, Element, Entity, EventContext, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle,
};
@@ -131,7 +131,7 @@ impl View for AwsBedrockCredentialsErrorView {
let make_alert_icon = || {
ConstrainedBox::new(
Icon::AlertTriangle
.to_warpui_icon(error_color(theme).into())
.to_galaxyui_icon(error_color(theme).into())
.finish(),
)
.with_width(icon_size(app))
@@ -12,7 +12,7 @@ use std::{
sync::Arc,
time::Duration,
};
use warp_core::{
use galaxy_core::{
features::FeatureFlag,
platform::SessionPlatform,
settings::ToggleableSetting,
@@ -26,13 +26,13 @@ use warp_core::{
},
HostId,
};
use warp_editor::{
use galaxy_editor::{
content::buffer::InitialBufferState, render::element::VerticalExpansionBehavior,
};
use warp_util::file::FileSaveError;
use warp_util::path::common_path;
use warp_util::standardized_path::StandardizedPath;
use warpui::{
use galaxy_util::file::FileSaveError;
use galaxy_util::path::common_path;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::{
elements::{
new_scrollable::{ScrollableAppearance, SingleAxisConfig},
Align, Border, ChildAnchor, ChildView, Clipped, ClippedScrollStateHandle, ConstrainedBox,
@@ -164,7 +164,7 @@ lazy_static! {
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -591,8 +591,8 @@ impl CodeDiffView {
ctx,
)
.with_horizontal_scrollbar_appearance(
warpui::elements::new_scrollable::ScrollableAppearance::new(
warpui::elements::ScrollbarWidth::Auto,
galaxyui::elements::new_scrollable::ScrollableAppearance::new(
galaxyui::elements::ScrollbarWidth::Auto,
true,
),
)
@@ -1264,7 +1264,7 @@ impl CodeDiffView {
fn render_scroll_icon_for_inline_banner(&self, appearance: &Appearance) -> Box<dyn Element> {
let background = appearance.theme().foreground();
let icon = warpui::elements::Icon::new(
let icon = galaxyui::elements::Icon::new(
Icon::ArrowDown.into(),
appearance.theme().main_text_color(background).into_solid(),
)
@@ -1470,7 +1470,7 @@ impl CodeDiffView {
}
CodeDiffState::WaitingForUser => {
if self.display_mode().is_inline_banner() {
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::Code2.into(),
appearance
.theme()
@@ -1970,7 +1970,7 @@ impl CodeDiffView {
},
theme.nonactive_ui_detail().into(),
theme.active_ui_detail().into(),
warpui::elements::Fill::None,
galaxyui::elements::Fill::None,
)
.with_horizontal_scrollbar(ScrollableAppearance::new(ScrollbarWidth::Custom(4.), true))
.with_propagate_mousewheel_if_not_handled(true)
@@ -2715,7 +2715,7 @@ impl View for CodeDiffView {
root_stack.finish()
}
fn keymap_context(&self, _app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, _app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if self.display_mode().is_full_pane() {
@@ -3149,7 +3149,7 @@ impl BackingView for CodeDiffView {
title: "Requested Edit".to_string(),
title_secondary: None,
title_style: None,
title_clip_config: warpui::text_layout::ClipConfig::start(),
title_clip_config: galaxyui::text_layout::ClipConfig::start(),
title_max_width: None,
left_of_title: None,
right_of_title: None,
@@ -1,5 +1,5 @@
use warpui::SingletonEntity;
use warpui::{
use galaxyui::SingletonEntity;
use galaxyui::{
elements::{
Clipped, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Expanded, Flex,
Hoverable, Icon, MouseStateHandle, ParentElement, Radius, Text,
@@ -8,9 +8,9 @@ use warpui::{
AppContext, Element,
};
use warp_core::ui::appearance::Appearance;
use warp_core::ui::icons::Icon as CoreIcon;
use warp_core::ui::theme::color::internal_colors::neutral_2;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::icons::Icon as CoreIcon;
use galaxy_core::ui::theme::color::internal_colors::neutral_2;
use crate::ai::blocklist::block::view_impl::WithContentItemSpacing;
use crate::ai::blocklist::inline_action::inline_action_header::{
@@ -107,7 +107,7 @@ impl CreateOrEditDocumentAction {
.with_vertical_padding(INLINE_ACTION_VERTICAL_PADDING)
.with_corner_radius(CornerRadius::with_all(Radius::Pixels(8.)))
.with_background_color(neutral_2(theme))
.with_border(warpui::elements::Border::all(1.).with_border_fill(theme.surface_2()))
.with_border(galaxyui::elements::Border::all(1.).with_border_fill(theme.surface_2()))
.finish();
Hoverable::new(self.mouse_state, move |_mouse_state| content)
@@ -1,8 +1,8 @@
use pathfinder_color::ColorU;
use std::borrow::Cow;
use std::rc::Rc;
use warp_core::ui::{appearance::Appearance, theme::color::internal_colors};
use warpui::{
use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors};
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, DispatchEventResult,
EventHandler, Expanded, Flex, FormattedTextElement, Hoverable, MainAxisAlignment,
@@ -115,7 +115,7 @@ pub struct HeaderConfig {
pub font_family: FamilyId,
/// Whether to parse the title as markdown when rendering.
pub use_markdown: bool,
pub icon: Option<warpui::elements::Icon>,
pub icon: Option<galaxyui::elements::Icon>,
pub badge: Option<String>,
pub interaction_mode: Option<InteractionMode>,
pub is_text_selectable: bool,
@@ -150,7 +150,7 @@ impl HeaderConfig {
self
}
pub fn with_icon(mut self, icon: warpui::elements::Icon) -> Self {
pub fn with_icon(mut self, icon: galaxyui::elements::Icon) -> Self {
self.icon = Some(icon);
self
}
@@ -1,8 +1,8 @@
use crate::ui_components::blended_colors;
use crate::ui_components::icons::Icon;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::AnsiColorIdentifier;
use warpui::{AppContext, SingletonEntity};
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::AnsiColorIdentifier;
use galaxyui::{AppContext, SingletonEntity};
/// Returns the size for icons in the AI block, scaled to the user's current font size.
pub fn icon_size(app: &AppContext) -> f32 {
@@ -13,29 +13,29 @@ pub fn icon_size(app: &AppContext) -> f32 {
)
}
pub fn green_check_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn green_check_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::Check.into(),
AnsiColorIdentifier::Green.to_ansi_color(&appearance.theme().terminal_colors().normal),
)
}
pub fn red_x_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn red_x_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::X.into(),
AnsiColorIdentifier::Red.to_ansi_color(&appearance.theme().terminal_colors().normal),
)
}
pub fn cancelled_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn cancelled_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::Cancelled.into(),
blended_colors::neutral_6(appearance.theme()),
)
}
pub fn reverted_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn reverted_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::ReverseLeft.into(),
blended_colors::neutral_6(appearance.theme()),
)
@@ -16,13 +16,13 @@ use markdown_parser::FormattedTextLine;
use pathfinder_color::ColorU;
use std::borrow::Cow;
use std::rc::Rc;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::color::internal_colors::neutral_2;
use warpui::elements::Align;
use warpui::elements::Clipped;
use warpui::elements::FormattedTextElement;
use warpui::fonts::FamilyId;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors::neutral_2;
use galaxyui::elements::Align;
use galaxyui::elements::Clipped;
use galaxyui::elements::FormattedTextElement;
use galaxyui::fonts::FamilyId;
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex,
Hoverable, MainAxisAlignment, MouseStateHandle, ParentElement, Radius, Shrinkable,
@@ -7,12 +7,12 @@ use std::cmp::{Ordering, PartialEq};
use std::collections::HashMap;
use std::rc::Rc;
use std::sync::Arc;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::Icon;
use warp_editor::render::element::VerticalExpansionBehavior;
use warpui::elements::{ConstrainedBox, ScrollbarWidth};
use warpui::ui_components::components::UiComponent as _;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::Icon;
use galaxy_editor::render::element::VerticalExpansionBehavior;
use galaxyui::elements::{ConstrainedBox, ScrollbarWidth};
use galaxyui::ui_components::components::UiComponent as _;
use galaxyui::{
elements::{
Align, Border, ChildView, Clipped, Container, CornerRadius, CrossAxisAlignment, Expanded,
Flex, MainAxisSize, MouseStateHandle, OffsetPositioning, ParentElement, Radius,
@@ -24,7 +24,7 @@ use warpui::{
};
use crate::ai::agent::{AIAgentActionResult, AIAgentActionType};
use warpui::{EntityId, EventContext};
use galaxyui::{EntityId, EventContext};
use crate::ai::agent::RequestCommandOutputResult;
use crate::ai::agent::{icons, AIAgentActionResultType};
@@ -120,7 +120,7 @@ lazy_static! {
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -752,7 +752,7 @@ impl RequestedCommandView {
Container::new(
ConstrainedBox::new(
Icon::Info
.to_warpui_icon(
.to_galaxyui_icon(
blended_colors::text_sub(theme, theme.surface_1()).into(),
)
.finish(),
@@ -1545,9 +1545,9 @@ impl View for RequestedCommandView {
OffsetPositioning::offset_from_save_position_element(
Self::get_position_id_for_accept_split_button(&self.position_id_prefix),
vec2f(0., 8.),
warpui::elements::PositionedElementOffsetBounds::WindowByPosition,
warpui::elements::PositionedElementAnchor::BottomRight,
warpui::elements::ChildAnchor::TopRight,
galaxyui::elements::PositionedElementOffsetBounds::WindowByPosition,
galaxyui::elements::PositionedElementAnchor::BottomRight,
galaxyui::elements::ChildAnchor::TopRight,
),
);
}
@@ -1,8 +1,8 @@
//! Module to attribute AI-generated requested commands
//! to known documents (e.g. Warp Drive objects).
use warpui::AppContext;
use warpui::SingletonEntity;
use galaxyui::AppContext;
use galaxyui::SingletonEntity;
use crate::env_vars::EnvVarCollection;
use crate::env_vars::EnvVarValue;
@@ -3,19 +3,19 @@
use pathfinder_geometry::vector::Vector2F;
use std::rc::Rc;
use warp_core::ui::appearance::Appearance;
use warpui::elements::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{
Align, Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable,
MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
Wrap,
};
use warpui::keymap::Keystroke;
use warpui::platform::Cursor;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::ui_components::toggle_menu::{
use galaxyui::keymap::Keystroke;
use galaxyui::platform::Cursor;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::ui_components::toggle_menu::{
ToggleMenuCallback, ToggleMenuItem, ToggleMenuStateHandle,
};
use warpui::{AppContext, Element, EventContext, SingletonEntity};
use galaxyui::{AppContext, Element, EventContext, SingletonEntity};
use super::inline_action_header::{
INLINE_ACTION_HEADER_VERTICAL_PADDING, INLINE_ACTION_HORIZONTAL_PADDING,
@@ -346,7 +346,7 @@ fn script_status(
};
let is_expanded = (is_executing && is_viewing_detail) || (!is_executing && !is_collapsed);
let icon = ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
if is_expanded {
Icon::ChevronDown.into()
} else {

Some files were not shown because too many files have changed in this diff Show More