Skip to main content

gemini_live_harness/
memory.rs

1//! Durable long-running memory records.
2
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6/// Persisted harness memory entry addressed by `scope` and `key`.
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct MemoryRecord {
10    pub scope: String,
11    pub key: String,
12    pub created_at_ms: u64,
13    pub updated_at_ms: u64,
14    #[serde(default)]
15    pub summary: Option<String>,
16    #[serde(default)]
17    pub metadata: Option<Value>,
18    pub value: Value,
19}
20
21/// Request to upsert a durable memory record.
22#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub struct MemoryWrite {
25    pub scope: String,
26    pub key: String,
27    pub value: Value,
28    #[serde(default)]
29    pub summary: Option<String>,
30    #[serde(default)]
31    pub metadata: Option<Value>,
32}