cpex_core/extensions/
agent.rs1use serde::{Deserialize, Serialize};
10
11#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13pub struct ConversationContext {
14 #[serde(default)]
16 pub history: Vec<serde_json::Value>,
17
18 #[serde(default, skip_serializing_if = "Option::is_none")]
20 pub summary: Option<String>,
21
22 #[serde(default)]
24 pub topics: Vec<String>,
25}
26
27#[derive(Debug, Clone, Default, Serialize, Deserialize)]
32pub struct AgentExtension {
33 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub input: Option<String>,
36
37 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub session_id: Option<String>,
40
41 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub conversation_id: Option<String>,
44
45 #[serde(default, skip_serializing_if = "Option::is_none")]
47 pub turn: Option<u32>,
48
49 #[serde(default, skip_serializing_if = "Option::is_none")]
51 pub agent_id: Option<String>,
52
53 #[serde(default, skip_serializing_if = "Option::is_none")]
55 pub parent_agent_id: Option<String>,
56
57 #[serde(default, skip_serializing_if = "Option::is_none")]
59 pub conversation: Option<ConversationContext>,
60}