Fix cursor focus and selection in input box, add AWS env var warning box, and remove AWS Bedrock login banner

This commit is contained in:
2026-07-02 14:54:15 -05:00
parent 4770ac06b5
commit 3769646ca6
1194 changed files with 5312 additions and 8032 deletions
@@ -27,8 +27,8 @@ use crate::ai::remote_context_files::{
read_remote_text_file_contents, REMOTE_CONTEXT_MAX_BATCH_BYTES, REMOTE_CONTEXT_MAX_FILE_BYTES,
};
use crate::warp_managed_paths_watcher::{
filter_repository_update_by_prefix, warp_managed_skill_dirs, WarpManagedPathsWatcher,
WarpManagedPathsWatcherEvent,
filter_repository_update_by_prefix, galaxy_managed_skill_dirs, GalaxyManagedPathsWatcherEvent,
WarpManagedPathsWatcher,
};
#[derive(Debug, PartialEq)]
@@ -3,6 +3,11 @@ use std::fs;
use std::path::PathBuf;
use ai::skills::{ParsedSkill, SkillProvider, SkillScope};
use galaxy_util::host_id::HostId;
use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxy_util::remote_path::RemotePath;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::App;
use repo_metadata::entry::{DirectoryEntry, Entry, FileMetadata};
use repo_metadata::file_tree_store::FileTreeState;
use repo_metadata::repositories::DetectedRepositories;
@@ -11,11 +16,6 @@ use repo_metadata::{
StandingQueryContent, StandingQueryResults, StandingQueryResultsDelta, TargetFile,
};
use tempfile::TempDir;
use galaxy_util::host_id::HostId;
use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxy_util::remote_path::RemotePath;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::App;
use super::super::subscribers::SkillRepositoryMessage;
use super::{parse_project_skill_contents, SkillWatcher};
@@ -3,9 +3,9 @@ use std::pin::Pin;
use ai::skills::{read_skills, ParsedSkill, SKILL_PROVIDER_DEFINITIONS};
use async_channel::Sender;
use futures::Future;
use galaxyui::ModelContext;
use repo_metadata::repository::RepositorySubscriber;
use repo_metadata::{Repository, RepositoryUpdate};
use galaxyui::ModelContext;
/// Messages sent from [`RepositorySubscriber`]s to [`SkillManager`].
pub enum SkillRepositoryMessage {
+2 -2
View File
@@ -5,12 +5,12 @@ use ai::skills::{
ParsedSkill, SkillProvider, SKILL_PROVIDER_DEFINITIONS,
};
use anyhow::Error;
use repo_metadata::{RepoMetadataModel, RepositoryIdentifier};
use walkdir::{DirEntry, WalkDir};
use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxy_util::remote_path::RemotePath;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::AppContext;
use repo_metadata::{RepoMetadataModel, RepositoryIdentifier};
use walkdir::{DirEntry, WalkDir};
use crate::galaxy_managed_paths_watcher::galaxy_managed_skill_dirs;
+14 -10
View File
@@ -1,3 +1,8 @@
use galaxy_util::host_id::HostId;
use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxy_util::remote_path::RemotePath;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::App;
use repo_metadata::entry::{DirectoryEntry, Entry, FileMetadata};
use repo_metadata::file_tree_store::FileTreeState;
use repo_metadata::file_tree_update::{
@@ -9,11 +14,6 @@ use repo_metadata::{
StandingQueryContent, StandingQueryResults, StandingQueryResultsDelta,
};
use virtual_fs::{Stub, VirtualFS};
use galaxy_util::host_id::HostId;
use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxy_util::remote_path::RemotePath;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::App;
use super::{
extract_skill_parent_directory, find_project_skill_files_in_tree, is_home_provider_path,
@@ -390,7 +390,7 @@ fn extract_skill_parent_directory_returns_home_dir_for_warp_home_skill() {
return;
};
let skill_path = warp_home_skills_dir.join("test-skill").join("SKILL.md");
let skill_path = galaxy_home_skills_dir.join("test-skill").join("SKILL.md");
let result = extract_skill_parent_directory(&LocalOrRemotePath::Local(skill_path));
assert_eq!(result.ok(), Some(LocalOrRemotePath::Local(home_dir)));
}
@@ -548,8 +548,10 @@ fn find_skill_files_in_tree_finds_root_skills() {
let model_handle = app.add_singleton_model(RepoMetadataModel::new);
model_handle.update(&mut app, |model, ctx| {
let key =
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo)
.unwrap();
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(
&repo,
)
.unwrap();
model.insert_test_state(key.clone(), state, ctx);
model.insert_test_standing_results(
key,
@@ -717,8 +719,10 @@ fn find_skill_files_in_tree_finds_subdirectory_skills() {
let model_handle = app.add_singleton_model(RepoMetadataModel::new);
model_handle.update(&mut app, |model, ctx| {
let key =
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo)
.unwrap();
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(
&repo,
)
.unwrap();
model.insert_test_state(key.clone(), state, ctx);
model.insert_test_standing_results(
key,
+1 -1
View File
@@ -23,7 +23,7 @@ use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxyui::{AppContext, SingletonEntity as _};
use super::SkillManager;
use crate::galaxy_managed_paths_watcher::galaxy_managed_skill_dirs;
use crate::galaxy_managed_paths_watcher::warp_managed_skill_dirs as galaxy_managed_skill_dirs;
const SKILL_FILE_NAME: &str = "SKILL.md";
+9 -9
View File
@@ -3,9 +3,6 @@ use std::fs;
use std::path::Path;
use ai::skills::{get_provider_for_path, ParsedSkill, SkillProvider, SkillReference, SkillScope};
use repo_metadata::repositories::DetectedRepositories;
use repo_metadata::{DirectoryWatcher, RepoMetadataModel};
use tempfile::TempDir;
use galaxy_core::channel::ChannelState;
use galaxy_core::features::FeatureFlag;
use galaxy_util::host_id::HostId;
@@ -13,6 +10,9 @@ use galaxy_util::local_or_remote_path::LocalOrRemotePath;
use galaxy_util::remote_path::RemotePath;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::App;
use repo_metadata::repositories::DetectedRepositories;
use repo_metadata::{DirectoryWatcher, RepoMetadataModel};
use tempfile::TempDir;
use watcher::HomeDirectoryWatcher;
use super::*;
@@ -87,7 +87,7 @@ fn get_skills_for_working_directory_scopes_subdirectory_skills() {
let repo_handle = app.add_singleton_model(|_| DetectedRepositories::default());
app.add_singleton_model(RepoMetadataModel::new);
app.add_singleton_model(HomeDirectoryWatcher::new_for_test);
app.add_singleton_model(GalaxyManagedPathsWatcher::new_for_testing);
app.add_singleton_model(WarpManagedPathsWatcher::new_for_testing);
let skill_manager_handle = app.add_singleton_model(SkillManager::new);
// Register the repo root so get_root_for_path returns Some.
@@ -373,7 +373,7 @@ fn get_skills_for_working_directory_name_collision_returns_both() {
let repo_handle = app.add_singleton_model(|_| DetectedRepositories::default());
app.add_singleton_model(RepoMetadataModel::new);
app.add_singleton_model(HomeDirectoryWatcher::new_for_test);
app.add_singleton_model(GalaxyManagedPathsWatcher::new_for_testing);
app.add_singleton_model(WarpManagedPathsWatcher::new_for_testing);
let skill_manager_handle = app.add_singleton_model(SkillManager::new);
// Register the repo root so get_root_for_path returns Some.
@@ -477,7 +477,7 @@ fn cloud_environment_skills_always_included() {
let repo_handle = app.add_singleton_model(|_| DetectedRepositories::default());
app.add_singleton_model(RepoMetadataModel::new);
app.add_singleton_model(HomeDirectoryWatcher::new_for_test);
app.add_singleton_model(GalaxyManagedPathsWatcher::new_for_testing);
app.add_singleton_model(WarpManagedPathsWatcher::new_for_testing);
let skill_manager_handle = app.add_singleton_model(SkillManager::new);
let canonical_repo_a =
@@ -1443,7 +1443,7 @@ fn best_supported_provider_fast_path_returns_deduped_provider() {
app.add_singleton_model(|_| DetectedRepositories::default());
app.add_singleton_model(RepoMetadataModel::new);
app.add_singleton_model(HomeDirectoryWatcher::new_for_test);
app.add_singleton_model(GalaxyManagedPathsWatcher::new_for_testing);
app.add_singleton_model(WarpManagedPathsWatcher::new_for_testing);
let handle = app.add_singleton_model(SkillManager::new);
let claude_skill = make_skill("deploy", ".claude");
@@ -1469,7 +1469,7 @@ fn best_supported_provider_remaps_to_supported_provider() {
app.add_singleton_model(|_| DetectedRepositories::default());
app.add_singleton_model(RepoMetadataModel::new);
app.add_singleton_model(HomeDirectoryWatcher::new_for_test);
app.add_singleton_model(GalaxyManagedPathsWatcher::new_for_testing);
app.add_singleton_model(WarpManagedPathsWatcher::new_for_testing);
let handle = app.add_singleton_model(SkillManager::new);
let agents_skill = make_skill("deploy", ".agents");
@@ -1500,7 +1500,7 @@ fn best_supported_provider_falls_back_when_no_match() {
app.add_singleton_model(|_| DetectedRepositories::default());
app.add_singleton_model(RepoMetadataModel::new);
app.add_singleton_model(HomeDirectoryWatcher::new_for_test);
app.add_singleton_model(GalaxyManagedPathsWatcher::new_for_testing);
app.add_singleton_model(WarpManagedPathsWatcher::new_for_testing);
let handle = app.add_singleton_model(SkillManager::new);
let agents_skill = make_skill("deploy", ".agents");
+2 -2
View File
@@ -8,11 +8,11 @@ use ai::skills::{
provider_parent_directory_for_skills_root, provider_rank, ParsedSkill, SkillPathOrigin,
SkillProvider,
};
use lazy_static::lazy_static;
use siphasher::sip::SipHasher;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::ui::Icon;
use lazy_static::lazy_static;
use siphasher::sip::SipHasher;
use warp_util::local_or_remote_path::LocalOrRemotePath;
use warpui::prelude::MouseStateHandle;
use warpui::{AppContext, Element, EventContext, SingletonEntity};