//! The agent run loop: takes a user message, drives the LLM provider, //! executes tools, and journals every event before any observer sees it //! (the gateway streams exactly this journal, live or replayed). pub mod brain; mod events; pub mod outbox; mod runtime; mod sandboxes; pub mod scheduling; mod terminals; mod tools; pub use events::{RunEventBody, RunEventEnvelope}; pub use outbox::{drain_once, spawn_drainer, EmailSender, LettreSender, SmtpConfig}; pub use runtime::{ governor_allows, judge_model, ProviderRegistry, Runtime, RuntimeConfig, RuntimeError, StartedRun, }; pub use sandboxes::{NodeDriverProvider, SandboxManager}; pub use terminals::{DriveConfig, TerminalManager}; pub use tools::{ClockNow, EmailSend, Tool, ToolContext, ToolRegistry};