gproxy_protocol/openai/generate_content/responses/stream/payloads/
lifecycle.rs1use 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}