#![deny(missing_docs)]
pub mod agent;
pub mod agents;
pub mod attach;
pub mod chunker;
pub mod documents;
pub mod embed;
pub mod error;
#[cfg(feature = "test-fixtures")]
pub mod fixtures;
pub mod fs_session_store;
#[cfg(feature = "internal-generate")]
pub mod generate;
pub mod longterm_memory;
pub mod memory;
pub mod parsers;
pub mod prompts;
pub mod store;
pub mod types;
pub mod vector;
mod web;
pub use types::{
AttachedDocument, ChatConfig, ChunkConfig, ChunkMeta, ContextSizeMode, DocumentType,
EmbedConfig, EpubParserBackend, GenerationParams, IndexManifest, MemoryConfig,
PaperResult, ParseConfig, PdfParserBackend, PipelineFilter, PipelineProvenance,
RagrigConfig,
};
pub use chunker::{
ChunkedText, ChunkedrsChunker, ChunkedrsMode, Chunker, MarkdownChunker, TokenChunker,
available_chunkers,
};
#[cfg(feature = "chunker-textsplitter")]
pub use chunker::{TextSplitterChunker, TextSplitterMode};
#[cfg(feature = "chunker-cognigraph")]
pub use chunker::CognigraphChunker;
pub use attach::{
AppendAttach, AttachStrategy, NoopAttach, PrependAttach, ReplaceAttach,
};
pub use agents::{ChatAgentSpec, Generator, MutexGenerator, SimpleGenerator};
#[cfg(feature = "internal-embed")]
pub use embed::FastembedEmbedder;
pub use embed::{Embedder, EmbedderSpec, EmbeddingMetadata, NoopEmbedder, OllamaEmbedder};
pub use parsers::{
DocumentParser, DocumentParsers, VisionPdfParser, build_parsers, build_parsers_without_vision,
chunk_text, extract_text,
};
#[cfg(feature = "kreuzberg")]
pub use parsers::KreuzbergParser;
pub use fs_session_store::FsSessionStore;
pub use longterm_memory::{
HistoryStrategy, LogHistory, MemoryStrategyKind, SessionConfig, SessionData, SessionId,
SessionStore, SummaryHistory, Turn, TurnPairs, TurnPerf, TurnRole,
};
pub use memory::MemoryStrategy;
pub use memory::RewriteMemory;
pub use memory::TranscriptMemory;
pub use prompts::SystemPrompts;
pub use agent::{RagAgent, RagResponse};
pub use store::{
HybridRrfRanker, LlmReranker, MmrDiversityRanker, Ranker, ScoredChunk, VectorStore,
WeightedFusionRanker,
};
pub use error::RagrigError;
pub use documents::FileIndexResult;
pub use vector::{
collect_documents, collect_documents_with_stats, embed_documents, index_folder,
index_folder_with_chunker, scan_document_files, search_by_document,
};
pub use web::download_and_ingest_url;
pub use web::DEFAULT_MAX_DOWNLOAD_BYTES;