Expand description
§niwa-core
Core library for NIWA Expertise Graph management.
§Features
- SQLite-based Expertise storage with versioning
- Full-text search with FTS5
- Dependency graph (Relations)
- Type-safe operations with llm-toolkit Expertise types
§Example
use niwa_core::{Database, Expertise, Scope, SearchOptions, StorageOperations};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Initialize database
let db = Database::open("~/.niwa/graph.db").await?;
// Create expertise
let mut expertise = Expertise::new("rust-expert", "1.0.0");
expertise.metadata.scope = Scope::Personal;
// Store
db.storage().create(expertise).await?;
// Query
let results = db.query().search("rust error handling", SearchOptions::default()).await?;
Ok(())
}Re-exports§
pub use db::Database;pub use error::Error;pub use error::Result;pub use graph::GraphOperations;pub use graph::RelationType;pub use query::QueryBuilder;pub use query::SearchOptions;pub use storage::Storage;pub use storage::StorageOperations;pub use types::Expertise;pub use types::ExpertiseMetadata;pub use types::Scope;
Modules§
- db
- Database connection management
- error
- Error types for niwa-core
- graph
- Graph operations for managing Expertise relations
- query
- Query and search operations
- storage
- Storage operations for Expertise CRUD
- types
- Type definitions and re-exports from llm-toolkit
Constants§
- VERSION
- Library version