Skip to main content

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

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