pub struct KnowledgeStore { /* private fields */ }Expand description
Knowledge store for managing knowledge items
Implementations§
Source§impl KnowledgeStore
impl KnowledgeStore
Sourcepub fn new(base_dir: impl Into<PathBuf>) -> Self
pub fn new(base_dir: impl Into<PathBuf>) -> Self
Create a new knowledge store with the given base directory
Sourcepub fn with_default_dir() -> Self
pub fn with_default_dir() -> Self
Create a store with default knowledge directory
Sourcepub fn register(&self, item: KnowledgeItem)
pub fn register(&self, item: KnowledgeItem)
Register a knowledge item
Sourcepub fn load_user_items(&self) -> Result<usize, KnowledgeError>
pub fn load_user_items(&self) -> Result<usize, KnowledgeError>
Load user-persisted knowledge items from disk.
This is best-effort: invalid entries are skipped (with a warning) so the app can still start.
Sourcepub fn upsert_user_item(
&self,
item: KnowledgeItem,
) -> Result<(), KnowledgeError>
pub fn upsert_user_item( &self, item: KnowledgeItem, ) -> Result<(), KnowledgeError>
Create or update a user knowledge item on disk, and register it in-memory.
Sourcepub fn delete_user_item(&self, id: &str) -> Result<(), KnowledgeError>
pub fn delete_user_item(&self, id: &str) -> Result<(), KnowledgeError>
Delete a user knowledge item from disk and remove it from the store.
Sourcepub fn register_all(&self, items: impl IntoIterator<Item = KnowledgeItem>)
pub fn register_all(&self, items: impl IntoIterator<Item = KnowledgeItem>)
Register multiple knowledge items
Sourcepub fn get(&self, id: &str) -> Option<KnowledgeItem>
pub fn get(&self, id: &str) -> Option<KnowledgeItem>
Get a knowledge item by ID
Sourcepub fn list(&self) -> Vec<KnowledgeItem>
pub fn list(&self) -> Vec<KnowledgeItem>
List all knowledge items
Sourcepub fn list_by_category(&self, category: &str) -> Vec<KnowledgeItem>
pub fn list_by_category(&self, category: &str) -> Vec<KnowledgeItem>
List knowledge items by category
Sourcepub fn find(&self, query: &KnowledgeQuery) -> Vec<KnowledgeMatch>
pub fn find(&self, query: &KnowledgeQuery) -> Vec<KnowledgeMatch>
Find knowledge items matching a query
Searches across all registered items regardless of their enabled field.
Per-session enablement is managed by crate::KnowledgeSettingsManager.
Sourcepub fn load_reference(
&self,
item_id: &str,
ref_id: &str,
) -> Result<String, KnowledgeError>
pub fn load_reference( &self, item_id: &str, ref_id: &str, ) -> Result<String, KnowledgeError>
Load a reference file content
Sourcepub fn categories(&self) -> Vec<String>
pub fn categories(&self) -> Vec<String>
Get all categories
Sourcepub fn set_enabled(&self, id: &str, enabled: bool) -> Result<(), KnowledgeError>
pub fn set_enabled(&self, id: &str, enabled: bool) -> Result<(), KnowledgeError>
Enable or disable a knowledge item
Sourcepub fn clear_cache(&self)
pub fn clear_cache(&self)
Clear the reference cache