Skip to main content

khive_storage/
lib.rs

1//! Storage capability traits — contracts that backend implementations satisfy.
2//!
3//! This crate contains zero implementations. It defines:
4//! - [`SqlAccess`]: base SQL capability (reader / writer / transaction)
5//! - [`VectorStore`]: embedding storage and similarity search
6//! - [`TextSearch`]: full-text search and document indexing
7//! - [`GraphStore`]: directed edge CRUD and graph traversal
8//! - [`NoteStore`]: temporal-referential note CRUD
9//! - [`EventStore`]: append-only operation log
10//! - Shared types ([`SqlValue`], [`VectorSearchHit`], [`TextSearchHit`], etc.)
11//! - [`StorageError`]: unified error type
12
13pub mod capability;
14pub mod entity;
15pub mod error;
16pub mod event;
17pub mod graph;
18pub mod note;
19pub mod sparse;
20pub mod sql;
21pub mod text;
22pub mod types;
23pub mod vectors;
24
25pub use capability::StorageCapability;
26pub use entity::{Entity, EntityFilter, EntityStore};
27pub use error::StorageError;
28
29pub use event::{
30    Event, EventFilter, EventObservation, EventStore, EventView, ObservationRole, ReferentKind,
31};
32pub use graph::GraphStore;
33pub use note::{Note, NoteStore};
34pub use sparse::SparseStore;
35pub use sql::{SqlAccess, SqlReader, SqlTransaction, SqlWriter};
36pub use text::TextSearch;
37pub use types::StorageResult;
38pub use vectors::VectorStore;
39
40pub use types::{
41    BatchWriteSummary, DeleteMode, Direction, Edge, EdgeFilter, EdgeSortField, GraphPath,
42    IndexRebuildScope, LinkId, NeighborHit, NeighborQuery, OrphanSweepConfig, OrphanSweepResult,
43    Page, PageRequest, PathNode, PropertyFilter, PropertyOp, SortDirection, SortOrder,
44    SparseRecord, SparseSearchHit, SparseSearchRequest, SparseVector, SqlIsolation, SqlRow,
45    SqlStatement, SqlTxOptions, SqlValue, TextDocument, TextFilter, TextIndexStats, TextQueryMode,
46    TextSearchHit, TextSearchRequest, TimeRange, TraversalOptions, TraversalRequest,
47    VectorIndexKind, VectorMetadataFilter, VectorRecord, VectorSearchHit, VectorSearchRequest,
48    VectorStoreCapabilities, VectorStoreInfo,
49};
50
51pub use khive_types::{EdgeCategory, EdgeRelation, EventOutcome, SubstrateKind};