Skip to main content

tandem_server/memory/
types.rs

1use serde::{Deserialize, 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, Deserialize)]
20pub struct MemoryAuditEvent {
21    pub audit_id: String,
22    pub action: String,
23    pub run_id: String,
24    #[serde(default)]
25    pub tenant_context: tandem_types::TenantContext,
26    pub memory_id: Option<String>,
27    pub source_memory_id: Option<String>,
28    pub to_tier: Option<GovernedMemoryTier>,
29    pub partition_key: String,
30    pub actor: String,
31    pub status: String,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub detail: Option<String>,
34    pub created_at_ms: u64,
35}