Skip to main content

tandem_server/memory/
types.rs

1use serde::Serialize;
2use serde_json::Value;
3use tandem_memory::{GovernedMemoryTier, MemoryClassification, MemoryContentKind, MemoryPartition};
4
5#[derive(Debug, Clone)]
6pub struct GovernedMemoryRecord {
7    pub id: String,
8    pub run_id: String,
9    pub partition: MemoryPartition,
10    pub kind: MemoryContentKind,
11    pub content: String,
12    pub artifact_refs: Vec<String>,
13    pub classification: MemoryClassification,
14    pub metadata: Option<Value>,
15    pub source_memory_id: Option<String>,
16    pub created_at_ms: u64,
17}
18
19#[derive(Debug, Clone, Serialize)]
20pub struct MemoryAuditEvent {
21    pub audit_id: String,
22    pub action: String,
23    pub run_id: String,
24    pub memory_id: Option<String>,
25    pub source_memory_id: Option<String>,
26    pub to_tier: Option<GovernedMemoryTier>,
27    pub partition_key: String,
28    pub actor: String,
29    pub status: String,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub detail: Option<String>,
32    pub created_at_ms: u64,
33}