Skip to main content

bamboo_engine/runtime/
mod.rs

1//! Agent execution runtime: loop, stream handling, task evaluation.
2
3pub mod agent;
4pub mod approval_delegation_state;
5pub mod complexity_classifier;
6pub mod config;
7pub mod context;
8pub mod execution;
9pub mod goal_state;
10pub mod gold_evaluation;
11pub mod guardian_state;
12pub mod hooks;
13pub mod managers;
14pub mod model_roster;
15pub mod runner;
16#[allow(clippy::module_inception)]
17pub mod runtime;
18pub mod stream;
19pub mod task_context;
20pub mod task_evaluation;
21
22pub use agent::{Agent, AgentBuilder};
23pub use bamboo_domain::RuntimeSessionPersistence;
24pub use complexity_classifier::{ComplexityClassifier, TaskComplexity};
25pub use config::{
26    ApprovalDelegate, ChildApprovalOutcome, ChildApprovalRequest, GoldConfig, GuardianConfig,
27    GuardianSpawner, ImageFallbackConfig, ImageFallbackMode,
28};
29// `AgentLoopConfig` is intentionally NOT re-exported: its fields are `pub(crate)`,
30// so it is unconstructible outside the engine. Internal call sites reach it via
31// `crate::runtime::config::AgentLoopConfig`. External code drives the loop only
32// through `AgentRuntime::execute`.
33pub use execution::runner_state::{AgentRunner, AgentStatus};
34pub use hooks::HookRunner;
35pub use managers::{
36    LifecycleManager, LlmManager, MemoryManager, MiniLoopExecutor, PromptManager, ToolManager,
37};
38pub use model_roster::{ModelRoster, RoleModel};
39pub use runtime::{AgentRuntime, AgentRuntimeBuilder, ExecuteRequest, ExecuteRequestBuilder};
40pub use task_context::TaskLoopContext;
41pub use task_evaluation::{evaluate_task_progress, TaskEvaluationResult};
42
43#[cfg(test)]
44mod tests;