pub struct IndexConfig {Show 16 fields
pub enabled: bool,
pub search_enabled: bool,
pub watch: bool,
pub max_chunks: usize,
pub score_threshold: f32,
pub budget_ratio: f32,
pub repo_map_tokens: usize,
pub repo_map_ttl_secs: u64,
pub mcp_enabled: bool,
pub workspace_root: Option<PathBuf>,
pub concurrency: usize,
pub batch_size: usize,
pub memory_batch_size: usize,
pub max_file_bytes: usize,
pub embed_provider: Option<String>,
pub embed_concurrency: usize,
}Fields§
§enabled: bool§search_enabled: bool§watch: bool§max_chunks: usize§score_threshold: f32§budget_ratio: f32§repo_map_tokens: usize§repo_map_ttl_secs: u64§mcp_enabled: boolEnable IndexMcpServer tools (symbol_definition, find_text_references, call_graph,
module_summary). When true, static repo-map injection is skipped and the LLM
uses on-demand tool calls instead.
workspace_root: Option<PathBuf>Root directory to index. When None, falls back to the current working directory at
startup. Relative paths are resolved relative to the process working directory.
concurrency: usizeNumber of files to process concurrently during initial indexing. Default: 4.
batch_size: usizeMaximum number of new chunks to batch into a single Qdrant upsert per file. Default: 32.
memory_batch_size: usizeNumber of files to process per memory batch during initial indexing.
After each batch the stream is dropped and the executor yields to allow
the allocator to reclaim pages. Default: 32.
max_file_bytes: usizeMaximum file size in bytes to index. Files larger than this are skipped. Protects against large generated files (e.g. lock files, minified JS). Default: 512 KiB.
embed_provider: Option<String>Name of a [[llm.providers]] entry to use exclusively for embedding calls during
indexing. A dedicated provider prevents the indexer from contending with the guardrail
at the API server level (rate limits, Ollama single-model lock). When unset or empty,
falls back to the main agent provider.
embed_concurrency: usizeMaximum parallel embed_batch calls during indexing (default: 2 to stay within provider
TPM limits).
Trait Implementations§
Source§impl Debug for IndexConfig
impl Debug for IndexConfig
Source§impl Default for IndexConfig
impl Default for IndexConfig
Source§impl<'de> Deserialize<'de> for IndexConfig
impl<'de> Deserialize<'de> for IndexConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for IndexConfig
impl RefUnwindSafe for IndexConfig
impl Send for IndexConfig
impl Sync for IndexConfig
impl Unpin for IndexConfig
impl UnsafeUnpin for IndexConfig
impl UnwindSafe for IndexConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request