#![deny(unsafe_code)]
#![warn(missing_docs)]
pub mod agent;
pub mod client;
pub mod config;
pub mod error;
pub mod hooks;
pub mod lifecycle;
pub mod mcp;
pub mod message_parser;
pub mod permissions;
pub mod plugin_resolver;
pub mod plugins;
pub mod routing;
pub mod sandbox;
pub mod session;
#[cfg(feature = "skills")]
pub mod skills;
pub mod testing;
pub mod retry;
pub use agent::AgentDefinition;
pub use client::ClaudeAgentClient;
pub use config::{ClaudeAgentClientConfig, SessionConfig, ToolsOption, ToolsPreset};
pub use error::{AgentError, BackoffStrategy, ErrorRecovery, Result};
pub use hooks::HookRegistry;
pub use lifecycle::{SessionEvent, SessionGuard};
pub use message_parser::{MessageParseError, ParsedMessage, parse_message, parse_message_str};
pub use plugin_resolver::{DependencyResolver, PluginManifest, Version};
pub use plugins::{Plugin, PluginLoader, PluginMetadata, SdkPluginConfig};
pub use retry::{retry, retry_with_recovery};
pub use routing::MessageRouter;
pub use sandbox::{SandboxIgnoreViolations, SandboxNetworkConfig, SandboxSettings};
pub use session::{AgentSession, QueryBuilder, SessionState};
pub use turboclaude::types::beta::{
CompactionControl, CompactionResult, CompactionSummary, OutputConfig, OutputEffort,
};
#[cfg(feature = "skills")]
pub use skills::{ActiveSkill, SkillDiscoveryResult, SkillManager, ToolValidationResult};
pub use turboclaude_protocol::{
HookRequest, HookResponse, PermissionCheckRequest, PermissionResponse,
};