openai 0.111.0 → 0.112.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 +8 -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_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_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/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/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_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_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_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/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/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_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_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_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/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/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_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
|
@@ -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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class DecisionInputText < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::DecisionInputText,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The text input to the model.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :text
|
|
20
|
+
|
|
21
|
+
sig { returns(Symbol) }
|
|
22
|
+
attr_accessor :type
|
|
23
|
+
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
|
|
27
|
+
text: String,
|
|
28
|
+
|
|
29
|
+
type: Symbol
|
|
30
|
+
)
|
|
31
|
+
.returns(T.attached_class)
|
|
32
|
+
end
|
|
33
|
+
def self.new(
|
|
34
|
+
|
|
35
|
+
# The text input to the model.
|
|
36
|
+
text:,
|
|
37
|
+
|
|
38
|
+
type: :input_text
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{text: String, type: Symbol}
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|