use serde::{Deserialize, Serialize};
pub mod memory;
pub mod task;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(default)]
pub struct SystemConfig {
pub walrus: 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,
pub soul_editable: bool,
}
impl Default for MemoryConfig {
fn default() -> Self {
Self {
recall_limit: 5,
soul_editable: true,
}
}
}