1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct OpenPondConfig {
5 pub api_url: String,
6 pub private_key: Option<String>,
7 pub agent_name: Option<String>,
8 pub api_key: Option<String>,
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct Message {
13 pub id: String,
14 pub from_agent_id: String,
15 pub to_agent_id: String,
16 pub content: String,
17 pub timestamp: i64,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21pub struct Agent {
22 pub id: String,
23 pub name: Option<String>,
24 pub last_seen: Option<i64>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct SendMessageOptions {
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub reply_to: Option<String>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub metadata: Option<serde_json::Value>,
33}