#![deny(missing_docs)]
#![deny(rustdoc::broken_intra_doc_links)]
pub mod adapter;
mod codec;
mod filter;
pub mod model;
mod root;
mod root_v2;
pub mod snapshot;
mod store;
pub mod text;
#[doc = include_str!("../docs/format-v2.md")]
pub mod format {}
#[doc = include_str!("../docs/format.md")]
pub mod format_v1 {}
#[doc = include_str!("../docs/snapshots.md")]
pub mod snapshots {}
pub mod guides {
#[doc = include_str!("../docs/quickstart.md")]
pub mod quickstart {}
#[doc = include_str!("../docs/persistence.md")]
pub mod persistence {}
#[doc = include_str!("../docs/filtering.md")]
pub mod filtering {}
#[doc = include_str!("../docs/history.md")]
pub mod history {}
#[doc = include_str!("../docs/embeddings.md")]
pub mod embeddings {}
#[doc = include_str!("../docs/chroma-migration.md")]
pub mod chroma_migration {}
#[doc = include_str!("../docs/integrations.md")]
pub mod integrations {}
}
pub use adapter::{Collection, Database};
pub use model::{
CollectionConfig, CollectionInfo, Condition, CountResult, DeleteSelector, DiffResult, Distance,
Filter, GetRequest, GetResult, HistoryEntry, IndexConfig, JsonObject, MatchValue,
MutationResult, ObjectId, ObjectStats, Point, PointId, Query, QueryMode, QueryParams,
QueryResult, QueryStats, Range, Record, ScoredPoint, SnapshotInfo, SnapshotMutation,
ValidationReport, WriteResult,
};
pub use snapshot::{Snapshot, SnapshotEngine};
pub use store::{open, CollectionHandle, Store};
pub use text::{Document, DocumentHit, Embedder, TextCollection, TextQuery};
#[cfg(feature = "fastembed")]
pub use text::{FastEmbedInitOptions, FastEmbedModel, FastEmbedder};
use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum Error {
#[error("Git error: {0}")]
Git(#[from] git2::Error),
#[error("JSON error: {0}")]
Json(#[from] serde_json::Error),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("embedding error: {0}")]
Embedding(String),
#[error("invalid request: {0}")]
Invalid(String),
#[error("collection not found: {0}")]
CollectionNotFound(String),
#[error("collection already exists: {0}")]
CollectionExists(String),
#[error("stale collection root: expected {expected}, actual {actual}")]
StaleRoot {
expected: ObjectId,
actual: ObjectId,
},
#[error("read-only historical collection")]
ReadOnly,
#[error("corrupt collection: {0}")]
Corrupt(String),
}
pub type Result<T> = std::result::Result<T, Error>;