1#![allow(clippy::collapsible_if)]
3#![allow(clippy::too_many_arguments)]
4#![allow(clippy::manual_map)]
5#![allow(clippy::manual_strip)]
6#![allow(clippy::or_fun_call)]
7#![allow(clippy::only_used_in_recursion)]
8#![allow(clippy::double_ended_iterator_last)]
9#![allow(clippy::cmp_owned)]
10#![allow(clippy::unwrap_or_default)]
11
12pub mod cache;
52pub mod discovery;
53pub mod export;
54pub mod fold;
55pub mod incremental;
56pub mod parsing;
57pub mod query;
58pub mod search;
59pub mod state;
60pub mod topology;
61pub mod types;
62
63#[cfg(feature = "analysis")]
65pub mod analysis;
66#[cfg(feature = "context")]
67pub mod context;
68#[cfg(feature = "intervention")]
69pub mod intervention;
70#[cfg(feature = "mcp")]
71pub mod mcp;
72#[cfg(feature = "semantic")]
73pub mod semantic;
74
75pub use cache::{FileFingerprint, IndexManifest};
77pub use discovery::FileDiscovery;
78pub use fold::{FunctionSignature, fold_to_signatures, parse_single_file};
79pub use incremental::IncrementalIndexer;
80pub use incremental::{IndexOptions, IndexReport};
81pub use query::{QueryFilters, QueryResponse, QueryResult, SearchDoc, SearchIndex, SearchState};
82pub use search::{
83 Bm25Index, HybridSearch, HybridSearchConfig, HybridSearchResult, SearchQualityMetrics,
84};
85pub use state::{IndexStats, OciState, SharedState, create_state};
86pub use types::*;
87
88#[cfg(feature = "analysis")]
90pub use analysis::DeadCodeAnalyzer;
91#[cfg(feature = "context")]
92pub use context::{ContextChunk, ContextQuery, ContextResult, ContextSynthesizer};
93#[cfg(feature = "intervention")]
94pub use intervention::InterventionEngine;
95
96pub const SERVER_NAME: &str = "omni-index";
98pub const SERVER_VERSION: &str = env!("CARGO_PKG_VERSION");