Skip to main content

gproxy_protocol/openai/generate_content/responses/stream/payloads/
lifecycle.rs

1use serde::{Deserialize, Serialize};
2
3use crate::openai::common::{ResponseErrorCode, Rest};
4
5use super::super::super::{ResponseObject, ResponseOutputItem};
6
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
8#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
9pub struct ResponseLifecycleEvent {
10    pub response: Box<ResponseObject>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub sequence_number: Option<u64>,
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 ResponseOutputItemEvent {
20    pub item: Box<ResponseOutputItem>,
21    pub output_index: u32,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub sequence_number: Option<u64>,
24    #[serde(default, flatten)]
25    pub rest: Rest,
26}
27
28#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
29#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
30pub struct ResponseSequenceEvent {
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub sequence_number: Option<u64>,
33    #[serde(default, flatten)]
34    pub rest: Rest,
35}
36
37#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
38#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
39pub struct ResponseErrorEvent {
40    pub code: ResponseErrorEventCode,
41    pub message: String,
42    pub param: ResponseErrorEventParam,
43    #[serde(skip_serializing_if = "Option::is_none")]
44    pub sequence_number: Option<u64>,
45    #[serde(default, flatten)]
46    pub rest: Rest,
47}
48
49#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
50#[serde(untagged)]
51#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
52pub enum ResponseErrorEventCode {
53    Code(ResponseErrorCode),
54    Null,
55}
56
57#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
58#[serde(untagged)]
59#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
60pub enum ResponseErrorEventParam {
61    Param(String),
62    Null,
63}