vectorless 0.1.21

Hierarchical, reasoning-native document intelligence engine
Documentation
// Copyright (c) 2026 vectorless developers
// SPDX-License-Identifier: Apache-2.0

//! # Vectorless

// Clippy: allow some pedantic lints that are too noisy for early-stage project
#![allow(clippy::all)]
#![allow(dead_code)]
#![allow(unused_variables)]
#![allow(unused_imports)]
#![allow(clippy::iter_over_hash_type)]
#![allow(clippy::large_enum_variant)]
#![allow(clippy::manual_unwrap_or_default)]

//! # Vectorless
//!
//! An ultra-performant reasoning-native document intelligence engine for AI.
//!
//! It transforms documents into rich semantic trees and uses LLMs to
//! intelligently traverse the hierarchy — retrieving the most relevant content
//! through structural reasoning and deep contextual understanding.
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use vectorless::{EngineBuilder, IndexContext, QueryContext};
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//!     let client = EngineBuilder::new()
//!         .with_workspace("./workspace")
//!         .build()
//!         .await?;
//!
//!     let result = client.index(IndexContext::from_path("./document.md")).await?;
//!     let doc_id = result.doc_id().unwrap();
//!
//!     let result = client.query(
//!         QueryContext::new("What is this about?").with_doc_id(doc_id)
//!     ).await?;
//!     println!("{}", result.content);
//!
//!     Ok(())
//! }
//! ```
//!
//! ## Modules
//!
//! | Module | Description |
//! |--------|-------------|
//! | [`client`] | High-level API (`Engine`, `EngineBuilder`, `IndexContext`, `QueryContext`) |
//! | [`document`] | Core domain types (`DocumentTree`, `TreeNode`, `NodeId`) |
//! | [`error`] | Error types |

pub mod client;
mod config;
pub mod document;
pub mod error;
mod index;
mod llm;
mod memo;
mod metrics;
mod parser;
mod retrieval;
mod storage;
mod throttle;
mod utils;

// Client API
pub use client::{
    BuildError, ClientError, DocumentFormat, DocumentInfo, Engine, EngineBuilder, EventEmitter,
    IndexContext, IndexItem, IndexMode, IndexOptions, IndexResult, QueryContext, QueryResult,
};

// Error types
pub use error::{Error, Result};

// Document types
pub use document::{
    DocumentStructure, DocumentTree, NodeId, StructureNode, TocConfig, TocEntry, TocNode, TocView,
    TreeNode,
};