1#![cfg_attr(test, recursion_limit = "256")]
6
7pub mod app_context;
8pub mod auto_dream;
9mod auto_dream_privacy;
10pub mod capability_discovery;
11pub mod events;
12pub mod external_agents;
13pub mod gardener;
14pub mod gold_auto_answer;
15pub mod ledger_gardener;
16pub mod llm_summarizer;
17pub mod message_hooks;
18pub mod model_areas;
19pub mod model_config_helper;
20pub mod placement_scheduler;
21pub mod project_context;
22pub mod prompt_defaults;
23pub mod resolved_defaults;
24pub mod runtime;
25pub mod sdk;
26pub mod session_activation;
27pub mod session_app;
28pub mod session_cache;
29pub mod ticket_runtime;
30pub mod ticket_token_budget;
31pub mod ticket_worker_plan;
32pub use session_cache::SessionSnapshot;
33pub mod session_messaging;
34pub mod session_repository;
35pub use session_repository::SessionRepository;
36#[cfg(feature = "test-utils")]
37pub mod test_utils;
38pub mod title_gen;
39pub mod token_usage_log;
40pub mod workflow_run;
41pub use token_usage_log::TokenUsageRecord;
42pub use workflow_run::{
43 AgentStepPort, AgentStepResult, FileWorkflowRunRepository, NamedAgentSpec, PermissionDecision,
44 WorkflowDefinitionPort, WorkflowPolicyPort, WorkflowPolicyTarget, WorkflowRunEngine,
45 WorkflowRunError, WorkflowRunRepository, WorkflowSecretMaterial, WorkflowSecretResolverPort,
46 WorkflowSessionPermissionPort,
47};
48
49pub use app_context::AgentSessionContext;
50pub use runtime::execution::agent_spawn::{read_cached_session, SessionCache};
51pub use session_activation::{
52 SessionActivationLaunch, SessionActivationReserveOutcome, SessionActivationRouter,
53 SessionActivationSpawner, SessionRunRegistration, SessionRunRegistrationError,
54};
55pub use session_app::child_completion_coordinator::ChildCompletionCoordinator;
56pub use session_messaging::{
57 SessionMessagingMetrics, SessionMessagingMetricsSnapshot, SessionMessenger,
58 SessionMessengerAdmission, SessionMessengerError, SessionMessengerReceipt,
59 SessionPeerDeliveryReceipt,
60};
61
62pub use bamboo_agent_core::{
64 AgentError, AgentEvent, AgentHook, FunctionCall, FunctionSchema, Message, MessageContent,
65 MessagePart, MessagePhase, PromptSnapshot, Role, Session, TokenUsage, Tool, ToolCall,
66 ToolError, ToolExecutionContext, ToolExecutor, ToolRegistry, ToolResult, ToolSchema,
67};
68
69pub use bamboo_domain::{
72 AgentHookPoint, HookPayload, HookResult, HookToolOutcome, RuntimeSessionPersistence,
73};
74pub use runtime::agent::{AgentBuilder, DirectExecutionLease};
75pub use runtime::config::{
79 ApprovalDelegate, AuxiliaryModelConfig, BashResumeHook, ChildApprovalOutcome,
80 ChildApprovalRequest, DisabledFilterResolver, DisabledFilterSets, GuardianConfig,
81 GuardianSpawner, ImageFallbackConfig, ImageFallbackMode,
82};
83pub use runtime::counted_loop::CountedLoopConfig;
84pub use runtime::execution::runner_state::{AgentRunner, AgentStatus};
85pub use runtime::execution::{
86 VisibleAssistantMessage, VisibleMessageEvent, VisibleMessageEventKind, VisibleMessageSnapshot,
87 VisibleMessageStream,
88};
89pub use runtime::hooks::{
90 test_lifecycle_handler, test_lifecycle_shell_command, HookRunner, LifecycleHookEvent,
91 LifecycleHookTestOutput, LifecycleScriptRunner, ScriptHook, ShellCommandHook, ShellHookEvent,
92 ShellHookTestOutput,
93};
94pub use runtime::loop_control::{LoopControlConfig, SupervisorLoopControlGrant};
95pub use runtime::managers::{
96 LifecycleManager, LlmManager, MemoryManager, MiniLoopExecutor, PromptManager, ToolManager,
97};
98pub use runtime::model_roster::{ModelRoster, RoleModel};
99pub use runtime::runtime::{
100 AgentRuntime, AgentRuntimeBuilder, ExecuteRequest, ExecuteRequestBuilder,
101};
102pub use runtime::task_context::TaskLoopContext;
103pub use runtime::task_evaluation::{evaluate_task_progress, TaskEvaluationResult};
104pub use runtime::Agent;
105
106pub use sdk::runner::{child_runner, ChildRunner, RunChildInput};
108pub use sdk::spawn::run_child_spawn;
109
110pub mod runner {
112 pub use crate::runtime::runner::*;
113}
114pub mod context {
115 pub use crate::runtime::context::*;
116}
117pub mod execution {
118 pub use crate::runtime::execution::*;
119}
120pub mod config {
121 pub use crate::runtime::config::*;
122}
123pub mod hooks {
124 pub use crate::runtime::hooks::*;
125}
126pub mod managers {
127 pub use crate::runtime::managers::*;
128}
129pub mod stream {
130 pub use crate::runtime::stream::*;
131}
132pub mod task_context {
133 pub use crate::runtime::task_context::*;
134}
135pub mod task_evaluation {
136 pub use crate::runtime::task_evaluation::*;
137}
138pub mod agent {
139 pub use crate::runtime::agent::*;
140}
141
142#[cfg(test)]
143mod inherited_wait_regression_tests;