use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum OutputMode {
Debug,
Normal,
}
impl Default for OutputMode {
fn default() -> Self {
Self::Normal
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AgentConfig {
pub model: String,
pub max_steps: usize,
pub enable_lakeview: bool,
pub tools: Vec<String>,
#[serde(default)]
pub output_mode: OutputMode,
#[serde(default)]
pub system_prompt: Option<String>,
}
impl Default for AgentConfig {
fn default() -> Self {
Self {
model: "default_model".to_string(),
max_steps: 200,
enable_lakeview: true,
tools: vec![
"bash".to_string(),
"str_replace_based_edit_tool".to_string(),
"sequentialthinking".to_string(),
"task_done".to_string(),
],
output_mode: OutputMode::default(),
system_prompt: None,
}
}
}