1pub mod client;
40pub mod collection;
41pub mod document;
42pub mod embedding;
43pub mod error;
44pub mod llm;
45pub mod rag;
46pub mod search;
47pub mod types;
48pub mod watch;
49
50#[cfg(feature = "code")]
51pub mod code;
52
53pub mod filecache;
54
55pub mod agent;
56pub mod tool;
57
58pub use client::{Spire, SpireBuilder};
60pub use collection::Collection;
61pub use document::Doc;
62pub use error::{Error, Result};
63pub use filecache::FileCache;
64pub use search::{Filter, Hit, Search};
65pub use types::{IndexResult, IngestResult};
66pub use watch::{Change, WatchStream};
67
68#[cfg(feature = "macros")]
69pub use spire_ai_macros::Doc;
70
71pub mod prelude {
73 pub use crate::client::{Spire, SpireBuilder};
74 pub use crate::collection::Collection;
75 pub use crate::document::Doc;
76 pub use crate::embedding::Embedder;
77 pub use crate::error::{Error, Result};
78 pub use crate::rag::chunker::Chunk;
79 pub use crate::rag::{RagBuilder, RagPipeline, ScoredChunk};
80 pub use crate::search::{Filter, Hit, Search};
81 pub use crate::{Change, WatchStream};
82
83 #[cfg(feature = "code")]
84 pub use crate::code::{CodeChunk, CodeContext, CodeIndex};
85
86 pub use crate::filecache::{CacheStats, FileCache, ReadResult};
87
88 pub use crate::agent::{AgentLoop, AgentLoopConfig, AgentMemory};
89 pub use crate::llm::{ChatMessage, ChatResponse, ToolDef};
90 pub use crate::tool::{Tool, ToolRegistry, ToolResult};
91
92 #[cfg(feature = "macros")]
93 pub use spire_ai_macros::Doc;
94
95 pub use serde::{Deserialize, Serialize};
96}