openresponses_rust/types/
enums.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
4#[serde(rename_all = "snake_case")]
5pub enum MessageRole {
6 User,
7 Assistant,
8 System,
9 Developer,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
13#[serde(rename_all = "snake_case")]
14pub enum MessageStatus {
15 InProgress,
16 Completed,
17 Incomplete,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
21#[serde(rename_all = "snake_case")]
22pub enum FunctionCallStatus {
23 InProgress,
24 Completed,
25 Incomplete,
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
29#[serde(rename_all = "snake_case")]
30pub enum FunctionCallOutputStatus {
31 InProgress,
32 Completed,
33 Incomplete,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
37#[serde(rename_all = "snake_case")]
38pub enum ImageDetail {
39 Low,
40 High,
41 Auto,
42}
43
44impl Default for ImageDetail {
45 fn default() -> Self {
46 ImageDetail::Auto
47 }
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
51#[serde(rename_all = "snake_case")]
52pub enum ReasoningEffort {
53 None,
54 Low,
55 Medium,
56 High,
57 Xhigh,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
61#[serde(rename_all = "snake_case")]
62pub enum ReasoningSummary {
63 Concise,
64 Detailed,
65 Auto,
66}
67
68impl Default for ReasoningSummary {
69 fn default() -> Self {
70 ReasoningSummary::Auto
71 }
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
75#[serde(rename_all = "snake_case")]
76pub enum ServiceTier {
77 Auto,
78 Default,
79 Flex,
80 Priority,
81}
82
83impl Default for ServiceTier {
84 fn default() -> Self {
85 ServiceTier::Auto
86 }
87}
88
89#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
90#[serde(rename_all = "snake_case")]
91pub enum ToolChoice {
92 None,
93 Auto,
94 Required,
95}
96
97impl Default for ToolChoice {
98 fn default() -> Self {
99 ToolChoice::Auto
100 }
101}
102
103#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
104#[serde(rename_all = "snake_case")]
105pub enum Truncation {
106 Auto,
107 Disabled,
108}
109
110impl Default for Truncation {
111 fn default() -> Self {
112 Truncation::Auto
113 }
114}
115
116#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
117#[serde(rename_all = "snake_case")]
118pub enum Verbosity {
119 Low,
120 Medium,
121 High,
122}
123
124impl Default for Verbosity {
125 fn default() -> Self {
126 Verbosity::Medium
127 }
128}
129
130#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
131#[serde(rename_all = "snake_case")]
132pub enum IncludeOption {
133 #[serde(rename = "reasoning.encrypted_content")]
134 ReasoningEncryptedContent,
135 #[serde(rename = "message.output_text.logprobs")]
136 MessageOutputTextLogprobs,
137}
138
139#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
140#[serde(rename_all = "snake_case")]
141pub enum TextFormatType {
142 Text,
143 JsonObject,
144 JsonSchema,
145}
146
147#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
148pub enum ErrorType {
149 #[serde(rename = "server_error")]
150 ServerError,
151 #[serde(rename = "invalid_request")]
152 InvalidRequest,
153 #[serde(rename = "not_found")]
154 NotFound,
155 #[serde(rename = "model_error")]
156 ModelError,
157 #[serde(rename = "too_many_requests")]
158 TooManyRequests,
159}