//! Agent domain logic and request/response types.

mod gateway;
mod panel_context;
mod routing;
mod service;
mod settings;
mod stream_events;
mod tools;
mod types;

pub use gateway::{AgentToolRuntimeContext, ChatGateway, RigChatGateway};
pub use service::AgentService;
pub(crate) use settings::AgentSettingsService;
pub use stream_events::AgentStreamEmitter;
pub use types::{
    default_task_defaults, AgentConfigStatus, AgentProviderKind, AgentProviderStatuses,
    AgentRuntimeConfig, AgentStoredSettings, AgentStreamItemEvent, AgentStreamItemKind,
    AgentTaskRoute, ChatPanelContext, ChatPromptRequest, ChatStreamStart, OllamaProviderSettings,
    PreparedChatTurn, ProviderConfigStatus, RemoteProviderSettings,
    ResolveAgentToolApprovalRequest, SaveAgentRuntimeConfigRequest, TaskProfile,
    UpdateRemoteApiKeyRequest, AGENT_SETTINGS_STORE_PATH, DEFAULT_OLLAMA_BASE_URL,
    DEFAULT_OLLAMA_COMPAT_API_KEY, DEFAULT_REMOTE_BASE_URL, DEFAULT_REMOTE_MODEL,
};
