1#![warn(missing_docs)]
29#![warn(clippy::all)]
30
31pub mod advanced_features;
32
33#[cfg(feature = "storage")]
35pub mod agenticdb;
36
37pub mod distance;
38pub mod embeddings;
39pub mod error;
40pub mod index;
41pub mod quantization;
42
43#[cfg(feature = "storage")]
45pub mod storage;
46
47#[cfg(not(feature = "storage"))]
48pub mod storage_memory;
49
50#[cfg(not(feature = "storage"))]
51pub use storage_memory as storage;
52
53pub mod types;
54pub mod vector_db;
55
56pub mod arena;
58pub mod cache_optimized;
59#[cfg(all(feature = "parallel", not(target_arch = "wasm32")))]
60pub mod lockfree;
61pub mod simd_intrinsics;
62
63pub mod advanced;
65
66pub use advanced_features::{
68 ConformalConfig, ConformalPredictor, EnhancedPQ, FilterExpression, FilterStrategy,
69 FilteredSearch, HybridConfig, HybridSearch, MMRConfig, MMRSearch, PQConfig, PredictionSet,
70 BM25,
71};
72
73#[cfg(feature = "storage")]
74pub use agenticdb::AgenticDB;
75
76pub use embeddings::{EmbeddingProvider, HashEmbedding, BoxedEmbeddingProvider};
77#[cfg(feature = "api-embeddings")]
78pub use embeddings::ApiEmbedding;
79
80#[cfg(feature = "real-embeddings")]
81pub use embeddings::CandleEmbedding;
82
83#[cfg(feature = "storage")]
85const _: () = {
86 #[deprecated(
88 since = "0.1.0",
89 note = "AgenticDB uses placeholder hash-based embeddings. For semantic search, integrate a real embedding model (ONNX, Candle, or API). See /examples/onnx-embeddings for production setup."
90 )]
91 const AGENTICDB_EMBEDDING_WARNING: () = ();
92 let _ = AGENTICDB_EMBEDDING_WARNING;
93};
94
95pub use error::{Result, RuvectorError};
96pub use types::{DistanceMetric, SearchQuery, SearchResult, VectorEntry, VectorId};
97pub use vector_db::VectorDB;
98
99#[cfg(test)]
100mod tests {
101 use super::*;
102
103 #[test]
104 fn test_version() {
105 let version = env!("CARGO_PKG_VERSION");
107 assert!(!version.is_empty(), "Version should not be empty");
108 assert!(version.starts_with("0.1."), "Version should be 0.1.x");
109 }
110}