// Semantic Search Services
// PMAT-SEARCH-001: AST-Aware Code Chunker
// PMAT-SEARCH-002: Local Embeddings (Pure Rust - Zero API Keys)
// PMAT-SEARCH-003: Turso Vector Database
// PMAT-SEARCH-004: Vector Similarity Search Engine
// PMAT-SEARCH-005: Hybrid Search Engine with RRF
// PMAT-SEARCH-007: K-means Clustering
// PMAT-SEARCH-008: Topic Modeling with LDA
//
// NOTE: This module uses ONLY local embeddings via aprender/trueno-rag.
// NO external API keys required (no OpenAI, no cloud dependencies).

pub mod chunker;
pub mod clustering;
pub mod hybrid_search;
pub mod search_engine;
pub mod topic_modeling;
pub mod turso_vector_db;

pub use chunker::{
    chunk_code, chunk_text_fixed, chunk_text_recursive, chunk_text_with_overlap, ChunkType,
    CodeChunk, Language,
};
pub use clustering::{
    Cluster, ClusterFilters, ClusterMember, ClusterResult, ClusteringEngine, ClusteringMethod,
    Dendrogram, DendrogramMerge, Linkage, OutlierPoint,
};
pub use hybrid_search::{
    Bm25SearchEngine, HybridSearchEngine, HybridSearchMode, HybridSearchQuery, HybridSearchResult,
};
pub use search_engine::SearchResult; // Primary search result type
pub use search_engine::{IndexStats, SearchMode, SearchQuery, SemanticSearchEngine};
pub use topic_modeling::{Topic, TopicChunk, TopicEngine, TopicFilters, TopicResult};
pub use turso_vector_db::{EmbeddingEntry, TursoVectorDB};
