1use serde::Deserialize;
2
3#[derive(Debug, Clone, Deserialize)]
5pub struct PathsConfig {
6 #[serde(default = "default_sessions_dir")]
8 pub sessions_dir: String,
9 #[serde(default = "default_memory_file")]
11 pub memory_file: String,
12 #[serde(default = "default_skills_dir")]
14 pub skills_dir: String,
15}
16
17impl Default for PathsConfig {
18 fn default() -> Self {
19 Self {
20 sessions_dir: default_sessions_dir(),
21 memory_file: default_memory_file(),
22 skills_dir: default_skills_dir(),
23 }
24 }
25}
26
27fn default_sessions_dir() -> String {
28 ".sessions".to_string()
29}
30
31fn default_memory_file() -> String {
32 "AGENTS.md".to_string()
33}
34
35fn default_skills_dir() -> String {
36 ".skills".to_string()
37}