Skip to main content

openresponses_rust/types/
enums.rs

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