mod agent;
mod core;
mod editor;
mod helpers;
mod json;
mod mcp;
mod mutations;
mod persistence;
mod providers;
mod services;
mod tools;
mod validation;
mod wire;
pub(crate) use agent::{AutoCompactionLimit, DEFAULT_TUI_SUBAGENT_CARD_ROWS};
pub use agent::{
AutoCompactionSettings, CompactionSettings, HerdrSettings, InstructionsSettings,
IntegrationsSettings, ModelsSettings, SessionTitleSettings, SkillsSettings, SubagentsSettings,
TuiSettings,
};
pub(crate) use agent::{HeaderPanel, PanelLayoutSettings};
pub use agent::{SideAgentSettings, SummarizerSettings};
pub use core::{
AnthropicCacheTtl, BashProtectionFailurePolicy, BashProtectionLevel, BashProtectionSettings,
CompactionTimingSettings, CompletionVerificationFailurePolicy, CompletionVerificationSettings,
FastSettings, HumanizeProtectionFailurePolicy, HumanizeProtectionSettings, JevSettings,
OpenAiCodexSettings, OpenAiResponsesSettings, PromptInjectionFailurePolicy,
PromptInjectionProtectionLevel, PromptInjectionProtectionSettings, Settings,
SkillSuggestionSettings, TextVerbosity,
};
pub(crate) use core::{DEFAULT_SESSION_RETENTION_DAYS, SettingsListKind, SettingsScope};
pub(crate) use editor::{load_settings_editor, save_settings_editor, set_code_mode_tool_enabled};
pub use providers::{ProviderStreamSettings, SelectedModelSettings};
pub(crate) use services::DEFAULT_MCP_TIMEOUT_SECONDS;
pub use services::{
LspServerConfig, LspServersSettings, LspSettings, McpHttpServerConfig, McpOAuthConfig,
McpServerConfig, McpServersSettings, McpStdioServerConfig,
};
pub use tools::{
AstGrepToolSettings, BashToolSettings, CodeModeToolSettings, FindToolSettings,
GrepToolSettings, HashEditToolSettings, ListFilesToolSettings, ReadToolSettings,
SubagentsToolSettings, 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;
pub(crate) use json::{remove_path, set_path, value_at_path};
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,
set_appearance_theme, set_fast_mode, set_mcp_server_enabled, set_model_disabled_for_scope,
set_panel_layout, set_selected_model, set_selected_primary_agent, set_skill_disabled_for_scope,
set_subagent_profile_disabled, set_tool_disabled, toggle_fast_mode, upsert_custom_provider,
};
#[cfg(test)]
pub(crate) use persistence::load_config_with_settings;
#[cfg(test)]
pub(crate) use persistence::{ensure_settings_schema_files, write_settings};
pub(crate) use persistence::{load_startup_config_with_settings, read_settings};
pub(crate) use tools::{
clamp_subagent_max_depth, validate_view_image_identifier, validate_view_image_max_image_bytes,
};
pub(crate) use validation::{validate_mcp_http_url_field, validate_mcp_server_name};
pub(crate) use wire::validate_settings_schema_version;