//! Query engine for AiFastDb
//!
//! Provides hybrid search combining vector similarity, text matching,
//! metadata filtering, and graph traversal.
//!
//! # Modules
//!
//! - `hybrid` - Basic hybrid query engine (sync)
//! - `concurrent` - High-performance concurrent query engine with backpressure
//! - `filter` - Filter conditions for metadata filtering
//! - `multi_collection` - Multi-collection query support

pub mod compute_backend;
pub mod concurrent;
pub mod filter;
pub mod hybrid;
pub mod multi_collection;
pub mod reranker;
pub mod sifu;
pub mod sifu_trainer;

pub use concurrent::{
    ConcurrentQueryConfig, ConcurrentQueryEngine, QueryError, QueryMetrics, QueryMetricsSnapshot,
};
pub use filter::{Filter, FilterCondition, FilterOp};
pub use hybrid::HybridQueryEngine;
pub use multi_collection::MultiCollectionQueryEngine;
pub use sifu::{
    SiFuQueryEngine, SiFuConfig, SiFuResult, ActivationFn,
    TransformMatrix, EdgeWeight, EdgeWeightStore,
    FlowTrace, FlowHop, FlowSeed,
    PipelineConfig, PipelineResult,
};
pub use compute_backend::{
    ComputeBackend, ComputeBackendInfo, CpuBackend,
    select_backend, default_backend,
};
pub use sifu_trainer::{
    HebbianLearner, HebbianConfig, HebbianStats,
    ContrastiveFitter, ContrastiveConfig, TrainingSample, TrainingResult,
    ProjectorTrainer, ProjectorTrainConfig,
    SiFuTrainer, FullTrainingResult,
    QueryLog, QueryLogEntry,
    PromotionConfig, PromotionScanResult, run_promotion_scan,
};
pub use reranker::{
    Reranker, RerankCandidate, RankedResult, RerankError, RerankResult,
    LinearReranker, RRFReranker, CrossEncoderReranker,
};