Skip to main content

steel_memory_lib/
lib.rs

1pub mod benchmark;
2pub mod config;
3pub mod core;
4pub mod error;
5pub mod storage;
6pub mod types;
7
8// Re-exports for library users
9pub use core::dialect::compress_to_aaak;
10pub use storage::knowledge_graph::{normalize_id, KnowledgeGraph};
11pub use storage::palace_graph::{PalaceGraph, RoomNode};
12pub use storage::vector::{cosine_similarity, VectorStorage};
13pub use types::{Drawer, Entity, SearchResult, Triple};
14
15// Re-export fastembed for embedding users
16pub use fastembed;
17
18use std::path::PathBuf;
19
20pub struct TestConfig {
21    pub vector_db: PathBuf,
22    pub kg_db: PathBuf,
23    pub palace_path: PathBuf,
24    pub identity_file: PathBuf,
25}
26
27pub fn config_default_with_base(base: PathBuf) -> TestConfig {
28    TestConfig {
29        vector_db: base.join("palace.sqlite3"),
30        kg_db: base.join("knowledge_graph.sqlite3"),
31        identity_file: base.join("identity.txt"),
32        palace_path: base,
33    }
34}