magi-code 0.77.1

Repository-aware CLI coding agent for terminal work
Documentation
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};