use serde::{Deserialize, Serialize};
#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct AgentSmallModelConfig {
#[serde(default = "default_small_model_enabled")]
pub enabled: bool,
#[serde(default)]
pub model: String,
#[serde(default = "default_small_model_temperature")]
pub temperature: f32,
#[serde(default = "default_small_model_for_large_reads")]
pub use_for_large_reads: bool,
#[serde(default = "default_small_model_for_web_summary")]
pub use_for_web_summary: bool,
#[serde(default = "default_small_model_for_git_history")]
pub use_for_git_history: bool,
#[serde(default = "default_small_model_for_memory")]
pub use_for_memory: bool,
}
impl Default for AgentSmallModelConfig {
fn default() -> Self {
Self {
enabled: default_small_model_enabled(),
model: String::new(),
temperature: default_small_model_temperature(),
use_for_large_reads: default_small_model_for_large_reads(),
use_for_web_summary: default_small_model_for_web_summary(),
use_for_git_history: default_small_model_for_git_history(),
use_for_memory: default_small_model_for_memory(),
}
}
}
#[inline]
const fn default_small_model_enabled() -> bool {
true }
#[inline]
const fn default_small_model_temperature() -> f32 {
0.3 }
#[inline]
const fn default_small_model_for_large_reads() -> bool {
true
}
#[inline]
const fn default_small_model_for_web_summary() -> bool {
true
}
#[inline]
const fn default_small_model_for_git_history() -> bool {
true
}
#[inline]
const fn default_small_model_for_memory() -> bool {
true
}