#![deny(unsafe_code)] #![warn(clippy::all, clippy::pedantic, clippy::nursery)]
#![allow(clippy::module_name_repetitions)]
pub mod api;
pub mod buffer;
pub mod cache;
pub mod distance;
pub mod error;
pub mod eval;
pub mod filter;
pub mod index;
pub mod observability;
pub mod retrieval;
pub mod stats;
pub mod store;
pub mod trajectory;
pub mod types;
pub mod wal;
pub use buffer::{BufferStats, WriteBuffer, WriteBufferConfig};
pub use cache::{CacheConfig, CacheKey, CacheStats, QueryCache};
pub use error::{Error, Result};
pub use filter::{CompiledFilter, FilterEvaluator, FilterExpr, FilterOp, FilterValue};
pub use index::{
DistanceType, FlatIndex, FusedResult, FusionConfig, FusionStrategy, HNSWConfig, HNSWIndex,
IndexConfig, IndexInfo, IndexRegistry, MultiIndexResult, MultiIndexResults, ParallelSearchConfig,
ParallelSearcher, ResultsAggregator, ScoreFusion, SearchResult, SharedRegistry, VectorIndex,
parallel_add_batch, rrf_fuse, rrf_fuse_top_k, shared_registry,
};
pub use stats::OutcomeStats;
pub use store::{InMemoryStore, RecordStore, SharedStore};
pub use types::{MemoryRecord, PriorBundle, QueryBundle, RecordId, VectorRef};
pub use observability::{Metrics, MetricsConfig, QuerySpan, SpanContext};
pub use retrieval::{QueryEngine, QueryEngineConfig, QueryRequest, QueryResponse, Reranker, RerankerConfig, RerankerType};
pub use wal::{WalConfig, WalEntry, WalEntryType, WalReader, WalWriter};
pub use eval::{Evaluator, EvaluationSummary, QueryEvaluation, Benchmarker, BenchmarkResult};
pub use trajectory::{
TrajectoryGraph, Episode, Edge, EdgeType, NodeId as EpisodeId,
PathSelectionPolicy, TraversalOrder, BranchInfo, PathResult,
TrajectoryPhase, PhaseInferencer, PhaseConfig, TurnFeatures, PhaseTransition,
SalienceScorer, SalienceConfig, SalienceFactors, TurnSalience, CorpusSalienceStats, Feedback,
TrajectoryCoordinate, NormalizedCoordinate, compute_trajectory_coordinates,
TrajectoryCoordinate5D, NormalizedCoordinate5D,
Ring, RingNode, EpisodeRing, build_weighted_ring,
DualRing, DualRingNode, build_dual_ring, build_dual_ring_with_attention,
ConservationMetrics, ConservationViolation, ConservationConfig, ConservationTracker,
weighted_centroid, weighted_covariance,
PathQuality, PathQualityWeights, PathQualityFactors,
};
#[allow(deprecated)]
pub use trajectory::ConversationPhase;
pub use distance::{
l2_distance, l2_distance_squared, inner_product, cosine_similarity, cosine_distance,
norm, norm_squared, normalize, normalize_in_place,
normalize_batch, normalize_batch_flat, compute_norms_batch, find_unnormalized,
l2_distance_fast, inner_product_fast, cosine_similarity_fast, cosine_distance_fast,
norm_fast, normalize_in_place_fast, normalize_batch_flat_fast, compute_norms_batch_fast,
normalize_batch_parallel, compute_distance, compute_distance_for_heap,
trajectory_weighted_cosine, trajectory_weighted_cosine_5d, trajectory_weighted_l2,
trajectory_weighted_inner_product, trajectory_weighted_distance, TrajectoryDistanceConfig,
};
pub use api::{
RetrievalRequest, RetrievalResponse, PriorBundle as ApiPriorBundle,
RankedCandidate, FilterExpression, FilterValue as ApiFilterValue,
IngestRecord, MetadataValue as ApiMetadataValue,
RetrievalEngine, Corpus, VectorSearcher, SearchHit,
RAGBuilder, IndexType,
};