use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(default)]
pub struct SystemConfig {
pub crab: wcore::AgentConfig,
pub tasks: TasksConfig,
pub memory: MemoryConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct TasksConfig {
pub max_concurrent: usize,
pub viewable_window: usize,
pub task_timeout: u64,
}
impl Default for TasksConfig {
fn default() -> Self {
Self {
max_concurrent: 4,
viewable_window: 16,
task_timeout: 300,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct MemoryConfig {
pub recall_limit: usize,
}
impl Default for MemoryConfig {
fn default() -> Self {
Self { recall_limit: 5 }
}
}