portkey_sdk/model/
responses.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct Response {
11 pub id: String,
13
14 #[serde(skip_serializing_if = "Option::is_none")]
16 pub created_at: Option<String>,
17
18 #[serde(skip_serializing_if = "Option::is_none")]
20 pub updated_at: Option<String>,
21
22 #[serde(skip_serializing_if = "Option::is_none")]
24 pub status: Option<String>,
25
26 #[serde(skip_serializing_if = "Option::is_none")]
28 pub model: Option<String>,
29
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub provider: Option<String>,
33
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub metadata: Option<HashMap<String, serde_json::Value>>,
37
38 #[serde(skip_serializing_if = "Option::is_none")]
40 pub trace_id: Option<String>,
41
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub request: Option<serde_json::Value>,
45
46 #[serde(skip_serializing_if = "Option::is_none")]
48 pub response: Option<serde_json::Value>,
49
50 #[serde(skip_serializing_if = "Option::is_none")]
52 pub total_tokens: Option<i64>,
53
54 #[serde(skip_serializing_if = "Option::is_none")]
56 pub prompt_tokens: Option<i64>,
57
58 #[serde(skip_serializing_if = "Option::is_none")]
60 pub completion_tokens: Option<i64>,
61
62 #[serde(skip_serializing_if = "Option::is_none")]
64 pub latency_ms: Option<i64>,
65
66 #[serde(skip_serializing_if = "Option::is_none")]
68 pub cost: Option<f64>,
69}
70
71#[derive(Debug, Clone, Serialize, Deserialize)]
98pub struct CreateResponseRequest {
99 #[serde(skip_serializing_if = "Option::is_none")]
101 pub trace_id: Option<String>,
102
103 #[serde(skip_serializing_if = "Option::is_none")]
105 pub metadata: Option<HashMap<String, serde_json::Value>>,
106
107 #[serde(skip_serializing_if = "Option::is_none")]
109 pub model: Option<String>,
110
111 #[serde(skip_serializing_if = "Option::is_none")]
113 pub provider: Option<String>,
114
115 #[serde(skip_serializing_if = "Option::is_none")]
117 pub status: Option<String>,
118
119 #[serde(skip_serializing_if = "Option::is_none")]
121 pub request: Option<serde_json::Value>,
122
123 #[serde(skip_serializing_if = "Option::is_none")]
125 pub response: Option<serde_json::Value>,
126
127 #[serde(skip_serializing_if = "Option::is_none")]
129 pub total_tokens: Option<i64>,
130
131 #[serde(skip_serializing_if = "Option::is_none")]
133 pub prompt_tokens: Option<i64>,
134
135 #[serde(skip_serializing_if = "Option::is_none")]
137 pub completion_tokens: Option<i64>,
138
139 #[serde(skip_serializing_if = "Option::is_none")]
141 pub latency_ms: Option<i64>,
142
143 #[serde(skip_serializing_if = "Option::is_none")]
145 pub cost: Option<f64>,
146}
147
148#[derive(Debug, Clone, Serialize, Deserialize)]
153pub struct InputItem {
154 pub id: String,
156
157 #[serde(skip_serializing_if = "Option::is_none")]
159 pub response_id: Option<String>,
160
161 #[serde(skip_serializing_if = "Option::is_none")]
163 pub created_at: Option<String>,
164
165 #[serde(skip_serializing_if = "Option::is_none")]
167 pub role: Option<String>,
168
169 #[serde(skip_serializing_if = "Option::is_none")]
171 pub content: Option<String>,
172
173 #[serde(skip_serializing_if = "Option::is_none")]
175 pub metadata: Option<HashMap<String, serde_json::Value>>,
176}
177
178#[derive(Debug, Clone, Serialize, Deserialize)]
182pub struct ListInputItemsResponse {
183 pub data: Vec<InputItem>,
185
186 #[serde(skip_serializing_if = "Option::is_none")]
188 pub total: Option<i64>,
189
190 #[serde(skip_serializing_if = "Option::is_none")]
192 pub has_more: Option<bool>,
193}
194
195#[derive(Debug, Clone, Default, Serialize, Deserialize)]
210pub struct ListInputItemsParams {
211 #[serde(skip_serializing_if = "Option::is_none")]
213 pub limit: Option<i32>,
214
215 #[serde(skip_serializing_if = "Option::is_none")]
217 pub offset: Option<i32>,
218}