locus_sdk/domain/
graph.rs1use 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}