mod graph;
mod pagination;
mod sparse;
mod sql;
mod text;
mod vector;
use crate::error::StorageError;
pub type StorageResult<T> = Result<T, StorageError>;
pub use graph::{
Direction, Edge, EdgeFilter, EdgeSortField, GraphPath, LinkId, NeighborHit, NeighborQuery,
PathNode, SortDirection, SortOrder, TimeRange, TraversalOptions, TraversalRequest,
};
pub use pagination::{Page, PageRequest};
pub use sparse::{SparseRecord, SparseSearchHit, SparseSearchRequest, SparseVector};
pub use sql::{SqlColumn, SqlIsolation, SqlRow, SqlStatement, SqlTxOptions, SqlValue};
pub use text::{
IndexRebuildScope, TextDocument, TextFilter, TextGatherMode, TextIndexStats, TextQueryMode,
TextSearchHit, TextSearchOptions, TextSearchRequest, TextTermStats, TextTermStatsRequest,
};
pub use vector::{
OrphanSweepConfig, OrphanSweepResult, PropertyFilter, PropertyOp, VectorIndexKind,
VectorMetadataFilter, VectorRecord, VectorSearchHit, VectorSearchRequest,
VectorStoreCapabilities, VectorStoreInfo,
};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Serialize, Deserialize)]
pub struct BatchWriteSummary {
pub attempted: u64,
pub affected: u64,
pub failed: u64,
#[serde(default, skip_serializing_if = "String::is_empty")]
pub first_error: String,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum DeleteMode {
Soft,
Hard,
}