agcodex_core/
config_profile.rs

1use serde::Deserialize;
2use std::path::PathBuf;
3
4use crate::protocol::AskForApproval;
5use agcodex_protocol::config_types::ReasoningEffort;
6use agcodex_protocol::config_types::ReasoningSummary;
7
8/// Collection of common configuration options that a user can define as a unit
9/// in `config.toml`.
10#[derive(Debug, Clone, Default, PartialEq, Deserialize)]
11pub struct ConfigProfile {
12    pub model: Option<String>,
13    /// The key in the `model_providers` map identifying the
14    /// [`ModelProviderInfo`] to use.
15    pub model_provider: Option<String>,
16    pub approval_policy: Option<AskForApproval>,
17    pub disable_response_storage: Option<bool>,
18    pub model_reasoning_effort: Option<ReasoningEffort>,
19    pub model_reasoning_summary: Option<ReasoningSummary>,
20    pub chatgpt_base_url: Option<String>,
21    pub experimental_instructions_file: Option<PathBuf>,
22}