1#![allow(
6 missing_docs,
7 clippy::doc_lazy_continuation,
8 clippy::doc_overindented_list_items
9)]
10
11use serde::{Deserialize, Serialize};
12
13#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15pub struct CreatePublicAgentDTO {
16 #[serde(rename = "locationId")]
19 pub location_id: String,
20 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub name: Option<String>,
23 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub description: Option<String>,
26 #[serde(rename = "agencyId", default, skip_serializing_if = "Option::is_none")]
28 pub agency_id: Option<String>,
29 #[serde(rename = "authorId", default, skip_serializing_if = "Option::is_none")]
31 pub author_id: Option<String>,
32 #[serde(
34 rename = "authorName",
35 default,
36 skip_serializing_if = "Option::is_none"
37 )]
38 pub author_name: Option<String>,
39 #[serde(
41 rename = "authorEmail",
42 default,
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub author_email: Option<String>,
46 pub status: String,
50 pub version: serde_json::Value,
53 #[serde(default, skip_serializing_if = "Vec::is_empty")]
55 pub nodes: Vec<String>,
56 #[serde(default, skip_serializing_if = "Vec::is_empty")]
58 pub edges: Vec<String>,
59}
60
61#[derive(Debug, Clone, Default, Serialize, Deserialize)]
63pub struct CreatePublicAgentResponseDTO {
64 pub success: bool,
67 pub message: String,
70 pub agent: serde_json::Value,
73 #[serde(default, skip_serializing_if = "Vec::is_empty")]
76 pub versions: Vec<serde_json::Value>,
77}
78
79#[derive(Debug, Clone, Default, Serialize, Deserialize)]
81pub struct DeletePublicAgentResponseDTO {
82 pub success: bool,
85 pub message: String,
88 #[serde(rename = "agentId", default, skip_serializing_if = "Option::is_none")]
90 pub agent_id: Option<String>,
91}
92
93#[derive(Debug, Clone, Default, Serialize, Deserialize)]
95pub struct ExecutePublicAgentDTO {
96 pub message: String,
99 #[serde(
104 rename = "executionId",
105 default,
106 skip_serializing_if = "Option::is_none"
107 )]
108 pub execution_id: Option<String>,
109 #[serde(
112 rename = "inputVariables",
113 default,
114 skip_serializing_if = "Option::is_none"
115 )]
116 pub input_variables: Option<serde_json::Value>,
117 #[serde(rename = "versionId", default, skip_serializing_if = "Option::is_none")]
120 pub version_id: Option<String>,
121 #[serde(default, skip_serializing_if = "Vec::is_empty")]
123 pub attachments: Vec<PublicAttachmentSchema>,
124 #[serde(rename = "locationId")]
127 pub location_id: String,
128 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
131 pub contact_id: Option<String>,
132}
133
134#[derive(Debug, Clone, Default, Serialize, Deserialize)]
136pub struct ExecutePublicAgentResponseDTO {
137 pub success: bool,
140 #[serde(rename = "executionId")]
145 pub execution_id: String,
146 #[serde(rename = "interactionId")]
150 pub interaction_id: String,
151 pub response: String,
154 #[serde(rename = "type")]
157 pub type_: String,
158 #[serde(rename = "nextExpectedInput")]
161 pub next_expected_input: String,
162 #[serde(rename = "goalCompletion")]
166 pub goal_completion: bool,
167 #[serde(rename = "executionStatus")]
170 pub execution_status: String,
171 #[serde(rename = "flowSwitch")]
174 pub flow_switch: bool,
175 #[serde(default, skip_serializing_if = "Vec::is_empty")]
178 pub attachments: Vec<serde_json::Value>,
179 #[serde(
182 rename = "generativeOutputs",
183 default,
184 skip_serializing_if = "Vec::is_empty"
185 )]
186 pub generative_outputs: Vec<serde_json::Value>,
187}
188
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
191pub struct GetAgentByIdResponseDTO {
192 pub success: bool,
195 pub message: String,
198 pub agent: serde_json::Value,
201 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
203 pub trace_id: Option<String>,
204}
205
206#[derive(Debug, Clone, Default, Serialize, Deserialize)]
208pub struct GetPublishedAgentsResponseDTO {
209 pub success: bool,
212 pub message: String,
215 #[serde(default, skip_serializing_if = "Vec::is_empty")]
219 pub agents: Vec<serde_json::Value>,
220 pub pagination: serde_json::Value,
224}
225
226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
228pub struct InternalServerErrorDTO {
229 #[serde(
230 rename = "statusCode",
231 default,
232 skip_serializing_if = "Option::is_none"
233 )]
234 pub status_code: Option<f64>,
235 #[serde(default, skip_serializing_if = "Option::is_none")]
236 pub message: Option<String>,
237}
238
239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
241pub struct PromoteAndPublishDTO {
242 #[serde(rename = "locationId")]
245 pub location_id: String,
246 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
248 pub user_id: Option<String>,
249 #[serde(rename = "userName", default, skip_serializing_if = "Option::is_none")]
251 pub user_name: Option<String>,
252 #[serde(rename = "userEmail", default, skip_serializing_if = "Option::is_none")]
254 pub user_email: Option<String>,
255}
256
257#[derive(Debug, Clone, Default, Serialize, Deserialize)]
259pub struct PromoteAndPublishResponseDTO {
260 pub success: bool,
263 pub message: String,
266 pub data: serde_json::Value,
269}
270
271#[derive(Debug, Clone, Default, Serialize, Deserialize)]
273pub struct PublicAttachmentSchema {
274 #[serde(rename = "type")]
277 pub type_: String,
278 #[serde(rename = "imageUrl")]
281 pub image_url: String,
282}
283
284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
286pub struct UpdatePublicAgentMetadataDTO {
287 #[serde(rename = "locationId")]
290 pub location_id: String,
291 #[serde(default, skip_serializing_if = "Option::is_none")]
293 pub name: Option<String>,
294 #[serde(default, skip_serializing_if = "Option::is_none")]
296 pub description: Option<String>,
297 #[serde(default, skip_serializing_if = "Option::is_none")]
300 pub status: Option<String>,
301}
302
303#[derive(Debug, Clone, Default, Serialize, Deserialize)]
305pub struct UpdatePublicAgentResponseDTO {
306 pub success: bool,
309 pub message: String,
312 pub data: serde_json::Value,
315}
316
317#[derive(Debug, Clone, Default, Serialize, Deserialize)]
319pub struct UpdatePublicAgentVersionDTO {
320 #[serde(rename = "locationId")]
323 pub location_id: String,
324 #[serde(
326 rename = "versionName",
327 default,
328 skip_serializing_if = "Option::is_none"
329 )]
330 pub version_name: Option<String>,
331 #[serde(default, skip_serializing_if = "Option::is_none")]
333 pub description: Option<String>,
334 #[serde(default, skip_serializing_if = "Vec::is_empty")]
337 pub nodes: Vec<serde_json::Value>,
338 #[serde(default, skip_serializing_if = "Vec::is_empty")]
341 pub edges: Vec<serde_json::Value>,
342 #[serde(
344 rename = "globalVariables",
345 default,
346 skip_serializing_if = "Vec::is_empty"
347 )]
348 pub global_variables: Vec<serde_json::Value>,
349 #[serde(
351 rename = "inputVariables",
352 default,
353 skip_serializing_if = "Vec::is_empty"
354 )]
355 pub input_variables: Vec<serde_json::Value>,
356 #[serde(
358 rename = "runtimeVariables",
359 default,
360 skip_serializing_if = "Vec::is_empty"
361 )]
362 pub runtime_variables: Vec<serde_json::Value>,
363 #[serde(
365 rename = "globalConfig",
366 default,
367 skip_serializing_if = "Option::is_none"
368 )]
369 pub global_config: Option<serde_json::Value>,
370 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
372 pub user_id: Option<String>,
373 #[serde(rename = "userName", default, skip_serializing_if = "Option::is_none")]
375 pub user_name: Option<String>,
376}