gproxy_protocol/openai/realtime/server_events/payloads/
tools.rs1use serde::{Deserialize, Serialize};
2
3use crate::openai::common::Rest;
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
6#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
7pub struct RealtimeFunctionArgumentsDeltaEvent {
8 pub response_id: String,
9 pub item_id: String,
10 pub output_index: u32,
11 pub call_id: String,
12 pub delta: String,
13 #[serde(default, flatten)]
14 pub rest: Rest,
15}
16
17#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
18#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
19pub struct RealtimeFunctionArgumentsDoneEvent {
20 pub response_id: String,
21 pub item_id: String,
22 pub output_index: u32,
23 pub call_id: String,
24 pub arguments: String,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub name: Option<String>,
27 #[serde(default, flatten)]
28 pub rest: Rest,
29}
30
31#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
32#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
33pub struct RealtimeMcpArgumentsDeltaEvent {
34 pub response_id: String,
35 pub item_id: String,
36 pub output_index: u32,
37 pub delta: String,
38 #[serde(default, flatten)]
39 pub rest: Rest,
40}
41
42#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
43#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
44pub struct RealtimeMcpArgumentsDoneEvent {
45 pub response_id: String,
46 pub item_id: String,
47 pub output_index: u32,
48 pub arguments: String,
49 #[serde(default, flatten)]
50 pub rest: Rest,
51}
52
53#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
54#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
55pub struct RealtimeMcpCallStatusEvent {
56 pub item_id: String,
57 pub output_index: u32,
58 #[serde(default, flatten)]
59 pub rest: Rest,
60}
61
62#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
63#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
64pub struct RealtimeMcpListToolsStatusEvent {
65 #[serde(skip_serializing_if = "Option::is_none")]
66 pub item_id: Option<String>,
67 #[serde(default, flatten)]
68 pub rest: Rest,
69}