Skip to main content

locus_sdk/domain/
graph.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4use crate::domain::memory::{MemoryFilter, MemoryScope};
5
6#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct MemoryGraphRequest {
9    pub scope: MemoryScope,
10    pub filter: MemoryFilter,
11    pub include_lineage: bool,
12    pub include_semantic: bool,
13    pub include_session_topology: bool,
14    pub rel: Option<String>,
15    pub target_prefix: Option<String>,
16    pub limit: usize,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(rename_all = "camelCase")]
21pub struct MemoryGraphResult {
22    pub sessions: Vec<Value>,
23    pub nodes: Vec<Value>,
24    pub edges: Vec<Value>,
25    pub retrieved: usize,
26}