pub mod config;
pub mod events;
pub mod protocol;
pub const UIRA_DIR: &str = ".uira";
pub const DEFAULT_ANTHROPIC_MODEL: &str = "claude-sonnet-4-20250514";
pub const DEFAULT_OPENAI_MODEL: &str = "gpt-4o";
pub const ENV_ANTHROPIC_API_KEY: &str = "ANTHROPIC_API_KEY";
pub const ENV_OPENAI_API_KEY: &str = "OPENAI_API_KEY";
pub const ENV_GEMINI_API_KEY: &str = "GEMINI_API_KEY";
pub const ENV_GOOGLE_API_KEY: &str = "GOOGLE_API_KEY";
pub use config::*;
pub use events::*;
pub use protocol::{
AgentError, AgentState, ExecutionResult, Item, Progress, ThreadEvent,
};
pub use protocol::{
ContentBlock, ContentDelta, ImageSource, Message, MessageContent, MessageDelta, ModelResponse,
Role, StreamChunk, StreamError, StreamMessageStart, ToolCall,
};
pub use protocol::{
ApprovalRequest, ApprovalRequirement, CacheControl, JsonSchema, ReviewDecision,
SandboxPreference, SuggestedAction, ToolOutput, ToolOutputContent, ToolResult, ToolSpec,
};
pub use protocol::{
MessageId, ModelTier, Provider, SessionId, StopReason, ThreadId, TodoItem, TodoPriority,
TodoStatus, TokenUsage, WorkspaceConfig, TODO_CONTINUATION_PROMPT,
};
pub use protocol::{
atomic_write, atomic_write_secure, HookContext, HookEvent, HookEventParseError, HookOutput,
HookResult, PermissionDecision, PermissionMode, PostToolUseInput, PreCompactInput,
PreToolUseInput, SessionInfo, StopInput, ToolResponse, UserPromptSubmitInput,
};