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 Cluster, Confidence, Contradiction, ContradictionKind, Embedding, EmbeddingDtype,
22 EncodingContext, Episode, MemoryId, Provenance, SemanticAbstraction, Tier, Triple,
23 TripleObjectKind,
24};
25pub use vector_index::{VectorIndex, VectorIndexFactory};