magi-code 0.96.1

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