#![forbid(unsafe_code)]
#![deny(missing_docs)]
pub mod engine;
pub mod event;
pub mod message;
#[cfg(feature = "mock")]
pub mod mock;
pub mod output;
pub mod paste;
pub mod provider;
pub mod request;
pub mod session;
pub mod tool;
pub use async_trait::async_trait;
pub use engine::{Agent, AgentBuilder, AgentError, CommitHook, run_turn};
pub use event::{Event, EventSink};
pub use message::{Content, Message, Role};
#[cfg(feature = "mock")]
pub use mock::MockProvider;
pub use output::{ModelOutput, Step, StopReason, Usage};
pub use provider::{ModelProvider, ProviderError};
pub use request::{ChatParams, ModelRequest, ToolSpec};
pub use session::Session;
pub use tool::{ReplaySafety, ToolCall, ToolContext, ToolResolver, ToolResult};