#![warn(missing_docs)]
#![warn(rust_2018_idioms)]
pub mod api;
pub mod config;
pub mod core;
pub mod db;
pub mod encryption;
pub mod index;
pub mod query;
pub mod storage;
#[cfg(feature = "semantic-search")]
pub mod semantic_search;
pub mod experimental;
#[cfg(feature = "embeddings")]
pub mod embeddings;
#[cfg(feature = "observability")]
pub mod observability;
#[cfg(feature = "mcp-server")]
pub mod mcp;
#[cfg(feature = "sql")]
pub mod sql;
#[cfg(feature = "cypher")]
pub mod cypher;
#[cfg(feature = "http-server")]
pub mod http;
#[cfg(any(test, feature = "simulation"))]
pub mod test_utils;
#[cfg(feature = "simulation")]
pub mod simulation;
#[cfg(any(fuzzing, feature = "fuzzing"))]
pub mod fuzzing;
pub mod prelude;
pub use config::{
AletheiaDBConfig, AletheiaDBConfigBuilder, ConfigError, HistoricalConfig,
HistoricalConfigBuilder, VectorIndexConfig, VectorIndexConfigBuilder, WalConfig,
WalConfigBuilder,
};
pub use core::temporal::time;
pub use core::{
BiTemporalInterval, Edge, EdgeId, EntityId, GLOBAL_INTERNER, InternedString, Node, NodeHeader,
NodeId, PropertyKey, PropertyMap, PropertyMapBuilder, PropertyValue, StringInterner, TimeRange,
Timestamp, VersionId,
};
pub use api::{ReadOps, ReadTransaction, TxId, TxState, WriteOps, WriteTransaction};
pub use core::error::{Error, QueryError, Result, StorageError, TemporalError, TransactionError};
pub use db::{AletheiaDB, VectorIndexBuilder};
pub use index::{
AdjacencyIndex, CurrentIndexes, TemporalIndexes,
vector::{DistanceMetric, HnswConfig, TemporalVectorConfig},
};
pub use storage::CurrentStorage;
pub use storage::index_persistence::PersistenceConfig;
pub use storage::wal::{DurabilityMode, WriteOptions};
pub use query::{
Query, QueryBuilder, QueryExecutor, QueryPlanner, QueryResults, QueryRow,
ir::{Direction, Predicate, QueryOp, TraversalDepth},
plan::{LogicalOp, LogicalPlan},
planner::{Cost, CostModel, PhysicalOp, PhysicalPlan, Statistics},
};