gproxy_protocol/openai/generate_content/responses/stream/payloads/
reasoning.rs1use serde::{Deserialize, Serialize};
2
3use crate::openai::common::Rest;
4
5use super::super::super::ResponseReasoningSummaryPart;
6
7#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
8#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
9pub struct ResponseReasoningSummaryPartAddedEvent {
10 pub item_id: String,
11 pub output_index: u32,
12 pub part: ResponseReasoningSummaryPart,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub sequence_number: Option<u64>,
15 pub summary_index: u32,
16 #[serde(default, flatten)]
17 pub rest: Rest,
18}
19
20#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
21#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
22pub struct ResponseReasoningSummaryPartDoneEvent {
23 pub item_id: String,
24 pub output_index: u32,
25 pub part: ResponseReasoningSummaryPart,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub sequence_number: Option<u64>,
28 pub summary_index: u32,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub status: Option<ResponseReasoningSummaryPartStatus>,
31 #[serde(default, flatten)]
32 pub rest: Rest,
33}
34
35#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
36#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
37pub enum ResponseReasoningSummaryPartStatus {
38 #[serde(rename = "incomplete")]
39 Incomplete,
40}
41
42#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
43#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
44pub struct ResponseReasoningSummaryTextDeltaEvent {
45 pub delta: String,
46 pub item_id: String,
47 pub output_index: u32,
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub sequence_number: Option<u64>,
50 pub summary_index: u32,
51 #[serde(default, flatten)]
52 pub rest: Rest,
53}
54
55#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
56#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
57pub struct ResponseReasoningSummaryTextDoneEvent {
58 pub item_id: String,
59 pub output_index: u32,
60 #[serde(skip_serializing_if = "Option::is_none")]
61 pub sequence_number: Option<u64>,
62 pub summary_index: u32,
63 pub text: String,
64 #[serde(default, flatten)]
65 pub rest: Rest,
66}