Skip to main content

codetether_rlm/
lib.rs

1//! # Recursive Language Model (RLM)
2//!
3//! Core types, oracle, chunker, event definitions, and the routing
4//! subsystem for Recursive Language Model processing.
5//!
6//! **Driver modules** (`repl`, `tools`) remain in `codetether-agent`
7//! due to tight coupling with `Provider`/`SessionBus`. The router is
8//! provided here behind the [`RouterHost`] trait so the host can
9//! inject its concrete tool-dispatch implementation.
10
11pub mod capability;
12pub mod chunker;
13pub mod config;
14pub mod context_index;
15pub mod context_trace;
16pub mod engine;
17pub mod events;
18pub mod model_select;
19pub mod oracle;
20pub mod result;
21pub mod router;
22pub mod stats;
23pub mod traits;
24pub mod types;
25
26pub use chunker::{Chunk, ChunkOptions, ContentType, RlmChunker};
27pub use config::RlmConfig;
28pub use context_index::{ContextIndex, EvidenceKind, EvidenceRecord, PlanIntent, RetrievalPlan};
29pub use events::{RlmCompletion, RlmOutcome, RlmProgressEvent, RlmSubcallFallback, S3Config};
30pub use model_select::{
31    RLM_MODEL_ENV, RlmModelChoice, RlmModelPurpose, RlmModelSource, select_rlm_model,
32    select_rlm_model_with_env,
33};
34pub use oracle::{
35    AstPayload, AstResult, FinalPayload, GeneratedQuery, GrepMatch, GrepOracle, GrepPayload,
36    GrepVerification, OracleResult, OracleTracePersistResult, OracleTraceRecord,
37    OracleTraceStorage, OracleTraceSyncStats, QueryTemplate, SemanticPayload, TemplateKind,
38    TraceStep, TraceValidator, TreeSitterOracle, TreeSitterVerification, ValidatedTrace,
39    VerificationMethod,
40};
41pub use result::RlmResult;
42pub use router::{
43    CrateAutoProcessContext, HostToolResult, IntoCrateCtx, ProcessProgress, RouterHost,
44    RoutingContext, RoutingResult, auto_process, extract_final, fallback_result, should_route,
45    smart_truncate,
46};
47pub use stats::RlmStats;
48pub use types::{RlmAnalysisResult, SubQuery};