Skip to main content

synaptic_config/
paths.rs

1use serde::Deserialize;
2
3/// Path configuration for agent data.
4#[derive(Debug, Clone, Deserialize)]
5pub struct PathsConfig {
6    /// Directory for session data (default: ".sessions").
7    #[serde(default = "default_sessions_dir")]
8    pub sessions_dir: String,
9    /// Path to memory file (default: "AGENTS.md").
10    #[serde(default = "default_memory_file")]
11    pub memory_file: String,
12    /// Path to skills directory (default: ".skills").
13    #[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}