crabtalk_runtime/
config.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, Default)]
7#[serde(default)]
8pub struct SystemConfig {
9 pub crab: wcore::AgentConfig,
11 pub tasks: TasksConfig,
13 pub memory: MemoryConfig,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(default)]
20pub struct TasksConfig {
21 pub max_concurrent: usize,
23 pub viewable_window: usize,
25 pub task_timeout: u64,
27}
28
29impl Default for TasksConfig {
30 fn default() -> Self {
31 Self {
32 max_concurrent: 4,
33 viewable_window: 16,
34 task_timeout: 300,
35 }
36 }
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(default)]
42pub struct MemoryConfig {
43 pub recall_limit: usize,
45}
46
47impl Default for MemoryConfig {
48 fn default() -> Self {
49 Self { recall_limit: 5 }
50 }
51}