Skip to main content

rullama_inference/
lib.rs

1//! # rullama-inference
2//!
3//! LLM-driven workhorses for the rullama.
4//!
5//! This crate is the home for everything in the framework that drives an
6//! LLM call (chat / completion) or constructs prompts for one. It depends
7//! on `rullama-agent` for coordination primitives (locks, message
8//! bus, agent lifecycle, runtime context) — coordination is what holds
9//! agents together; inference is what they do.
10//!
11//! Extracted from `rullama-agent` in Phase 11f to separate the
12//! "what holds agents together" (`rullama-agent`, the coordination
13//! crate) from "what makes them think" (this crate).
14//!
15//! ## Modules
16//!
17//! - [`chat_agent`] — streaming chat completion loop with per-user session management
18//! - [`task_agent`] — autonomous task execution loop
19//! - [`planner_agent`] — LLM-powered dynamic task planning
20//! - [`judge_agent`] — LLM-powered cycle evaluation
21//! - [`validator_agent`] / [`validation_agent`] — LLM-driven validation
22//! - [`validation_loop`] — quality-check loop wrapping validation agents
23//! - [`cycle_orchestrator`] — Plan → Work → Judge cycle driver
24//! - [`plan_executor`] — execution of LLM-generated plans
25//! - [`summarization`] — history compaction via LLM
26//! - [`system_prompts`] — registry of agent prompt templates
27
28pub mod agent_hooks;
29pub mod builder;
30pub mod chat_agent;
31pub mod context;
32pub mod cycle_orchestrator;
33pub mod judge_agent;
34pub mod plan_executor;
35pub mod planner_agent;
36pub mod pool;
37pub mod runtime;
38pub mod summarization;
39pub mod system_prompts;
40pub mod task_agent;
41pub mod task_orchestrator;
42pub mod validation_agent;
43pub mod validation_loop;
44pub mod validator_agent;
45
46pub use agent_hooks::*;
47pub use builder::AgentBuilder;
48pub use chat_agent::*;
49pub use context::*;
50pub use cycle_orchestrator::*;
51pub use judge_agent::*;
52pub use plan_executor::*;
53pub use planner_agent::*;
54pub use pool::*;
55pub use runtime::*;
56pub use summarization::*;
57pub use system_prompts::*;
58pub use task_agent::*;
59pub use task_orchestrator::*;
60pub use validation_agent::*;
61pub use validation_loop::*;
62pub use validator_agent::*;