use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Clone)]
#[serde(default)]
pub struct ReviewConfig {
pub max_prompt_chars: usize,
pub max_full_content_files: usize,
pub max_chars_per_file: usize,
#[serde(default = "default_max_instructions_chars")]
pub max_instructions_chars: usize,
#[serde(default)]
pub instructions_file: Option<String>,
#[serde(default = "default_min_budget_for_call_graph")]
pub min_budget_for_call_graph: usize,
#[serde(default = "default_max_dep_release_chars")]
pub max_dep_release_chars: usize,
#[serde(default = "default_max_dep_packages")]
pub max_dep_packages: usize,
}
fn default_max_instructions_chars() -> usize {
1_500
}
fn default_min_budget_for_call_graph() -> usize {
20_000
}
fn default_max_dep_release_chars() -> usize {
2_000
}
fn default_max_dep_packages() -> usize {
3
}
impl Default for ReviewConfig {
fn default() -> Self {
Self {
max_prompt_chars: 120_000, max_full_content_files: 10, max_chars_per_file: 16_000, max_instructions_chars: 1_500, instructions_file: None,
min_budget_for_call_graph: 20_000, max_dep_release_chars: 2_000, max_dep_packages: 3, }
}
}