pub mod agent_loop;
pub mod builtin;
pub mod catalog;
pub mod context_compaction;
pub mod coordinator;
pub mod definition;
pub mod gate;
pub mod inbox;
pub mod media_handler;
pub mod projection;
pub mod run;
pub mod steering;
pub mod sub_agent;
pub mod system_prompt;
pub mod turn_event;

pub use agent_loop::{AgentError, AgentLoop, AgentProcessResult};
pub use catalog::{AgentCatalog, AgentCatalogError, CatalogEntryError};
pub use context_compaction::{
    CompactionCandidate, CompactionReason, ContextBudget, ContextBudgetParts, ContextCompactor,
    ContextRequestKey, ContextUsageTracker, PreviousCheckpoint, SequencedMessage,
    context_request_digest, estimate_tokens,
};
pub use coordinator::{AgentCoordinator, CoordinatorError, ScheduledAgentExecution};
pub use definition::{AgentDefinition, AgentLimits};
pub use gate::ExecutionGate;
pub use inbox::{AgentInboxNotifier, AgentInboxWakeTarget};
pub use projection::AgentProjectionHub;
pub use run::{AgentBudget, AgentExecutionContext};
pub use steering::{SteeringDrain, SteeringPushError, TurnInput, TurnInputSource, TurnMailbox};
pub use sub_agent::{
    ExecutionMode, SubAgentConfig, SubAgentError, SubAgentManager, SubAgentResult, TaskStatus,
};
pub use system_prompt::{
    PromptContext, PromptSection, SystemPromptBuilder, build_sub_agent_system_prompt,
    build_system_prompt,
};
pub use turn_event::{AgentTurnContext, TurnEmitError, TurnEmitter, TurnEvent};
