openai 0.110.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 +20 -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 +802 -28
- data/lib/openai/models/decision_input_json.rb +45 -0
- data/lib/openai/models/decision_input_message.rb +304 -48
- data/lib/openai/models/decision_input_part.rb +4 -1
- data/lib/openai/models/decision_question_input_image.rb +54 -0
- data/lib/openai/models/decision_question_input_part.rb +23 -0
- data/lib/openai/models/decision_question_input_text.rb +21 -0
- 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 -185
- data/lib/openai/models/live/decision_user_message.rb +193 -0
- data/lib/openai/models/live/decisions_delegation_config.rb +5 -177
- data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -184
- 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/models.rb +8 -0
- data/lib/openai/resources/beta/agents.rb +2 -2
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/decisions.rb +5 -6
- 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 +16 -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/decision_create_params.rbi +1273 -26
- data/rbi/openai/models/decision_input_json.rbi +75 -0
- data/rbi/openai/models/decision_input_message.rbi +455 -52
- data/rbi/openai/models/decision_input_part.rbi +2 -1
- data/rbi/openai/models/decision_question_input_image.rbi +82 -0
- data/rbi/openai/models/decision_question_input_part.rbi +25 -0
- data/rbi/openai/models/decision_question_input_text.rbi +49 -0
- 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 -320
- data/rbi/openai/models/live/decision_user_message.rbi +320 -0
- data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -321
- data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -324
- 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/models.rbi +8 -0
- data/rbi/openai/resources/beta/agents.rbi +4 -2
- data/rbi/openai/resources/beta/responses.rbi +8 -1
- data/rbi/openai/resources/decisions.rbi +4 -5
- 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/decision_create_params.rbs +610 -24
- data/sig/openai/models/decision_input_json.rbs +34 -0
- data/sig/openai/models/decision_input_message.rbs +264 -35
- data/sig/openai/models/decision_input_part.rbs +3 -1
- data/sig/openai/models/decision_question_input_image.rbs +51 -0
- data/sig/openai/models/decision_question_input_part.rbs +14 -0
- data/sig/openai/models/decision_question_input_text.rbs +15 -0
- 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 -171
- data/sig/openai/models/live/decision_user_message.rbs +180 -0
- data/sig/openai/models/live/decisions_delegation_config.rbs +6 -167
- data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -169
- 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/models.rbs +9 -1
- 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 +49 -1
|
@@ -10,10 +10,29 @@ module OpenAI
|
|
|
10
10
|
# @return [Symbol, :client]
|
|
11
11
|
required :type, const: :client
|
|
12
12
|
|
|
13
|
-
# @!
|
|
13
|
+
# @!attribute acknowledgement_delay_ms
|
|
14
|
+
# Milliseconds to wait before requesting an automatic spoken acknowledgement for a
|
|
15
|
+
# delegation. The model may still speak before this delay. Any commentary or
|
|
16
|
+
# thinking appended to the session cancels all pending acknowledgements, including
|
|
17
|
+
# those for other delegations. Defaults to 400 for Decisions sessions and 0
|
|
18
|
+
# (request immediately) for other sessions. Omission in a session update preserves
|
|
19
|
+
# the current value. Updates apply to subsequent delegations.
|
|
20
|
+
#
|
|
21
|
+
# @return [Integer, nil]
|
|
22
|
+
optional :acknowledgement_delay_ms, Integer
|
|
23
|
+
|
|
24
|
+
# @!method initialize(acknowledgement_delay_ms: nil, type: :client)
|
|
14
25
|
# Delegate tasks to your application. The Live session emits delegation events
|
|
15
26
|
# that your backend handles.
|
|
16
27
|
#
|
|
28
|
+
# @param acknowledgement_delay_ms [Integer]
|
|
29
|
+
# Milliseconds to wait before requesting an automatic spoken acknowledgement for a
|
|
30
|
+
# delegation. The model may still speak before this delay. Any commentary or
|
|
31
|
+
# thinking appended to the session cancels all pending acknowledgements, including
|
|
32
|
+
# those for other delegations. Defaults to 400 for Decisions sessions and 0
|
|
33
|
+
# (request immediately) for other sessions. Omission in a session update preserves
|
|
34
|
+
# the current value. Updates apply to subsequent delegations.
|
|
35
|
+
#
|
|
17
36
|
# @param type [Symbol, :client]
|
|
18
37
|
# The delegation owner. Always `client` for tasks handled by your application.
|
|
19
38
|
end
|
|
@@ -25,19 +25,19 @@ module OpenAI
|
|
|
25
25
|
# Mute audio input to the Live model without closing the session. The server acknowledges with `session.input_audio.muted`.
|
|
26
26
|
variant :"session.input_audio.mute", -> { OpenAI::Live::InputAudioMuteEvent }
|
|
27
27
|
|
|
28
|
-
# Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`.
|
|
28
|
+
# Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`. An active audio fixture still pauses inference until playback finishes.
|
|
29
29
|
variant :"session.input_audio.unmute", -> { OpenAI::Live::InputAudioUnmuteEvent }
|
|
30
30
|
|
|
31
31
|
# Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is interrupted and input is muted. Only one fixture can be active. fixture.playing acknowledges acceptance and fixture.played reports server mixer drain. These notifications are not exact transport-media boundaries. Input arriving during playback is dropped and not replayed.
|
|
32
32
|
variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
|
|
33
33
|
|
|
34
|
-
# Append instructions to the Live conversation while it is running, optionally associating them with an existing client delegation.
|
|
34
|
+
# Append developer instructions to the Live conversation while it is running, optionally associating them with an existing client delegation. Rejected while an audio fixture is active. These instructions remain in conversation history through compaction and are included in future backend delegations. For external audio, describe content already delivered so the assistant does not repeat it.
|
|
35
35
|
variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
|
|
36
36
|
|
|
37
|
-
# Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation.
|
|
37
|
+
# Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation. Rejected while an audio fixture is active.
|
|
38
38
|
variant :"session.thinking.append", -> { OpenAI::Live::ThinkingAppendEvent }
|
|
39
39
|
|
|
40
|
-
# Provide context the Live model can communicate to the user, optionally for an existing client delegation.
|
|
40
|
+
# Provide context the Live model can communicate to the user, optionally for an existing client delegation. Rejected while an audio fixture is active.
|
|
41
41
|
variant :"session.commentary.append", -> { OpenAI::Live::CommentaryAppendEvent }
|
|
42
42
|
|
|
43
43
|
# Evaluate the configured questions using the current conversation and Decision inputs. Reusing an event_id is rejected for the lifetime of the session.
|
|
@@ -35,7 +35,7 @@ module OpenAI
|
|
|
35
35
|
|
|
36
36
|
# @!method initialize(content:, delegation_id:, event_id: nil, type: :"session.commentary.append")
|
|
37
37
|
# Provide context the Live model can communicate to the user, optionally for an
|
|
38
|
-
# existing client delegation.
|
|
38
|
+
# existing client delegation. Rejected while an audio fixture is active.
|
|
39
39
|
#
|
|
40
40
|
# @param content [String]
|
|
41
41
|
# Speakable context for the Live model, limited to 500 tokens. Use this for a
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class DecisionAssistantMessage < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute content
|
|
8
|
+
# The text input to the model.
|
|
9
|
+
#
|
|
10
|
+
# @return [String, Array<OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::OutputText, OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::Refusal>]
|
|
11
|
+
required :content, union: -> { OpenAI::Live::DecisionAssistantMessage::Content }
|
|
12
|
+
|
|
13
|
+
# @!attribute role
|
|
14
|
+
#
|
|
15
|
+
# @return [Symbol, :assistant]
|
|
16
|
+
required :role, const: :assistant
|
|
17
|
+
|
|
18
|
+
# @!attribute id
|
|
19
|
+
# The unique ID of this message item.
|
|
20
|
+
#
|
|
21
|
+
# @return [String, nil]
|
|
22
|
+
optional :id, String, nil?: true
|
|
23
|
+
|
|
24
|
+
# @!attribute phase
|
|
25
|
+
# Labels an `assistant` message as intermediate commentary (`commentary`) or the
|
|
26
|
+
# final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
|
|
27
|
+
# sending follow-up requests, preserve and resend phase on all assistant messages
|
|
28
|
+
# — dropping it can degrade performance. Not used for user messages.
|
|
29
|
+
#
|
|
30
|
+
# @return [Symbol, OpenAI::Models::Live::DecisionAssistantMessage::Phase, nil]
|
|
31
|
+
optional :phase, enum: -> { OpenAI::Live::DecisionAssistantMessage::Phase }, nil?: true
|
|
32
|
+
|
|
33
|
+
# @!attribute type
|
|
34
|
+
#
|
|
35
|
+
# @return [Symbol, OpenAI::Models::Live::DecisionAssistantMessage::Type, nil]
|
|
36
|
+
optional :type, enum: -> { OpenAI::Live::DecisionAssistantMessage::Type }
|
|
37
|
+
|
|
38
|
+
# @!method initialize(content:, id: nil, phase: nil, type: nil, role: :assistant)
|
|
39
|
+
# @param content [String, Array<OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::OutputText, OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::Refusal>]
|
|
40
|
+
# The text input to the model.
|
|
41
|
+
#
|
|
42
|
+
# @param id [String, nil]
|
|
43
|
+
# The unique ID of this message item.
|
|
44
|
+
#
|
|
45
|
+
# @param phase [Symbol, OpenAI::Models::Live::DecisionAssistantMessage::Phase, nil]
|
|
46
|
+
# Labels an `assistant` message as intermediate commentary (`commentary`) or the
|
|
47
|
+
# final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
|
|
48
|
+
# sending follow-up requests, preserve and resend phase on all assistant messages
|
|
49
|
+
# — dropping it can degrade performance. Not used for user messages.
|
|
50
|
+
#
|
|
51
|
+
# @param type [Symbol, OpenAI::Models::Live::DecisionAssistantMessage::Type]
|
|
52
|
+
#
|
|
53
|
+
# @param role [Symbol, :assistant]
|
|
54
|
+
|
|
55
|
+
# The text input to the model.
|
|
56
|
+
#
|
|
57
|
+
# @see OpenAI::Models::Live::DecisionAssistantMessage#content
|
|
58
|
+
module Content
|
|
59
|
+
extend OpenAI::Internal::Type::Union
|
|
60
|
+
|
|
61
|
+
# The text input to the model.
|
|
62
|
+
variant String
|
|
63
|
+
|
|
64
|
+
variant -> { OpenAI::Models::Live::DecisionAssistantMessage::Content::PartsArray }
|
|
65
|
+
|
|
66
|
+
module Part
|
|
67
|
+
extend OpenAI::Internal::Type::Union
|
|
68
|
+
|
|
69
|
+
discriminator :type
|
|
70
|
+
|
|
71
|
+
variant :output_text, -> { OpenAI::Live::DecisionAssistantMessage::Content::Part::OutputText }
|
|
72
|
+
|
|
73
|
+
variant :refusal, -> { OpenAI::Live::DecisionAssistantMessage::Content::Part::Refusal }
|
|
74
|
+
|
|
75
|
+
class OutputText < OpenAI::Internal::Type::BaseModel
|
|
76
|
+
# @!attribute text
|
|
77
|
+
# The text content.
|
|
78
|
+
#
|
|
79
|
+
# @return [String]
|
|
80
|
+
required :text, String
|
|
81
|
+
|
|
82
|
+
# @!attribute type
|
|
83
|
+
#
|
|
84
|
+
# @return [Symbol, :output_text]
|
|
85
|
+
required :type, const: :output_text
|
|
86
|
+
|
|
87
|
+
# @!method initialize(text:, type: :output_text)
|
|
88
|
+
# @param text [String]
|
|
89
|
+
# The text content.
|
|
90
|
+
#
|
|
91
|
+
# @param type [Symbol, :output_text]
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
class Refusal < OpenAI::Internal::Type::BaseModel
|
|
95
|
+
# @!attribute refusal
|
|
96
|
+
# The refusal text.
|
|
97
|
+
#
|
|
98
|
+
# @return [String]
|
|
99
|
+
required :refusal, String
|
|
100
|
+
|
|
101
|
+
# @!attribute type
|
|
102
|
+
#
|
|
103
|
+
# @return [Symbol, :refusal]
|
|
104
|
+
required :type, const: :refusal
|
|
105
|
+
|
|
106
|
+
# @!method initialize(refusal:, type: :refusal)
|
|
107
|
+
# @param refusal [String]
|
|
108
|
+
# The refusal text.
|
|
109
|
+
#
|
|
110
|
+
# @param type [Symbol, :refusal]
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# @!method self.variants
|
|
114
|
+
# @return [Array(OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::OutputText, OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::Refusal)]
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# @!method self.variants
|
|
118
|
+
# @return [Array(String, Array<OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::OutputText, OpenAI::Models::Live::DecisionAssistantMessage::Content::Part::Refusal>)]
|
|
119
|
+
|
|
120
|
+
# @type [OpenAI::Internal::Type::Converter]
|
|
121
|
+
PartsArray = OpenAI::Internal::Type::ArrayOf[
|
|
122
|
+
union: -> { OpenAI::Live::DecisionAssistantMessage::Content::Part }
|
|
123
|
+
]
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# Labels an `assistant` message as intermediate commentary (`commentary`) or the
|
|
127
|
+
# final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
|
|
128
|
+
# sending follow-up requests, preserve and resend phase on all assistant messages
|
|
129
|
+
# — dropping it can degrade performance. Not used for user messages.
|
|
130
|
+
#
|
|
131
|
+
# @see OpenAI::Models::Live::DecisionAssistantMessage#phase
|
|
132
|
+
module Phase
|
|
133
|
+
extend OpenAI::Internal::Type::Enum
|
|
134
|
+
|
|
135
|
+
COMMENTARY = :commentary
|
|
136
|
+
FINAL_ANSWER = :final_answer
|
|
137
|
+
|
|
138
|
+
# @!method self.values
|
|
139
|
+
# @return [Array<Symbol>]
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# @see OpenAI::Models::Live::DecisionAssistantMessage#type
|
|
143
|
+
module Type
|
|
144
|
+
extend OpenAI::Internal::Type::Enum
|
|
145
|
+
|
|
146
|
+
MESSAGE = :message
|
|
147
|
+
|
|
148
|
+
# @!method self.values
|
|
149
|
+
# @return [Array<Symbol>]
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class DecisionChoiceOption < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute value
|
|
8
|
+
#
|
|
9
|
+
# @return [String, Boolean]
|
|
10
|
+
required :value, union: -> { OpenAI::Live::DecisionChoiceOption::Value }
|
|
11
|
+
|
|
12
|
+
# @!attribute description
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
optional :description, String
|
|
16
|
+
|
|
17
|
+
# @!method initialize(value:, description: nil)
|
|
18
|
+
# @param value [String, Boolean]
|
|
19
|
+
# @param description [String]
|
|
20
|
+
|
|
21
|
+
# @see OpenAI::Models::Live::DecisionChoiceOption#value
|
|
22
|
+
module Value
|
|
23
|
+
extend OpenAI::Internal::Type::Union
|
|
24
|
+
|
|
25
|
+
variant String
|
|
26
|
+
|
|
27
|
+
variant OpenAI::Internal::Type::Boolean
|
|
28
|
+
|
|
29
|
+
# @!method self.variants
|
|
30
|
+
# @return [Array(String, Boolean)]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class DecisionDeveloperMessage < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute content
|
|
8
|
+
# The text input to the model.
|
|
9
|
+
#
|
|
10
|
+
# @return [String, Array<OpenAI::Models::Live::DecisionInputText>]
|
|
11
|
+
required :content, union: -> { OpenAI::Live::DecisionDeveloperMessage::Content }
|
|
12
|
+
|
|
13
|
+
# @!attribute role
|
|
14
|
+
#
|
|
15
|
+
# @return [Symbol, :developer]
|
|
16
|
+
required :role, const: :developer
|
|
17
|
+
|
|
18
|
+
# @!attribute id
|
|
19
|
+
# The unique ID of this message item.
|
|
20
|
+
#
|
|
21
|
+
# @return [String, nil]
|
|
22
|
+
optional :id, String, nil?: true
|
|
23
|
+
|
|
24
|
+
# @!attribute type
|
|
25
|
+
#
|
|
26
|
+
# @return [Symbol, OpenAI::Models::Live::DecisionDeveloperMessage::Type, nil]
|
|
27
|
+
optional :type, enum: -> { OpenAI::Live::DecisionDeveloperMessage::Type }
|
|
28
|
+
|
|
29
|
+
# @!method initialize(content:, id: nil, type: nil, role: :developer)
|
|
30
|
+
# @param content [String, Array<OpenAI::Models::Live::DecisionInputText>]
|
|
31
|
+
# The text input to the model.
|
|
32
|
+
#
|
|
33
|
+
# @param id [String, nil]
|
|
34
|
+
# The unique ID of this message item.
|
|
35
|
+
#
|
|
36
|
+
# @param type [Symbol, OpenAI::Models::Live::DecisionDeveloperMessage::Type]
|
|
37
|
+
#
|
|
38
|
+
# @param role [Symbol, :developer]
|
|
39
|
+
|
|
40
|
+
# The text input to the model.
|
|
41
|
+
#
|
|
42
|
+
# @see OpenAI::Models::Live::DecisionDeveloperMessage#content
|
|
43
|
+
module Content
|
|
44
|
+
extend OpenAI::Internal::Type::Union
|
|
45
|
+
|
|
46
|
+
# The text input to the model.
|
|
47
|
+
variant String
|
|
48
|
+
|
|
49
|
+
variant -> { OpenAI::Models::Live::DecisionDeveloperMessage::Content::DecisionInputTextArray }
|
|
50
|
+
|
|
51
|
+
# @!method self.variants
|
|
52
|
+
# @return [Array(String, Array<OpenAI::Models::Live::DecisionInputText>)]
|
|
53
|
+
|
|
54
|
+
# @type [OpenAI::Internal::Type::Converter]
|
|
55
|
+
DecisionInputTextArray = OpenAI::Internal::Type::ArrayOf[-> { OpenAI::Live::DecisionInputText }]
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# @see OpenAI::Models::Live::DecisionDeveloperMessage#type
|
|
59
|
+
module Type
|
|
60
|
+
extend OpenAI::Internal::Type::Enum
|
|
61
|
+
|
|
62
|
+
MESSAGE = :message
|
|
63
|
+
|
|
64
|
+
# @!method self.values
|
|
65
|
+
# @return [Array<Symbol>]
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class DecisionInputText < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute text
|
|
8
|
+
# The text input to the model.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :text, String
|
|
12
|
+
|
|
13
|
+
# @!attribute type
|
|
14
|
+
#
|
|
15
|
+
# @return [Symbol, :input_text]
|
|
16
|
+
required :type, const: :input_text
|
|
17
|
+
|
|
18
|
+
# @!method initialize(text:, type: :input_text)
|
|
19
|
+
# @param text [String]
|
|
20
|
+
# The text input to the model.
|
|
21
|
+
#
|
|
22
|
+
# @param type [Symbol, :input_text]
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|