Skip to main content

gproxy_protocol/openai/realtime/server_events/payloads/
tools.rs

1use 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}