tandem_server/memory/
types.rs1use 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}