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

pub mod artifact;
pub mod gateway;
pub mod jobs;
pub mod panel_context;
pub mod prompts;
mod routing;
mod service;
mod settings;
mod stream_events;
mod tools;
mod types;

pub use gateway::{AgentToolRuntimeContext, ChatGateway, RigChatGateway};
pub(crate) use jobs::BackgroundJobEvent;
pub use jobs::{
    BackgroundJobCoordinator, BackgroundJobKind, BackgroundJobSnapshot, BackgroundJobStatus,
    CancelBackgroundJobRequest, StartBackgroundJobRequest,
};
pub use prompts::system_prompt_for_profile;
pub use routing::resolve_runtime;
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, CancelChatStreamRequest, 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,
};
