gproxy_protocol/wire/openai/
memory.rs1use crate::Rest;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
8#[serde(rename_all = "snake_case")]
9#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
10#[derive(gproxy_protocol_macros::DeclaredFields)]
11pub struct MemorySummarizeRequestBody {
12 pub model: String,
13 pub traces: Vec<RawMemory>,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub reasoning: Option<Reasoning>,
16 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
17 pub rest: Rest,
18}
19pub type MemorySummarizeRequest = crate::WireRequest<MemorySummarizeRequestBody>;
20#[derive(
21 Debug, Clone, PartialEq, Eq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder,
22)]
23#[serde(rename_all = "snake_case")]
24#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
25#[derive(gproxy_protocol_macros::DeclaredFields)]
26pub struct RawMemory {
27 pub id: String,
28 pub metadata: RawMemoryMetadata,
29 pub items: Vec<serde_json::Value>,
30 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
31 pub rest: Rest,
32}
33#[derive(
34 Debug, Clone, PartialEq, Eq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder,
35)]
36#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
37#[derive(gproxy_protocol_macros::DeclaredFields)]
38pub struct RawMemoryMetadata {
39 pub source_path: String,
40 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
41 pub rest: Rest,
42}
43#[derive(
44 Debug, Clone, PartialEq, Eq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder,
45)]
46#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
47#[derive(gproxy_protocol_macros::DeclaredFields)]
48pub struct MemorySummarizeOutput {
49 #[serde(rename = "trace_summary", alias = "raw_memory")]
50 pub raw_memory: String,
51 pub memory_summary: String,
52 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
53 pub rest: Rest,
54}
55#[derive(
56 Debug, Clone, PartialEq, Eq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder,
57)]
58#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
59#[derive(gproxy_protocol_macros::DeclaredFields)]
60pub struct MemorySummarizeResponseBody {
61 pub output: Vec<MemorySummarizeOutput>,
62 #[serde(default, flatten, skip_serializing_if = "serde_json::Map::is_empty")]
63 pub rest: Rest,
64}
65pub type MemorySummarizeResponse = crate::WireResponse<MemorySummarizeResponseBody>;
66pub use super::guardian::Reasoning;