mod agent;
mod core;
mod helpers;
mod json;
mod mutations;
mod persistence;
mod providers;
mod services;
#[cfg(test)]
mod tests;
mod tools;
mod validation;
mod wire;
pub use agent::SummarizerSettings;
pub(crate) use agent::{AutoCompactionLimit, DEFAULT_TUI_SUBAGENT_CARD_ROWS};
#[allow(unused_imports)]
pub use agent::{
AutoCompactionSettings, CompactionSettings, HerdrSettings, InstructionsSettings,
IntegrationsSettings, ModelsSettings, SessionTitleSettings, SkillsSettings, SubagentsSettings,
TuiSettings,
};
#[cfg(test)]
pub(crate) use agent::{
DEFAULT_AUTO_COMPACTIONS_PER_RUN, DEFAULT_SUBAGENT_SCHEMA_VALIDATION_MAX_RETRIES,
};
#[cfg(test)]
pub(crate) use core::SessionSettings;
pub use core::{
AnthropicCacheTtl, FastSettings, OpenAiCodexSettings, OpenAiResponsesSettings, Settings,
TextVerbosity,
};
pub(crate) use core::{DEFAULT_SESSION_RETENTION_DAYS, SettingsListKind, SettingsScope};
#[cfg(test)]
pub(crate) use providers::{
DEFAULT_PROVIDER_STREAM_SEMANTIC_PROGRESS_TIMEOUT_SECONDS,
DEFAULT_SUBAGENT_STREAM_SEMANTIC_PROGRESS_TIMEOUT_SECONDS,
};
pub use providers::{ProviderStreamSettings, SelectedModelSettings, TtsrRuleSetting, TtsrSettings};
pub(crate) use services::DEFAULT_MCP_TIMEOUT_SECONDS;
#[cfg(test)]
pub(crate) use services::{DEFAULT_LSP_DIAGNOSTICS_WAIT_MS, DEFAULT_LSP_IDLE_SHUTDOWN_MINUTES};
pub use services::{
LspServerConfig, LspServersSettings, LspSettings, McpHttpServerConfig, McpOAuthConfig,
McpServerConfig, McpServersSettings, McpStdioServerConfig,
};
pub use tools::{
AstGrepToolSettings, BashToolSettings, FindToolSettings, GrepToolSettings,
HashEditToolSettings, ListFilesToolSettings, ReadToolSettings, SubagentsToolSettings,
ToolOutputCompressionSettings, ToolSettings, ViewImageToolSettings,
ViewImageVisionModelSettings, WriteToolSettings,
};
pub(crate) use tools::{DEFAULT_VIEW_IMAGE_MAX_IMAGE_BYTES, MAX_VIEW_IMAGE_MAX_IMAGE_BYTES};
pub(crate) use agent::{CompactionConfig, SessionTitleConfig};
pub(crate) use core::AppearanceSettings;
#[allow(unused_imports)]
pub(crate) use json::{
has_path, remove_path, set_path, value_at_path, value_at_path_mut_or_create,
};
#[allow(unused_imports)]
pub(crate) use mutations::{
disabled_model_ids_from_settings, disabled_names_for_modal_scope,
disabled_skill_names_from_settings, disabled_subagent_profile_names_from_settings,
disabled_tool_names_from_settings, fast_mode_enabled, remove_custom_provider,
scope_has_disabled_list, set_appearance_theme, set_fast_mode, set_mcp_server_enabled,
set_model_disabled_for_scope, set_selected_model, set_selected_primary_agent,
set_skill_disabled_for_scope, set_subagent_profile_disabled, set_thinking_level,
set_tool_disabled, toggle_fast_mode, upsert_custom_provider,
};
#[cfg(test)]
pub(crate) use persistence::load_config_with_settings;
#[allow(unused_imports)]
pub(crate) use persistence::{
load_startup_config_with_settings, read_settings, read_settings_document,
read_settings_for_scope, read_settings_locked, update_settings_checked,
update_settings_for_scope_preserving_unknown_top_level_fields,
update_settings_preserving_unknown_top_level_fields,
};
#[allow(unused_imports)]
pub(crate) use tools::{
clamp_subagent_max_depth, validate_view_image_identifier, validate_view_image_max_image_bytes,
};
#[allow(unused_imports)]
pub(crate) use validation::{
validate_lsp_settings, validate_mcp_http_url_field, validate_mcp_server_name,
validate_mcp_servers_settings, validate_settings,
};
#[allow(unused_imports)]
pub(crate) use wire::{SettingsDocument, migrate_settings_value};
#[cfg(test)]
pub(crate) use mutations::{disabled_skill_names, selected_primary_agent, set_skill_disabled};
#[cfg(test)]
pub(crate) use persistence::{ensure_settings_schema_files, write_settings};