gproxy_protocol/protocol/openai/
conversation.rs1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use super::common::*;
6use super::generate_content::ResponseItem;
7
8pub type CreateConversationWireModel =
9 OpenAiWireModel<CreateConversationRequestBody, ConversationObject>;
10
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12pub struct CreateConversationRequestBody {
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub items: Option<Vec<ResponseItem>>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub metadata: Option<Metadata>,
17 #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
18 pub extra: Extra,
19}
20
21#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
22pub struct ConversationObject {
23 pub id: String,
24 pub created_at: u64,
25 pub metadata: Metadata,
26 pub object: ConversationObjectType,
27 #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
28 pub extra: Extra,
29}