File size: 600 Bytes
afa0cbf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//! Selects a coherent memory pipeline and its generated-artifact namespace.

use schemars::JsonSchema;
use serde::Deserialize;
use serde::Serialize;

#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
#[serde(rename_all = "lowercase")]
pub enum MemoryVersion {
    #[default]
    V1,
    V2,
}

impl MemoryVersion {
    /// Sibling roots keep v1 cleanup and rollback independent of v2 artifacts.
    pub fn directory_name(self) -> &'static str {
        match self {
            Self::V1 => "memories",
            Self::V2 => "memories_v2",
        }
    }
}