pub struct SynapsConfig {Show 45 fields
pub model: Option<String>,
pub thinking_budget: Option<u32>,
pub thinking_level: Option<ReasoningLevel>,
pub context_window: Option<u64>,
pub context_management: ContextManagementConfig,
pub startup: StartupConfig,
pub daemon: DaemonConfig,
pub compaction_model: Option<String>,
pub compaction_mode: CompactionMode,
pub compaction_exclude: Vec<ContentClass>,
pub max_tool_output: usize,
pub bash_timeout: u64,
pub bash_max_timeout: u64,
pub subagent_timeout: u64,
pub api_retries: u32,
pub refusal_retries: u32,
pub telemetry: String,
pub cache_diagnostics: bool,
pub cache_ttl: CacheTtl,
pub max_fps: u32,
pub scroll_lines: Option<u16>,
pub theme: Option<String>,
pub theme_transition: ThemeTransitionMode,
pub tui_background_opaque: bool,
pub tui_streaming_glow: bool,
pub agent_name: Option<String>,
pub identity: Option<String>,
pub disabled_plugins: Vec<String>,
pub favorite_models: Vec<String>,
pub disabled_skills: Vec<String>,
pub progressive_tool_disclosure: bool,
pub tools_activation_confirm: ActivationConfirm,
pub session_persistence: SessionPersistence,
pub disabled_tools: Vec<String>,
pub shell: ShellConfig,
pub server: ServerConfig,
pub bridge: BridgeConfig,
pub auth: AuthConfig,
pub events: EventsConfig,
pub provider_keys: BTreeMap<String, String>,
pub keybinds: HashMap<String, String>,
pub turn_budgets: TurnBudgetsConfig,
pub memory: MemoryConfig,
pub memory_backend: MemoryBackendConfig,
pub warnings: Vec<String>,
}Expand description
Parsed configuration from the config file.
Fields§
§model: Option<String>§thinking_budget: Option<u32>§thinking_level: Option<ReasoningLevel>Named reasoning level, parsed from the same thinking = … key.
When Some, this is the authoritative level. When None, fall back
to thinking_budget for legacy numeric-only values.
context_window: Option<u64>§context_management: ContextManagementConfig§startup: StartupConfigFirst-turn / cold-start behaviour (startup.*).
daemon: DaemonConfigDaemon lifetime knobs (daemon.*); env vars still win.
compaction_model: Option<String>§compaction_mode: CompactionModeWhere compaction summarization runs (spec §9.4): remote provider or local-only (zero network construction).
compaction_exclude: Vec<ContentClass>Content classes excluded from remote compaction disclosure.
max_tool_output: usize§bash_timeout: u64§bash_max_timeout: u64§subagent_timeout: u64§api_retries: u32§refusal_retries: u32§telemetry: String§cache_diagnostics: bool§cache_ttl: CacheTtlPrompt-cache TTL strategy: “5m” (default) | “1h” | “hybrid”.
max_fps: u32Max TUI redraw rate in frames/sec — caps streaming redraws (e.g. 60,
144, 240). User input always redraws immediately regardless. Default
60. Range 1–1000. The frame budget is 1000 / max_fps ms.
scroll_lines: Option<u16>Lines to scroll per mouse-wheel event. Different terminal emulators emit 1–9+ scroll events per physical notch; set this to compensate. Default: 3. Range 1–20.
theme: Option<String>§theme_transition: ThemeTransitionModeAnimated theme transitions: "on" (350 ms cross-fade, default),
"off" (instant snap), or integer milliseconds (0–2000).
tui_background_opaque: boolWhether the TUI paints its own opaque background. false preserves the terminal background.
tui_streaming_glow: boolWhether the prompt shows a glow sweeping across it while a turn streams. Default off.
agent_name: Option<String>§identity: Option<String>§disabled_plugins: Vec<String>§favorite_models: Vec<String>§disabled_skills: Vec<String>§progressive_tool_disclosure: boolOpt-in progressive tool disclosure (Task 18). When false, providers receive the existing full tool schema byte-for-byte. When true, each stream starts with the small essential local core plus discovery and authorization gateways; exact activations are added per session.
tools_activation_confirm: ActivationConfirmHost confirmation policy for MODEL-INITIATED activate_tools
(tools.activation_confirm). Auto (default) authorizes without
prompting; Prompt asks the host (y/n confirm dialog); Deny never
authorizes (locked-down hosts). server.auto_approve_confirms = true
still authorizes regardless of this key.
session_persistence: SessionPersistenceOpt-in session persistence strategy (Task 35, spec §9.8). Json
(default) is the unchanged legacy full-rewrite path; Journal adds
an append-only delta journal with periodic atomic snapshots. See
docs/decisions/T35-session-journal-opt-in.md.
disabled_tools: Vec<String>Built-in tools to disable by runtime name (e.g. “bash”, “ls”). Removed from the registry at boot so they’re never offered to the model.
shell: ShellConfig§server: ServerConfig§bridge: BridgeConfig§auth: AuthConfig§events: EventsConfig§provider_keys: BTreeMap<String, String>§keybinds: HashMap<String, String>§turn_budgets: TurnBudgetsConfigTyped per-role turn budgets (Task 23, spec §8.1).
memory: MemoryConfigContinuous-memory settings surface (Task A2, spec §12).
memory_backend: MemoryBackendConfigHost-owned backend; selecting it does not enable recall or capture.
warnings: Vec<String>Non-fatal problems found while parsing the config file (unknown keys, unparseable values). Surfaced once at startup — never block boot.