1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Copyright (c) 2026 vectorless developers
// SPDX-License-Identifier: Apache-2.0
//! Index Pipeline module.
//!
//! This module provides a modular, extensible document indexing pipeline.
//!
//! # Architecture
//!
//! ```text
//! Priority 10: ┌──────────┐
//! │ Parse │ Parse document into raw nodes
//! └────┬─────┘
//! Priority 20: ┌────▼─────┐
//! │ Build │ Construct tree + thinning (with content merge)
//! └────┬─────┘
//! Priority 22: ┌────▼─────┐
//! │ Validate │ Tree integrity checks (optional)
//! └────┬─────┘
//! Priority 25: ┌────▼─────┐
//! │ Split │ Split oversized leaf nodes (optional)
//! └────┬─────┘
//! Priority 30: ┌────▼─────┐
//! │ Enhance │ LLM summaries (when client available)
//! └────┬─────┘
//! Priority 40: ┌────▼─────┐
//! │ Enrich │ Metadata + cross-references
//! └────┬─────┘
//! Priority 45: ┌────▼──────────┐
//! │ Reasoning Idx │ Pre-computed reasoning index
//! └────┬──────────┘
//! Priority 60: ┌────▼──────┐
//! │ Optimize │ Final tree optimization
//! └───────────┘
//! ```
//!
//! Checkpointing is available when `PipelineOptions::checkpoint_dir` is set.
//! State is saved after each stage group and resumed on restart.
//!
//! # Usage
//!
//! ```rust,ignore
//! use vectorless::index::{PipelineExecutor, IndexInput, PipelineOptions};
//! use vectorless::index::summary::SummaryStrategy;
//!
//! let options = PipelineOptions::new()
//! .with_summary_strategy(SummaryStrategy::selective(100, true));
//!
//! let result = PipelineExecutor::new()
//! .with_options(options)
//! .execute(input)
//! .await?;
//! ```
// Re-export main types from pipeline
pub use ;
// Re-export config types
pub use crateReasoningIndexConfig;
pub use ;
// Re-export summary
pub use SummaryStrategy;