openai 0.111.0 → 0.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +1 -1
- data/lib/openai/models/beta/agent.rb +2 -2
- data/lib/openai/models/beta/agent_create_params.rb +2 -2
- data/lib/openai/models/beta/agent_session.rb +2 -2
- data/lib/openai/models/beta/agent_tool.rb +18 -1
- data/lib/openai/models/beta/agent_tool_param.rb +18 -1
- data/lib/openai/models/beta/agent_update_params.rb +2 -2
- data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
- data/lib/openai/models/beta/beta_response.rb +3 -0
- data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
- data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
- data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
- data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
- data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
- data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
- data/lib/openai/models/beta/beta_response_item.rb +28 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
- data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
- data/lib/openai/models/beta/beta_responses_client_event.rb +3 -0
- data/lib/openai/models/beta/beta_tool.rb +26 -15
- data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
- data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
- data/lib/openai/models/beta/response_compact_params.rb +3 -0
- data/lib/openai/models/beta/response_create_params.rb +3 -0
- data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
- data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
- data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
- data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
- data/lib/openai/models/chat_model.rb +1 -0
- data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
- data/lib/openai/models/decision_create_params.rb +8 -4
- data/lib/openai/models/image_edit_params.rb +20 -4
- data/lib/openai/models/image_generate_params.rb +23 -7
- data/lib/openai/models/image_model.rb +2 -0
- data/lib/openai/models/live/client_delegation.rb +20 -1
- data/lib/openai/models/live/client_event.rb +4 -4
- data/lib/openai/models/live/commentary_append_event.rb +1 -1
- data/lib/openai/models/live/decision_assistant_message.rb +154 -0
- data/lib/openai/models/live/decision_choice_option.rb +35 -0
- data/lib/openai/models/live/decision_developer_message.rb +70 -0
- data/lib/openai/models/live/decision_input_text.rb +26 -0
- data/lib/openai/models/live/decision_item_create_event.rb +490 -131
- data/lib/openai/models/live/decision_item_created_event.rb +486 -131
- data/lib/openai/models/live/decision_json_object.rb +10 -0
- data/lib/openai/models/live/decision_question.rb +172 -0
- data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
- data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
- data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
- data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
- data/lib/openai/models/live/decision_system_message.rb +70 -0
- data/lib/openai/models/live/decision_trigger.rb +6 -258
- data/lib/openai/models/live/decision_user_message.rb +193 -0
- data/lib/openai/models/live/decisions_delegation_config.rb +5 -250
- data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -257
- data/lib/openai/models/live/fork_client_event.rb +4 -4
- data/lib/openai/models/live/fork_server_event.rb +2 -2
- data/lib/openai/models/live/fork_session_config.rb +20 -1
- data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
- data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
- data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
- data/lib/openai/models/live/instructions_append_event.rb +5 -2
- data/lib/openai/models/live/media_session_config.rb +39 -2
- data/lib/openai/models/live/media_session_fork_config.rb +20 -1
- data/lib/openai/models/live/server_event.rb +2 -2
- data/lib/openai/models/live/session_accept_params.rb +39 -2
- data/lib/openai/models/live/session_config.rb +39 -2
- data/lib/openai/models/live/session_resource.rb +39 -2
- data/lib/openai/models/live/session_update_config.rb +41 -2
- data/lib/openai/models/live/sideband_client_event.rb +4 -4
- data/lib/openai/models/live/sideband_server_event.rb +2 -2
- data/lib/openai/models/live/thinking_append_event.rb +1 -1
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
- data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
- data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
- data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
- data/lib/openai/models/responses/response_compact_params.rb +3 -0
- data/lib/openai/models/responses/response_input_file.rb +23 -1
- data/lib/openai/models/responses/response_input_file_content.rb +23 -1
- data/lib/openai/models/responses/response_input_image.rb +23 -1
- data/lib/openai/models/responses/response_input_image_content.rb +23 -1
- data/lib/openai/models/responses/response_input_text.rb +23 -1
- data/lib/openai/models/responses/response_input_text_content.rb +23 -1
- data/lib/openai/models/responses/response_tool_search_output_item_param.rb +26 -15
- data/lib/openai/models/responses/tool.rb +26 -15
- data/lib/openai/resources/beta/agents.rb +2 -2
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/images.rb +18 -6
- data/lib/openai/resources/live/forks.rb +2 -2
- data/lib/openai/resources/live/sideband.rb +2 -2
- data/lib/openai/resources/live.rb +2 -2
- data/lib/openai/resources/realtime/translations.rb +2 -2
- data/lib/openai/resources/realtime.rb +2 -2
- data/lib/openai/resources/responses.rb +2 -2
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +12 -0
- data/rbi/openai/models/beta/agent.rbi +2 -1
- data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
- data/rbi/openai/models/beta/agent_session.rbi +2 -1
- data/rbi/openai/models/beta/agent_tool.rbi +40 -1
- data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
- data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
- data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
- data/rbi/openai/models/beta/beta_response.rbi +1 -0
- data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
- data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
- data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
- data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
- data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
- data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
- data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
- data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
- data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +4 -0
- data/rbi/openai/models/beta/beta_tool.rbi +24 -15
- data/rbi/openai/models/beta/persisted_agent_tool.rbi +40 -1
- data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +40 -1
- data/rbi/openai/models/beta/response_compact_params.rbi +1 -0
- data/rbi/openai/models/beta/response_create_params.rbi +1 -0
- data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
- data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
- data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
- data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
- data/rbi/openai/models/chat_model.rbi +1 -0
- data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
- data/rbi/openai/models/image_edit_params.rbi +12 -3
- data/rbi/openai/models/image_generate_params.rbi +15 -6
- data/rbi/openai/models/live/client_delegation.rbi +23 -1
- data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
- data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
- data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
- data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
- data/rbi/openai/models/live/decision_input_text.rbi +55 -0
- data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
- data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
- data/rbi/openai/models/live/decision_json_object.rbi +16 -0
- data/rbi/openai/models/live/decision_question.rbi +300 -0
- data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
- data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
- data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
- data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
- data/rbi/openai/models/live/decision_system_message.rbi +109 -0
- data/rbi/openai/models/live/decision_trigger.rbi +11 -383
- data/rbi/openai/models/live/decision_user_message.rbi +320 -0
- data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -384
- data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -387
- data/rbi/openai/models/live/fork_session_config.rbi +27 -1
- data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
- data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
- data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
- data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
- data/rbi/openai/models/live/media_session_config.rbi +44 -2
- data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
- data/rbi/openai/models/live/session_accept_params.rbi +44 -2
- data/rbi/openai/models/live/session_config.rbi +44 -2
- data/rbi/openai/models/live/session_resource.rbi +44 -2
- data/rbi/openai/models/live/session_update_config.rbi +54 -2
- data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
- data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
- data/rbi/openai/models/responses/response_compact_params.rbi +1 -0
- data/rbi/openai/models/responses/response_input_file.rbi +31 -1
- data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
- data/rbi/openai/models/responses/response_input_image.rbi +33 -1
- data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
- data/rbi/openai/models/responses/response_input_text.rbi +31 -1
- data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
- data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
- data/rbi/openai/models/responses/tool.rbi +24 -15
- data/rbi/openai/resources/beta/agents.rbi +4 -2
- data/rbi/openai/resources/beta/responses.rbi +8 -1
- data/rbi/openai/resources/images.rbi +18 -6
- data/rbi/openai/resources/live/forks.rbi +8 -1
- data/rbi/openai/resources/live/sideband.rbi +8 -1
- data/rbi/openai/resources/live.rbi +8 -1
- data/rbi/openai/resources/realtime/translations.rbi +8 -1
- data/rbi/openai/resources/realtime.rbi +8 -1
- data/rbi/openai/resources/responses.rbi +8 -1
- data/sig/openai/models/beta/agent_tool.rbs +14 -0
- data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
- data/sig/openai/models/beta/beta_response.rbs +2 -0
- data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
- data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
- data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
- data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
- data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
- data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
- data/sig/openai/models/beta/beta_response_item.rbs +34 -3
- data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
- data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
- data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -0
- data/sig/openai/models/beta/beta_tool.rbs +24 -15
- data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
- data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
- data/sig/openai/models/beta/response_compact_params.rbs +2 -0
- data/sig/openai/models/beta/response_create_params.rbs +2 -0
- data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
- data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
- data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
- data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
- data/sig/openai/models/chat_model.rbs +2 -0
- data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
- data/sig/openai/models/image_edit_params.rbs +8 -2
- data/sig/openai/models/image_generate_params.rbs +10 -4
- data/sig/openai/models/live/client_delegation.rbs +30 -3
- data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
- data/sig/openai/models/live/decision_choice_option.rbs +37 -0
- data/sig/openai/models/live/decision_developer_message.rbs +67 -0
- data/sig/openai/models/live/decision_input_text.rbs +20 -0
- data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
- data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
- data/sig/openai/models/live/decision_json_object.rbs +9 -0
- data/sig/openai/models/live/decision_question.rbs +164 -0
- data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
- data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
- data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
- data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
- data/sig/openai/models/live/decision_system_message.rbs +67 -0
- data/sig/openai/models/live/decision_trigger.rbs +8 -208
- data/sig/openai/models/live/decision_user_message.rbs +180 -0
- data/sig/openai/models/live/decisions_delegation_config.rbs +6 -204
- data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -206
- data/sig/openai/models/live/fork_session_config.rbs +26 -0
- data/sig/openai/models/live/media_session_config.rbs +53 -4
- data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
- data/sig/openai/models/live/session_accept_params.rbs +53 -4
- data/sig/openai/models/live/session_config.rbs +53 -4
- data/sig/openai/models/live/session_resource.rbs +53 -4
- data/sig/openai/models/live/session_update_config.rbs +52 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
- data/sig/openai/models/responses/response_compact_params.rbs +2 -0
- data/sig/openai/models/responses/response_input_file.rbs +34 -3
- data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
- data/sig/openai/models/responses/response_input_image.rbs +34 -3
- data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
- data/sig/openai/models/responses/response_input_text.rbs +34 -3
- data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
- data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
- data/sig/openai/models/responses/tool.rbs +24 -15
- data/sig/openai/resources/beta/responses.rbs +2 -1
- data/sig/openai/resources/live/forks.rbs +2 -1
- data/sig/openai/resources/live/sideband.rbs +2 -1
- data/sig/openai/resources/live.rbs +2 -1
- data/sig/openai/resources/realtime/translations.rbs +2 -1
- data/sig/openai/resources/realtime.rbs +2 -1
- data/sig/openai/resources/responses.rbs +2 -1
- metadata +37 -1
|
@@ -130,18 +130,36 @@ module OpenAI
|
|
|
130
130
|
sig { returns(Symbol) }
|
|
131
131
|
attr_accessor :mode
|
|
132
132
|
|
|
133
|
+
# The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
|
|
134
|
+
sig {
|
|
135
|
+
returns(
|
|
136
|
+
T.nilable(OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::TaggedSymbol)
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
attr_reader :ttl
|
|
140
|
+
|
|
141
|
+
sig {
|
|
142
|
+
params(ttl: OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::OrSymbol).void
|
|
143
|
+
}
|
|
144
|
+
attr_writer :ttl
|
|
145
|
+
|
|
133
146
|
# Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
|
|
134
147
|
# from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
|
|
135
148
|
# token block.
|
|
136
149
|
sig do
|
|
137
150
|
params(
|
|
138
151
|
|
|
152
|
+
ttl: OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::OrSymbol,
|
|
153
|
+
|
|
139
154
|
mode: Symbol
|
|
140
155
|
)
|
|
141
156
|
.returns(T.attached_class)
|
|
142
157
|
end
|
|
143
158
|
def self.new(
|
|
144
159
|
|
|
160
|
+
# The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
|
|
161
|
+
ttl: nil,
|
|
162
|
+
|
|
145
163
|
# The breakpoint mode. Always `explicit`.
|
|
146
164
|
|
|
147
165
|
mode: :explicit
|
|
@@ -150,12 +168,41 @@ module OpenAI
|
|
|
150
168
|
|
|
151
169
|
sig do
|
|
152
170
|
override.returns(
|
|
153
|
-
{
|
|
171
|
+
{
|
|
172
|
+
mode: Symbol,
|
|
173
|
+
ttl: OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
|
|
174
|
+
}
|
|
154
175
|
)
|
|
155
176
|
end
|
|
156
177
|
def to_hash
|
|
157
178
|
end
|
|
158
179
|
|
|
180
|
+
# The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
|
|
181
|
+
module Ttl
|
|
182
|
+
extend OpenAI::Internal::Type::Enum
|
|
183
|
+
|
|
184
|
+
TaggedSymbol = T.type_alias {
|
|
185
|
+
T.all(Symbol, OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl)
|
|
186
|
+
}
|
|
187
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
188
|
+
|
|
189
|
+
TTL_30M = T.let(
|
|
190
|
+
:"30m",
|
|
191
|
+
OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
|
|
192
|
+
)
|
|
193
|
+
TTL_12H = T.let(
|
|
194
|
+
:"12h",
|
|
195
|
+
OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
sig {
|
|
199
|
+
override.returns(
|
|
200
|
+
T::Array[OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl::TaggedSymbol]
|
|
201
|
+
)
|
|
202
|
+
}
|
|
203
|
+
def self.values
|
|
204
|
+
end
|
|
205
|
+
end
|
|
159
206
|
end
|
|
160
207
|
|
|
161
208
|
end
|
|
@@ -68,11 +68,14 @@ module OpenAI
|
|
|
68
68
|
sig { params(mask: OpenAI::Internal::FileInput).void }
|
|
69
69
|
attr_writer :mask
|
|
70
70
|
|
|
71
|
-
# The GPT image model to use for image editing (`gpt-image-1
|
|
71
|
+
# The GPT image model to use for image editing (`gpt-image-1-mini`,
|
|
72
72
|
# `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
73
73
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
74
74
|
# `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
|
|
75
75
|
# `chatgpt-image-latest`).
|
|
76
|
+
#
|
|
77
|
+
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
78
|
+
# `gpt-image-2.5-flare` instead.
|
|
76
79
|
sig { returns(T.nilable(T.any(String, OpenAI::ImageModel::OrSymbol))) }
|
|
77
80
|
attr_accessor :model
|
|
78
81
|
|
|
@@ -230,11 +233,14 @@ module OpenAI
|
|
|
230
233
|
# content type.
|
|
231
234
|
mask: nil,
|
|
232
235
|
|
|
233
|
-
# The GPT image model to use for image editing (`gpt-image-1
|
|
236
|
+
# The GPT image model to use for image editing (`gpt-image-1-mini`,
|
|
234
237
|
# `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
235
238
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
236
239
|
# `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
|
|
237
240
|
# `chatgpt-image-latest`).
|
|
241
|
+
#
|
|
242
|
+
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
243
|
+
# `gpt-image-2.5-flare` instead.
|
|
238
244
|
model: nil,
|
|
239
245
|
|
|
240
246
|
# The number of images to generate. Must be between 1 and 10.
|
|
@@ -390,11 +396,14 @@ module OpenAI
|
|
|
390
396
|
end
|
|
391
397
|
end
|
|
392
398
|
|
|
393
|
-
# The GPT image model to use for image editing (`gpt-image-1
|
|
399
|
+
# The GPT image model to use for image editing (`gpt-image-1-mini`,
|
|
394
400
|
# `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
395
401
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
396
402
|
# `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
|
|
397
403
|
# `chatgpt-image-latest`).
|
|
404
|
+
#
|
|
405
|
+
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
406
|
+
# `gpt-image-2.5-flare` instead.
|
|
398
407
|
module Model
|
|
399
408
|
extend OpenAI::Internal::Type::Union
|
|
400
409
|
|
|
@@ -33,10 +33,13 @@ module OpenAI
|
|
|
33
33
|
attr_accessor :background
|
|
34
34
|
|
|
35
35
|
# The GPT image model to use for image generation. Specify a model explicitly.
|
|
36
|
-
# Supported models include `gpt-image-1`, `gpt-image-1
|
|
37
|
-
# `gpt-image-2
|
|
36
|
+
# Supported models include `gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
|
|
37
|
+
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
38
38
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
|
|
39
39
|
# `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`.
|
|
40
|
+
#
|
|
41
|
+
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
42
|
+
# `gpt-image-2.5-flare` instead.
|
|
40
43
|
sig { returns(T.nilable(T.any(String, OpenAI::ImageModel::OrSymbol))) }
|
|
41
44
|
attr_accessor :model
|
|
42
45
|
|
|
@@ -175,10 +178,13 @@ module OpenAI
|
|
|
175
178
|
background: nil,
|
|
176
179
|
|
|
177
180
|
# The GPT image model to use for image generation. Specify a model explicitly.
|
|
178
|
-
# Supported models include `gpt-image-1`, `gpt-image-1
|
|
179
|
-
# `gpt-image-2
|
|
181
|
+
# Supported models include `gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
|
|
182
|
+
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
180
183
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
|
|
181
184
|
# `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`.
|
|
185
|
+
#
|
|
186
|
+
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
187
|
+
# `gpt-image-2.5-flare` instead.
|
|
182
188
|
model: nil,
|
|
183
189
|
|
|
184
190
|
# Control the content-moderation level for images generated by the GPT image
|
|
@@ -302,10 +308,13 @@ module OpenAI
|
|
|
302
308
|
end
|
|
303
309
|
|
|
304
310
|
# The GPT image model to use for image generation. Specify a model explicitly.
|
|
305
|
-
# Supported models include `gpt-image-1`, `gpt-image-1
|
|
306
|
-
# `gpt-image-2
|
|
311
|
+
# Supported models include `gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
|
|
312
|
+
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
307
313
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
|
|
308
314
|
# `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`.
|
|
315
|
+
#
|
|
316
|
+
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
317
|
+
# `gpt-image-2.5-flare` instead.
|
|
309
318
|
module Model
|
|
310
319
|
extend OpenAI::Internal::Type::Union
|
|
311
320
|
|
|
@@ -18,17 +18,39 @@ module OpenAI
|
|
|
18
18
|
sig { returns(Symbol) }
|
|
19
19
|
attr_accessor :type
|
|
20
20
|
|
|
21
|
+
# Milliseconds to wait before requesting an automatic spoken acknowledgement for a
|
|
22
|
+
# delegation. The model may still speak before this delay. Any commentary or
|
|
23
|
+
# thinking appended to the session cancels all pending acknowledgements, including
|
|
24
|
+
# those for other delegations. Defaults to 400 for Decisions sessions and 0
|
|
25
|
+
# (request immediately) for other sessions. Omission in a session update preserves
|
|
26
|
+
# the current value. Updates apply to subsequent delegations.
|
|
27
|
+
sig { returns(T.nilable(Integer)) }
|
|
28
|
+
attr_reader :acknowledgement_delay_ms
|
|
29
|
+
|
|
30
|
+
sig { params(acknowledgement_delay_ms: Integer).void }
|
|
31
|
+
attr_writer :acknowledgement_delay_ms
|
|
32
|
+
|
|
21
33
|
# Delegate tasks to your application. The Live session emits delegation events
|
|
22
34
|
# that your backend handles.
|
|
23
35
|
sig do
|
|
24
36
|
params(
|
|
25
37
|
|
|
38
|
+
acknowledgement_delay_ms: Integer,
|
|
39
|
+
|
|
26
40
|
type: Symbol
|
|
27
41
|
)
|
|
28
42
|
.returns(T.attached_class)
|
|
29
43
|
end
|
|
30
44
|
def self.new(
|
|
31
45
|
|
|
46
|
+
# Milliseconds to wait before requesting an automatic spoken acknowledgement for a
|
|
47
|
+
# delegation. The model may still speak before this delay. Any commentary or
|
|
48
|
+
# thinking appended to the session cancels all pending acknowledgements, including
|
|
49
|
+
# those for other delegations. Defaults to 400 for Decisions sessions and 0
|
|
50
|
+
# (request immediately) for other sessions. Omission in a session update preserves
|
|
51
|
+
# the current value. Updates apply to subsequent delegations.
|
|
52
|
+
acknowledgement_delay_ms: nil,
|
|
53
|
+
|
|
32
54
|
# The delegation owner. Always `client` for tasks handled by your application.
|
|
33
55
|
|
|
34
56
|
type: :client
|
|
@@ -37,7 +59,7 @@ module OpenAI
|
|
|
37
59
|
|
|
38
60
|
sig do
|
|
39
61
|
override.returns(
|
|
40
|
-
{type: Symbol}
|
|
62
|
+
{type: Symbol, acknowledgement_delay_ms: Integer}
|
|
41
63
|
)
|
|
42
64
|
end
|
|
43
65
|
def to_hash
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class DecisionAssistantMessage < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::DecisionAssistantMessage,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The text input to the model.
|
|
18
|
+
sig { returns(OpenAI::Live::DecisionAssistantMessage::Content::Variants) }
|
|
19
|
+
attr_accessor :content
|
|
20
|
+
|
|
21
|
+
sig { returns(Symbol) }
|
|
22
|
+
attr_accessor :role
|
|
23
|
+
|
|
24
|
+
# The unique ID of this message item.
|
|
25
|
+
sig { returns(T.nilable(String)) }
|
|
26
|
+
attr_accessor :id
|
|
27
|
+
|
|
28
|
+
# Labels an `assistant` message as intermediate commentary (`commentary`) or the
|
|
29
|
+
# final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
|
|
30
|
+
# sending follow-up requests, preserve and resend phase on all assistant messages
|
|
31
|
+
# — dropping it can degrade performance. Not used for user messages.
|
|
32
|
+
sig { returns(T.nilable(OpenAI::Live::DecisionAssistantMessage::Phase::OrSymbol)) }
|
|
33
|
+
attr_accessor :phase
|
|
34
|
+
|
|
35
|
+
sig { returns(T.nilable(OpenAI::Live::DecisionAssistantMessage::Type::OrSymbol)) }
|
|
36
|
+
attr_reader :type
|
|
37
|
+
|
|
38
|
+
sig { params(type: OpenAI::Live::DecisionAssistantMessage::Type::OrSymbol).void }
|
|
39
|
+
attr_writer :type
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
params(
|
|
43
|
+
|
|
44
|
+
content: OpenAI::Live::DecisionAssistantMessage::Content::Variants,
|
|
45
|
+
|
|
46
|
+
id: T.nilable(String),
|
|
47
|
+
|
|
48
|
+
phase: T.nilable(OpenAI::Live::DecisionAssistantMessage::Phase::OrSymbol),
|
|
49
|
+
|
|
50
|
+
type: OpenAI::Live::DecisionAssistantMessage::Type::OrSymbol,
|
|
51
|
+
|
|
52
|
+
role: Symbol
|
|
53
|
+
)
|
|
54
|
+
.returns(T.attached_class)
|
|
55
|
+
end
|
|
56
|
+
def self.new(
|
|
57
|
+
|
|
58
|
+
# The text input to the model.
|
|
59
|
+
content:,
|
|
60
|
+
|
|
61
|
+
# The unique ID of this message item.
|
|
62
|
+
id: nil,
|
|
63
|
+
|
|
64
|
+
# Labels an `assistant` message as intermediate commentary (`commentary`) or the
|
|
65
|
+
# final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
|
|
66
|
+
# sending follow-up requests, preserve and resend phase on all assistant messages
|
|
67
|
+
# — dropping it can degrade performance. Not used for user messages.
|
|
68
|
+
phase: nil,
|
|
69
|
+
|
|
70
|
+
type: nil,
|
|
71
|
+
|
|
72
|
+
role: :assistant
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
sig do
|
|
77
|
+
override.returns(
|
|
78
|
+
{
|
|
79
|
+
content: OpenAI::Live::DecisionAssistantMessage::Content::Variants,
|
|
80
|
+
role: Symbol,
|
|
81
|
+
id: T.nilable(String),
|
|
82
|
+
phase: T.nilable(OpenAI::Live::DecisionAssistantMessage::Phase::OrSymbol),
|
|
83
|
+
type: OpenAI::Live::DecisionAssistantMessage::Type::OrSymbol
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
def to_hash
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# The text input to the model.
|
|
91
|
+
module Content
|
|
92
|
+
extend OpenAI::Internal::Type::Union
|
|
93
|
+
|
|
94
|
+
Variants = T.type_alias {
|
|
95
|
+
T.any(String, T::Array[OpenAI::Live::DecisionAssistantMessage::Content::Part::Variants])
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
module Part
|
|
99
|
+
extend OpenAI::Internal::Type::Union
|
|
100
|
+
|
|
101
|
+
Variants = T.type_alias {
|
|
102
|
+
T.any(
|
|
103
|
+
OpenAI::Live::DecisionAssistantMessage::Content::Part::OutputText,
|
|
104
|
+
OpenAI::Live::DecisionAssistantMessage::Content::Part::Refusal
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
class OutputText < OpenAI::Internal::Type::BaseModel
|
|
109
|
+
OrHash = T.type_alias do
|
|
110
|
+
T.any(
|
|
111
|
+
OpenAI::Live::DecisionAssistantMessage::Content::Part::OutputText,
|
|
112
|
+
OpenAI::Internal::AnyHash
|
|
113
|
+
)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# The text content.
|
|
117
|
+
sig { returns(String) }
|
|
118
|
+
attr_accessor :text
|
|
119
|
+
|
|
120
|
+
sig { returns(Symbol) }
|
|
121
|
+
attr_accessor :type
|
|
122
|
+
|
|
123
|
+
sig do
|
|
124
|
+
params(
|
|
125
|
+
|
|
126
|
+
text: String,
|
|
127
|
+
|
|
128
|
+
type: Symbol
|
|
129
|
+
)
|
|
130
|
+
.returns(T.attached_class)
|
|
131
|
+
end
|
|
132
|
+
def self.new(
|
|
133
|
+
|
|
134
|
+
# The text content.
|
|
135
|
+
text:,
|
|
136
|
+
|
|
137
|
+
type: :output_text
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
sig do
|
|
142
|
+
override.returns(
|
|
143
|
+
{text: String, type: Symbol}
|
|
144
|
+
)
|
|
145
|
+
end
|
|
146
|
+
def to_hash
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
class Refusal < OpenAI::Internal::Type::BaseModel
|
|
152
|
+
OrHash = T.type_alias do
|
|
153
|
+
T.any(
|
|
154
|
+
OpenAI::Live::DecisionAssistantMessage::Content::Part::Refusal,
|
|
155
|
+
OpenAI::Internal::AnyHash
|
|
156
|
+
)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# The refusal text.
|
|
160
|
+
sig { returns(String) }
|
|
161
|
+
attr_accessor :refusal
|
|
162
|
+
|
|
163
|
+
sig { returns(Symbol) }
|
|
164
|
+
attr_accessor :type
|
|
165
|
+
|
|
166
|
+
sig do
|
|
167
|
+
params(
|
|
168
|
+
|
|
169
|
+
refusal: String,
|
|
170
|
+
|
|
171
|
+
type: Symbol
|
|
172
|
+
)
|
|
173
|
+
.returns(T.attached_class)
|
|
174
|
+
end
|
|
175
|
+
def self.new(
|
|
176
|
+
|
|
177
|
+
# The refusal text.
|
|
178
|
+
refusal:,
|
|
179
|
+
|
|
180
|
+
type: :refusal
|
|
181
|
+
)
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
sig do
|
|
185
|
+
override.returns(
|
|
186
|
+
{refusal: String, type: Symbol}
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
def to_hash
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionAssistantMessage::Content::Part::Variants]) }
|
|
195
|
+
def self.variants
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionAssistantMessage::Content::Variants]) }
|
|
201
|
+
def self.variants
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
PartsArray = T.let(
|
|
205
|
+
OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::DecisionAssistantMessage::Content::Part],
|
|
206
|
+
OpenAI::Internal::Type::Converter
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# Labels an `assistant` message as intermediate commentary (`commentary`) or the
|
|
212
|
+
# final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
|
|
213
|
+
# sending follow-up requests, preserve and resend phase on all assistant messages
|
|
214
|
+
# — dropping it can degrade performance. Not used for user messages.
|
|
215
|
+
module Phase
|
|
216
|
+
extend OpenAI::Internal::Type::Enum
|
|
217
|
+
|
|
218
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::DecisionAssistantMessage::Phase) }
|
|
219
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
220
|
+
|
|
221
|
+
COMMENTARY = T.let(:commentary, OpenAI::Live::DecisionAssistantMessage::Phase::TaggedSymbol)
|
|
222
|
+
FINAL_ANSWER = T.let(:final_answer, OpenAI::Live::DecisionAssistantMessage::Phase::TaggedSymbol)
|
|
223
|
+
|
|
224
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionAssistantMessage::Phase::TaggedSymbol]) }
|
|
225
|
+
def self.values
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
module Type
|
|
230
|
+
extend OpenAI::Internal::Type::Enum
|
|
231
|
+
|
|
232
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::DecisionAssistantMessage::Type) }
|
|
233
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
234
|
+
|
|
235
|
+
MESSAGE = T.let(:message, OpenAI::Live::DecisionAssistantMessage::Type::TaggedSymbol)
|
|
236
|
+
|
|
237
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionAssistantMessage::Type::TaggedSymbol]) }
|
|
238
|
+
def self.values
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
end
|
|
247
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class DecisionChoiceOption < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::DecisionChoiceOption,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { returns(T.any(String, T::Boolean)) }
|
|
18
|
+
attr_accessor :value
|
|
19
|
+
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :description
|
|
22
|
+
|
|
23
|
+
sig { params(description: String).void }
|
|
24
|
+
attr_writer :description
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
|
|
29
|
+
value: T.any(String, T::Boolean),
|
|
30
|
+
|
|
31
|
+
description: String
|
|
32
|
+
)
|
|
33
|
+
.returns(T.attached_class)
|
|
34
|
+
end
|
|
35
|
+
def self.new(
|
|
36
|
+
|
|
37
|
+
value:,
|
|
38
|
+
|
|
39
|
+
description: nil
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
override.returns(
|
|
45
|
+
{value: T.any(String, T::Boolean), description: String}
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
def to_hash
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
module Value
|
|
52
|
+
extend OpenAI::Internal::Type::Union
|
|
53
|
+
|
|
54
|
+
Variants = T.type_alias { T.any(String, T::Boolean) }
|
|
55
|
+
|
|
56
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionChoiceOption::Value::Variants]) }
|
|
57
|
+
def self.variants
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class DecisionDeveloperMessage < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::DecisionDeveloperMessage,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The text input to the model.
|
|
18
|
+
sig { returns(OpenAI::Live::DecisionDeveloperMessage::Content::Variants) }
|
|
19
|
+
attr_accessor :content
|
|
20
|
+
|
|
21
|
+
sig { returns(Symbol) }
|
|
22
|
+
attr_accessor :role
|
|
23
|
+
|
|
24
|
+
# The unique ID of this message item.
|
|
25
|
+
sig { returns(T.nilable(String)) }
|
|
26
|
+
attr_accessor :id
|
|
27
|
+
|
|
28
|
+
sig { returns(T.nilable(OpenAI::Live::DecisionDeveloperMessage::Type::OrSymbol)) }
|
|
29
|
+
attr_reader :type
|
|
30
|
+
|
|
31
|
+
sig { params(type: OpenAI::Live::DecisionDeveloperMessage::Type::OrSymbol).void }
|
|
32
|
+
attr_writer :type
|
|
33
|
+
|
|
34
|
+
sig do
|
|
35
|
+
params(
|
|
36
|
+
|
|
37
|
+
content: OpenAI::Live::DecisionDeveloperMessage::Content::Variants,
|
|
38
|
+
|
|
39
|
+
id: T.nilable(String),
|
|
40
|
+
|
|
41
|
+
type: OpenAI::Live::DecisionDeveloperMessage::Type::OrSymbol,
|
|
42
|
+
|
|
43
|
+
role: Symbol
|
|
44
|
+
)
|
|
45
|
+
.returns(T.attached_class)
|
|
46
|
+
end
|
|
47
|
+
def self.new(
|
|
48
|
+
|
|
49
|
+
# The text input to the model.
|
|
50
|
+
content:,
|
|
51
|
+
|
|
52
|
+
# The unique ID of this message item.
|
|
53
|
+
id: nil,
|
|
54
|
+
|
|
55
|
+
type: nil,
|
|
56
|
+
|
|
57
|
+
role: :developer
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
content: OpenAI::Live::DecisionDeveloperMessage::Content::Variants,
|
|
65
|
+
role: Symbol,
|
|
66
|
+
id: T.nilable(String),
|
|
67
|
+
type: OpenAI::Live::DecisionDeveloperMessage::Type::OrSymbol
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
def to_hash
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# The text input to the model.
|
|
75
|
+
module Content
|
|
76
|
+
extend OpenAI::Internal::Type::Union
|
|
77
|
+
|
|
78
|
+
Variants = T.type_alias { T.any(String, T::Array[OpenAI::Live::DecisionInputText]) }
|
|
79
|
+
|
|
80
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionDeveloperMessage::Content::Variants]) }
|
|
81
|
+
def self.variants
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
DecisionInputTextArray = T.let(
|
|
85
|
+
OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionInputText],
|
|
86
|
+
OpenAI::Internal::Type::Converter
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
module Type
|
|
92
|
+
extend OpenAI::Internal::Type::Enum
|
|
93
|
+
|
|
94
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::DecisionDeveloperMessage::Type) }
|
|
95
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
96
|
+
|
|
97
|
+
MESSAGE = T.let(:message, OpenAI::Live::DecisionDeveloperMessage::Type::TaggedSymbol)
|
|
98
|
+
|
|
99
|
+
sig { override.returns(T::Array[OpenAI::Live::DecisionDeveloperMessage::Type::TaggedSymbol]) }
|
|
100
|
+
def self.values
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|
|
109
|
+
end
|