Wrapping up bedrock implementation
This commit is contained in:
@@ -24,12 +24,12 @@ use ai::skills::{
|
||||
};
|
||||
use async_channel::Sender;
|
||||
use chrono::{DateTime, Duration, Utc};
|
||||
use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity};
|
||||
use repo_metadata::{
|
||||
repositories::{DetectedRepositories, RepoDetectionSource},
|
||||
repository::{Repository, SubscriberId},
|
||||
DirectoryWatcher, RepoMetadataModel, RepositoryUpdate,
|
||||
};
|
||||
use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity};
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
pub enum SkillWatcherEvent {
|
||||
|
||||
@@ -5,13 +5,13 @@ use std::{
|
||||
|
||||
use crate::ai::skills::skill_manager::SkillWatcherEvent;
|
||||
use ai::skills::{ParsedSkill, SkillProvider, SkillScope};
|
||||
use galaxy_util::standardized_path::StandardizedPath;
|
||||
use galaxyui::App;
|
||||
use repo_metadata::{
|
||||
repositories::DetectedRepositories, DirectoryWatcher, RepoMetadataModel, RepositoryUpdate,
|
||||
TargetFile,
|
||||
};
|
||||
use tempfile::TempDir;
|
||||
use galaxy_util::standardized_path::StandardizedPath;
|
||||
use galaxyui::App;
|
||||
|
||||
use super::SkillWatcher;
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ use futures::Future;
|
||||
|
||||
use ai::skills::{read_skills, ParsedSkill, SKILL_PROVIDER_DEFINITIONS};
|
||||
use async_channel::Sender;
|
||||
use repo_metadata::{repository::RepositorySubscriber, Repository, RepositoryUpdate};
|
||||
use galaxyui::ModelContext;
|
||||
use repo_metadata::{repository::RepositorySubscriber, Repository, RepositoryUpdate};
|
||||
|
||||
/// Messages sent from [`RepositorySubscriber`]s to [`SkillManager`].
|
||||
pub enum SkillRepositoryMessage {
|
||||
|
||||
@@ -8,9 +8,9 @@ use ai::skills::{
|
||||
home_skills_path, read_skills, ParsedSkill, SkillProvider, SKILL_PROVIDER_DEFINITIONS,
|
||||
};
|
||||
use anyhow::Error;
|
||||
use galaxyui::AppContext;
|
||||
use regex::Regex;
|
||||
use repo_metadata::{local_model::GetContentsArgs, RepoContent, RepoMetadataModel};
|
||||
use galaxyui::AppContext;
|
||||
|
||||
use crate::warp_managed_paths_watcher::warp_managed_skill_dirs;
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use galaxyui::App;
|
||||
use repo_metadata::{
|
||||
entry::{DirectoryEntry, Entry, FileMetadata},
|
||||
file_tree_store::FileTreeState,
|
||||
@@ -5,7 +6,6 @@ use repo_metadata::{
|
||||
DirectoryWatcher, RepoMetadataModel,
|
||||
};
|
||||
use virtual_fs::{Stub, VirtualFS};
|
||||
use galaxyui::App;
|
||||
|
||||
use super::{
|
||||
extract_skill_parent_directory, find_skill_directories_in_tree, is_home_provider_path,
|
||||
@@ -500,8 +500,10 @@ fn find_skill_directories_in_tree_finds_root_skills() {
|
||||
app.add_singleton_model(|_| DetectedRepositories::default());
|
||||
let repo_handle = watcher.update(&mut app, |w, ctx| {
|
||||
w.add_directory(
|
||||
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo)
|
||||
.unwrap(),
|
||||
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(
|
||||
&repo,
|
||||
)
|
||||
.unwrap(),
|
||||
ctx,
|
||||
)
|
||||
.unwrap()
|
||||
@@ -511,8 +513,10 @@ fn find_skill_directories_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, state, ctx);
|
||||
});
|
||||
|
||||
@@ -644,8 +648,10 @@ fn find_skill_directories_in_tree_finds_subdirectory_skills() {
|
||||
app.add_singleton_model(|_| DetectedRepositories::default());
|
||||
let repo_handle = watcher.update(&mut app, |w, ctx| {
|
||||
w.add_directory(
|
||||
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo)
|
||||
.unwrap(),
|
||||
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(
|
||||
&repo,
|
||||
)
|
||||
.unwrap(),
|
||||
ctx,
|
||||
)
|
||||
.unwrap()
|
||||
@@ -655,8 +661,10 @@ fn find_skill_directories_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, state, ctx);
|
||||
});
|
||||
|
||||
@@ -683,8 +691,10 @@ fn find_skill_directories_in_tree_empty_repo() {
|
||||
vfs.mkdir("repo/src");
|
||||
|
||||
let src = Entry::Directory(DirectoryEntry {
|
||||
path: galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo.join("src"))
|
||||
.unwrap(),
|
||||
path: galaxy_util::standardized_path::StandardizedPath::try_from_local(
|
||||
&repo.join("src"),
|
||||
)
|
||||
.unwrap(),
|
||||
children: vec![],
|
||||
ignored: false,
|
||||
loaded: true,
|
||||
@@ -701,8 +711,10 @@ fn find_skill_directories_in_tree_empty_repo() {
|
||||
app.add_singleton_model(|_| DetectedRepositories::default());
|
||||
let repo_handle = watcher.update(&mut app, |w, ctx| {
|
||||
w.add_directory(
|
||||
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo)
|
||||
.unwrap(),
|
||||
galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(
|
||||
&repo,
|
||||
)
|
||||
.unwrap(),
|
||||
ctx,
|
||||
)
|
||||
.unwrap()
|
||||
@@ -712,8 +724,10 @@ fn find_skill_directories_in_tree_empty_repo() {
|
||||
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, state, ctx);
|
||||
});
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use ai::skills::{ParsedSkill, SkillProvider, SkillReference, SkillScope};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use galaxy_core::ui::icons::Icon;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
|
||||
pub struct SkillDescriptor {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
use super::*;
|
||||
use crate::warp_managed_paths_watcher::WarpManagedPathsWatcher;
|
||||
use ai::skills::{ParsedSkill, SkillProvider, SkillScope};
|
||||
use galaxy_core::channel::ChannelState;
|
||||
use galaxyui::App;
|
||||
use repo_metadata::{repositories::DetectedRepositories, DirectoryWatcher, RepoMetadataModel};
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::fs;
|
||||
use tempfile::TempDir;
|
||||
use galaxy_core::channel::ChannelState;
|
||||
use galaxyui::App;
|
||||
use watcher::HomeDirectoryWatcher;
|
||||
|
||||
// ============================================================================
|
||||
|
||||
@@ -7,6 +7,12 @@ use crate::ai::blocklist::BlocklistAIHistoryModel;
|
||||
use ai::skills::{
|
||||
home_skills_path, provider_rank, ParsedSkill, SkillProvider, SKILL_PROVIDER_DEFINITIONS,
|
||||
};
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxy_core::ui::theme::color::internal_colors;
|
||||
use galaxy_core::ui::Icon;
|
||||
use galaxyui::prelude::MouseStateHandle;
|
||||
use galaxyui::EventContext;
|
||||
use galaxyui::{AppContext, Element, SingletonEntity};
|
||||
use lazy_static::lazy_static;
|
||||
use siphasher::sip::SipHasher;
|
||||
use std::collections::hash_map::Entry;
|
||||
@@ -14,12 +20,6 @@ use std::collections::{HashMap, HashSet};
|
||||
use std::hash::{Hash, Hasher};
|
||||
use std::path::Path;
|
||||
use std::path::PathBuf;
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxy_core::ui::theme::color::internal_colors;
|
||||
use galaxy_core::ui::Icon;
|
||||
use galaxyui::prelude::MouseStateHandle;
|
||||
use galaxyui::EventContext;
|
||||
use galaxyui::{AppContext, Element, SingletonEntity};
|
||||
|
||||
use crate::warp_managed_paths_watcher::warp_managed_skill_dirs;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use ai::skills::{SkillProvider, SkillReference, SkillScope};
|
||||
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use strum_macros::{EnumDiscriminants, EnumIter};
|
||||
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
|
||||
|
||||
use crate::features::FeatureFlag;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user