Skip to main content

solo_core/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2
3//! Solo core: shared types, traits, and error definitions used across the
4//! workspace.
5//!
6//! This crate has no production-side dependencies on storage, indexing, or LLM
7//! runtimes — it is the "contract" layer that those crates implement against.
8//! See `docs/adr/0002-traits.md` for the design rationale behind the trait
9//! shapes (`Embedder`, `VectorIndex`, `LlmClient`).
10
11pub mod embedder;
12pub mod error;
13pub mod llm;
14pub mod types;
15pub mod vector_index;
16
17pub use embedder::Embedder;
18pub use error::{Error, Result};
19pub use llm::{LlmClient, Message, Role};
20pub use types::{
21    ChunkId, Cluster, Confidence, Contradiction, ContradictionKind, DEFAULT_TENANT_ID,
22    Document, DocumentChunk, DocumentId, DocumentStatus, Embedding, EmbeddingDtype,
23    EncodingContext, Episode, InvalidateEvent, MemoryId, Provenance, SemanticAbstraction,
24    TENANT_ID_MAX_LEN, TenantId, TenantIdError, Tier, Triple, TripleObjectKind,
25};
26pub use vector_index::{VectorIndex, VectorIndexFactory};