openai 0.103.0 → 0.105.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 +98 -0
- data/README.md +23 -1
- data/lib/openai/client.rb +3 -386
- data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
- data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
- data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
- data/lib/openai/helpers/beta/agents/files.rb +41 -0
- data/lib/openai/helpers/client_runtime.rb +391 -0
- data/lib/openai/helpers/files.rb +47 -0
- data/lib/openai/helpers/live/websocket.rb +8 -57
- data/lib/openai/helpers/models/chat/parsed.rb +32 -0
- data/lib/openai/helpers/models/responses/parsed.rb +30 -0
- data/lib/openai/helpers/models/responses/response.rb +32 -0
- data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
- data/lib/openai/helpers/realtime/client_extension.rb +1 -2
- data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
- data/lib/openai/helpers/realtime/translation.rb +7 -50
- data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
- data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
- data/lib/openai/helpers/streaming/response_stream.rb +1 -16
- data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
- data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
- data/lib/openai/helpers/vector_stores/files.rb +198 -0
- data/lib/openai/helpers/websocket/client_request.rb +31 -6
- data/lib/openai/helpers/websocket/connection.rb +58 -0
- data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
- data/lib/openai/helpers/websocket/protocol.rb +2 -1
- data/lib/openai/helpers/websocket/resource.rb +54 -0
- data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
- data/lib/openai/helpers/websocket.rb +4 -0
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
- data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
- data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
- data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
- data/lib/openai/models/admin/organization/project_residency.rb +3 -0
- data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
- data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
- data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
- data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
- data/lib/openai/models/audio/speech_create_params.rb +6 -3
- data/lib/openai/models/audio/translation_create_response.rb +0 -1
- data/lib/openai/models/audio/voice.rb +17 -2
- data/lib/openai/models/audio/voice_create_params.rb +100 -3
- data/lib/openai/models/beta/agent_create_params.rb +4 -2
- data/lib/openai/models/beta/agent_list_params.rb +4 -4
- data/lib/openai/models/beta/agent_session.rb +37 -1
- data/lib/openai/models/beta/agent_update_params.rb +4 -2
- data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
- data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
- data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
- data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
- data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
- data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
- data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
- data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
- data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
- data/lib/openai/models/beta/beta_response.rb +23 -2
- data/lib/openai/models/beta/beta_response_error.rb +19 -1
- data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
- data/lib/openai/models/beta/beta_response_item.rb +107 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
- data/lib/openai/models/beta/response_compact_params.rb +21 -0
- data/lib/openai/models/beta/response_create_params.rb +23 -2
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
- data/lib/openai/models/chat/chat_completion_message.rb +0 -8
- data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
- data/lib/openai/models/chat/completion_create_params.rb +5 -12
- data/lib/openai/models/chat_model.rb +21 -0
- data/lib/openai/models/conversations/conversation_item.rb +107 -1
- data/lib/openai/models/decision.rb +17 -2
- data/lib/openai/models/decision_create_params.rb +29 -12
- data/lib/openai/models/decision_input_image.rb +4 -3
- data/lib/openai/models/decision_input_message.rb +4 -4
- data/lib/openai/models/decision_input_part.rb +3 -2
- data/lib/openai/models/image_edit_completed_event.rb +15 -3
- data/lib/openai/models/image_edit_params.rb +28 -5
- data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
- data/lib/openai/models/image_gen_completed_event.rb +15 -3
- data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
- data/lib/openai/models/image_generate_params.rb +28 -5
- data/lib/openai/models/images_response.rb +15 -3
- data/lib/openai/models/live/built_in_voice.rb +1 -0
- data/lib/openai/models/live/client_event.rb +14 -2
- data/lib/openai/models/live/decision_create_event.rb +26 -0
- data/lib/openai/models/live/decision_event.rb +117 -0
- data/lib/openai/models/live/decision_item_create_event.rb +194 -0
- data/lib/openai/models/live/decision_item_created_event.rb +202 -0
- data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
- data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
- data/lib/openai/models/live/decision_trigger.rb +244 -0
- data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
- data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
- data/lib/openai/models/live/delegation_created_event.rb +10 -10
- data/lib/openai/models/live/fork_client_event.rb +14 -2
- data/lib/openai/models/live/fork_server_event.rb +17 -2
- data/lib/openai/models/live/media_session_config.rb +47 -11
- data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
- data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
- data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
- data/lib/openai/models/live/server_event.rb +17 -2
- data/lib/openai/models/live/session_accept_params.rb +47 -11
- data/lib/openai/models/live/session_config.rb +47 -11
- data/lib/openai/models/live/session_resource.rb +47 -11
- data/lib/openai/models/live/session_update_config.rb +38 -6
- data/lib/openai/models/live/session_update_event.rb +8 -8
- data/lib/openai/models/live/sideband_client_event.rb +57 -0
- data/lib/openai/models/live/sideband_server_event.rb +78 -0
- data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
- data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
- data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
- data/lib/openai/models/response_format_json_schema.rb +1 -1
- data/lib/openai/models/responses/function_tool.rb +8 -6
- data/lib/openai/models/responses/response.rb +2 -23
- data/lib/openai/models/responses/response_compact_params.rb +21 -0
- data/lib/openai/models/responses/response_create_params.rb +3 -6
- data/lib/openai/models/responses/response_error.rb +19 -1
- data/lib/openai/models/responses/response_format_text_config.rb +0 -4
- data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
- data/lib/openai/models/responses/response_input_item.rb +107 -1
- data/lib/openai/models/responses/response_item.rb +107 -1
- data/lib/openai/models/responses/response_output_item.rb +107 -1
- data/lib/openai/models/responses/response_output_text.rb +0 -8
- data/lib/openai/models/responses/responses_client_event.rb +2 -2
- data/lib/openai/models/safety/safety_alert.rb +12 -1
- data/lib/openai/models/video_create_error.rb +19 -1
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
- data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
- data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
- data/lib/openai/resources/admin/organization/usage.rb +67 -0
- data/lib/openai/resources/audio/speech.rb +2 -1
- data/lib/openai/resources/audio/voices.rb +10 -10
- data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
- data/lib/openai/resources/beta/agents/environments.rb +3 -3
- data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
- data/lib/openai/resources/beta/agents/sessions.rb +20 -56
- data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
- data/lib/openai/resources/beta/agents/vaults.rb +45 -6
- data/lib/openai/resources/beta/agents.rb +6 -4
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/chat/completions.rb +11 -37
- data/lib/openai/resources/decisions.rb +9 -15
- data/lib/openai/resources/files.rb +0 -39
- data/lib/openai/resources/images.rb +50 -12
- data/lib/openai/resources/live/forks.rb +19 -0
- data/lib/openai/resources/live/sideband.rb +19 -0
- data/lib/openai/resources/live.rb +19 -0
- data/lib/openai/resources/realtime/translations.rb +19 -0
- data/lib/openai/resources/realtime.rb +19 -0
- data/lib/openai/resources/responses.rb +44 -95
- data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
- data/lib/openai/resources/vector_stores/files.rb +0 -188
- data/lib/openai/resources/webhooks.rb +13 -29
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +31 -0
- data/rbi/openai/client.rbi +0 -103
- data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
- data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
- data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
- data/rbi/openai/helpers/client_runtime.rbi +108 -0
- data/rbi/openai/helpers/files.rbi +25 -0
- data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
- data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
- data/rbi/openai/helpers/models/responses/response.rbi +15 -0
- data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
- data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
- data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
- data/rbi/openai/helpers/websocket.rbi +82 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
- data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
- data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
- data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
- data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
- data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
- data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
- data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
- data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
- data/rbi/openai/models/audio/voice.rbi +21 -2
- data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
- data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
- data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
- data/rbi/openai/models/beta/agent_session.rbi +64 -1
- data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
- data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
- data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
- data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
- data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
- data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
- data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
- data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
- data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
- data/rbi/openai/models/beta/beta_response.rbi +2 -2
- data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
- data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
- data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
- data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
- data/rbi/openai/models/beta/response_create_params.rbi +2 -2
- data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
- data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
- data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
- data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
- data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
- data/rbi/openai/models/decision.rbi +14 -1
- data/rbi/openai/models/decision_create_params.rbi +23 -12
- data/rbi/openai/models/decision_input_image.rbi +4 -3
- data/rbi/openai/models/decision_input_message.rbi +4 -4
- data/rbi/openai/models/decision_input_part.rbi +2 -1
- data/rbi/openai/models/image_edit_completed_event.rbi +16 -1
- data/rbi/openai/models/image_edit_params.rbi +26 -4
- data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
- data/rbi/openai/models/image_gen_completed_event.rbi +16 -1
- data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
- data/rbi/openai/models/image_generate_params.rbi +26 -4
- data/rbi/openai/models/images_response.rbi +15 -0
- data/rbi/openai/models/live/built_in_voice.rbi +1 -0
- data/rbi/openai/models/live/client_event.rbi +4 -0
- data/rbi/openai/models/live/decision_create_event.rbi +55 -0
- data/rbi/openai/models/live/decision_event.rbi +185 -0
- data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
- data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
- data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
- data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
- data/rbi/openai/models/live/decision_trigger.rbi +465 -0
- data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
- data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
- data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
- data/rbi/openai/models/live/fork_client_event.rbi +4 -0
- data/rbi/openai/models/live/fork_server_event.rbi +5 -0
- data/rbi/openai/models/live/media_session_config.rbi +95 -14
- data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
- data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
- data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
- data/rbi/openai/models/live/server_event.rbi +5 -0
- data/rbi/openai/models/live/session_accept_params.rbi +88 -12
- data/rbi/openai/models/live/session_config.rbi +100 -14
- data/rbi/openai/models/live/session_resource.rbi +81 -10
- data/rbi/openai/models/live/session_update_config.rbi +86 -9
- data/rbi/openai/models/live/session_update_event.rbi +8 -8
- data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
- data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
- data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
- data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
- data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
- data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
- data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
- data/rbi/openai/models/responses/response.rbi +2 -7
- data/rbi/openai/models/responses/response_create_params.rbi +5 -9
- data/rbi/openai/models/responses/response_error.rbi +24 -3
- data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
- data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
- data/rbi/openai/models/responses/response_input_item.rbi +191 -0
- data/rbi/openai/models/responses/response_item.rbi +189 -0
- data/rbi/openai/models/responses/response_output_item.rbi +191 -0
- data/rbi/openai/models/responses/response_output_text.rbi +0 -4
- data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
- data/rbi/openai/models/safety/safety_alert.rbi +13 -1
- data/rbi/openai/models/video_create_error.rbi +24 -3
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
- data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
- data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
- data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
- data/rbi/openai/resources/audio/speech.rbi +2 -1
- data/rbi/openai/resources/audio/voices.rbi +13 -10
- data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
- data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
- data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
- data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
- data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
- data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
- data/rbi/openai/resources/beta/agents.rbi +6 -4
- data/rbi/openai/resources/beta/responses.rbi +2 -2
- data/rbi/openai/resources/chat/completions.rbi +26 -29
- data/rbi/openai/resources/decisions.rbi +9 -15
- data/rbi/openai/resources/files.rbi +0 -18
- data/rbi/openai/resources/images.rbi +44 -8
- data/rbi/openai/resources/live/forks.rbi +17 -0
- data/rbi/openai/resources/live/sideband.rbi +17 -0
- data/rbi/openai/resources/live.rbi +17 -0
- data/rbi/openai/resources/realtime/translations.rbi +17 -0
- data/rbi/openai/resources/realtime.rbi +17 -0
- data/rbi/openai/resources/responses.rbi +41 -333
- data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
- data/rbi/openai/resources/vector_stores/files.rbi +0 -113
- data/rbi/openai/resources/webhooks.rbi +1 -1
- data/sig/openai/client.rbs +0 -50
- data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
- data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
- data/sig/openai/helpers/beta/agents/files.rbs +30 -0
- data/sig/openai/helpers/client_runtime.rbs +53 -0
- data/sig/openai/helpers/files.rbs +12 -0
- data/sig/openai/helpers/models/responses/response.rbs +9 -0
- data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
- data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
- data/sig/openai/helpers/vector_stores/files.rbs +43 -0
- data/sig/openai/helpers/websocket.rbs +40 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
- data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
- data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
- data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
- data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
- data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
- data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
- data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
- data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
- data/sig/openai/models/audio/speech_create_params.rbs +4 -2
- data/sig/openai/models/audio/voice.rbs +21 -3
- data/sig/openai/models/audio/voice_create_params.rbs +90 -1
- data/sig/openai/models/beta/agent_create_params.rbs +4 -2
- data/sig/openai/models/beta/agent_list_params.rbs +9 -6
- data/sig/openai/models/beta/agent_session.rbs +36 -2
- data/sig/openai/models/beta/agent_update_params.rbs +4 -2
- data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
- data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
- data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
- data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
- data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
- data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
- data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
- data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
- data/sig/openai/models/beta/beta_response.rbs +2 -2
- data/sig/openai/models/beta/beta_response_error.rbs +19 -3
- data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
- data/sig/openai/models/beta/beta_response_item.rbs +110 -0
- data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
- data/sig/openai/models/beta/response_create_params.rbs +2 -2
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
- data/sig/openai/models/chat/completion_create_params.rbs +2 -2
- data/sig/openai/models/conversations/conversation_item.rbs +110 -0
- data/sig/openai/models/decision.rbs +13 -0
- data/sig/openai/models/decision_create_params.rbs +19 -8
- data/sig/openai/models/decision_input_image.rbs +2 -2
- data/sig/openai/models/decision_input_message.rbs +2 -2
- data/sig/openai/models/image_edit_completed_event.rbs +14 -2
- data/sig/openai/models/image_edit_params.rbs +27 -6
- data/sig/openai/models/image_gen_completed_event.rbs +14 -2
- data/sig/openai/models/image_generate_params.rbs +27 -6
- data/sig/openai/models/images_response.rbs +12 -0
- data/sig/openai/models/live/built_in_voice.rbs +2 -0
- data/sig/openai/models/live/client_event.rbs +4 -0
- data/sig/openai/models/live/decision_create_event.rbs +18 -0
- data/sig/openai/models/live/decision_event.rbs +102 -0
- data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
- data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
- data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
- data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
- data/sig/openai/models/live/decision_trigger.rbs +234 -0
- data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
- data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
- data/sig/openai/models/live/delegation_created_event.rbs +6 -7
- data/sig/openai/models/live/fork_client_event.rbs +4 -0
- data/sig/openai/models/live/fork_server_event.rbs +5 -0
- data/sig/openai/models/live/media_session_config.rbs +58 -11
- data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
- data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
- data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
- data/sig/openai/models/live/server_event.rbs +5 -0
- data/sig/openai/models/live/session_accept_params.rbs +57 -10
- data/sig/openai/models/live/session_config.rbs +58 -11
- data/sig/openai/models/live/session_resource.rbs +57 -10
- data/sig/openai/models/live/session_update_config.rbs +54 -3
- data/sig/openai/models/live/session_update_event.rbs +6 -6
- data/sig/openai/models/live/sideband_client_event.rbs +26 -0
- data/sig/openai/models/live/sideband_server_event.rbs +33 -0
- data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
- data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
- data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
- data/sig/openai/models/responses/response.rbs +2 -4
- data/sig/openai/models/responses/response_create_params.rbs +2 -2
- data/sig/openai/models/responses/response_error.rbs +19 -3
- data/sig/openai/models/responses/response_input_item.rbs +110 -0
- data/sig/openai/models/responses/response_item.rbs +110 -0
- data/sig/openai/models/responses/response_output_item.rbs +110 -0
- data/sig/openai/models/responses/responses_client_event.rbs +2 -2
- data/sig/openai/models/safety/safety_alert.rbs +12 -2
- data/sig/openai/models/video_create_error.rbs +19 -3
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
- data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
- data/sig/openai/resources/admin/organization/usage.rbs +15 -0
- data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
- data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
- data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
- data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
- data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
- data/sig/openai/resources/beta/agents.rbs +1 -1
- data/sig/openai/resources/files.rbs +0 -7
- data/sig/openai/resources/images.rbs +4 -0
- data/sig/openai/resources/live/forks.rbs +8 -0
- data/sig/openai/resources/live/sideband.rbs +8 -0
- data/sig/openai/resources/live.rbs +7 -0
- data/sig/openai/resources/realtime/translations.rbs +7 -0
- data/sig/openai/resources/realtime.rbs +7 -0
- data/sig/openai/resources/responses.rbs +7 -31
- data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
- data/sig/openai/resources/vector_stores/files.rbs +0 -36
- data/sig/openai/resources/webhooks.rbs +1 -1
- metadata +89 -1
|
@@ -15,16 +15,19 @@ module OpenAI
|
|
|
15
15
|
)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
18
|
+
# The text or images to evaluate for every question. Provide a text string or user
|
|
19
|
+
# messages containing text and images. Images can be base64 data URLs or publicly
|
|
20
|
+
# accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
|
|
21
|
+
# one request. Files, audio, tools, and item references are not supported.
|
|
22
22
|
sig { returns(OpenAI::DecisionCreateParams::Input::Variants) }
|
|
23
23
|
attr_accessor :input
|
|
24
24
|
|
|
25
|
+
# The model to use. Only `gpt-6-luna` is supported.
|
|
25
26
|
sig { returns(String) }
|
|
26
27
|
attr_accessor :model
|
|
27
28
|
|
|
29
|
+
# Ask 1–200 questions about the input. Each question can be a predicate, choice,
|
|
30
|
+
# or score. Answers come back in the same order.
|
|
28
31
|
sig {
|
|
29
32
|
returns(
|
|
30
33
|
T::Array[
|
|
@@ -66,14 +69,17 @@ module OpenAI
|
|
|
66
69
|
end
|
|
67
70
|
def self.new(
|
|
68
71
|
|
|
69
|
-
#
|
|
70
|
-
#
|
|
71
|
-
#
|
|
72
|
-
#
|
|
72
|
+
# The text or images to evaluate for every question. Provide a text string or user
|
|
73
|
+
# messages containing text and images. Images can be base64 data URLs or publicly
|
|
74
|
+
# accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
|
|
75
|
+
# one request. Files, audio, tools, and item references are not supported.
|
|
73
76
|
input:,
|
|
74
77
|
|
|
78
|
+
# The model to use. Only `gpt-6-luna` is supported.
|
|
75
79
|
model:,
|
|
76
80
|
|
|
81
|
+
# Ask 1–200 questions about the input. Each question can be a predicate, choice,
|
|
82
|
+
# or score. Answers come back in the same order.
|
|
77
83
|
questions:,
|
|
78
84
|
|
|
79
85
|
# Opaque caller-provided end-user identifier, scoped by the verified org. Match
|
|
@@ -104,10 +110,10 @@ module OpenAI
|
|
|
104
110
|
def to_hash
|
|
105
111
|
end
|
|
106
112
|
|
|
107
|
-
#
|
|
108
|
-
#
|
|
109
|
-
#
|
|
110
|
-
#
|
|
113
|
+
# The text or images to evaluate for every question. Provide a text string or user
|
|
114
|
+
# messages containing text and images. Images can be base64 data URLs or publicly
|
|
115
|
+
# accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
|
|
116
|
+
# one request. Files, audio, tools, and item references are not supported.
|
|
111
117
|
module Input
|
|
112
118
|
extend OpenAI::Internal::Type::Union
|
|
113
119
|
|
|
@@ -157,6 +163,7 @@ module OpenAI
|
|
|
157
163
|
sig { params(name: String).void }
|
|
158
164
|
attr_writer :name
|
|
159
165
|
|
|
166
|
+
# Estimate how likely it is that a statement about the input is true.
|
|
160
167
|
sig do
|
|
161
168
|
params(
|
|
162
169
|
|
|
@@ -198,6 +205,7 @@ module OpenAI
|
|
|
198
205
|
)
|
|
199
206
|
end
|
|
200
207
|
|
|
208
|
+
# Provide between 2 and 255 choices. Each choice must be unique.
|
|
201
209
|
sig { returns(T::Array[OpenAI::DecisionCreateParams::Question::Choice::Choice]) }
|
|
202
210
|
attr_accessor :choices
|
|
203
211
|
|
|
@@ -214,6 +222,7 @@ module OpenAI
|
|
|
214
222
|
sig { params(name: String).void }
|
|
215
223
|
attr_writer :name
|
|
216
224
|
|
|
225
|
+
# Choose from the supplied options based on the input.
|
|
217
226
|
sig do
|
|
218
227
|
params(
|
|
219
228
|
|
|
@@ -229,6 +238,7 @@ module OpenAI
|
|
|
229
238
|
end
|
|
230
239
|
def self.new(
|
|
231
240
|
|
|
241
|
+
# Provide between 2 and 255 choices. Each choice must be unique.
|
|
232
242
|
choices:,
|
|
233
243
|
|
|
234
244
|
instructions:,
|
|
@@ -338,6 +348,7 @@ module OpenAI
|
|
|
338
348
|
sig { params(name: String).void }
|
|
339
349
|
attr_writer :name
|
|
340
350
|
|
|
351
|
+
# Rate the input against the supplied ordered levels.
|
|
341
352
|
sig do
|
|
342
353
|
params(
|
|
343
354
|
|
|
@@ -12,7 +12,7 @@ module OpenAI
|
|
|
12
12
|
)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
# A base64-encoded image in a data URL.
|
|
15
|
+
# A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
|
|
16
16
|
sig { returns(String) }
|
|
17
17
|
attr_accessor :image_url
|
|
18
18
|
|
|
@@ -24,7 +24,8 @@ module OpenAI
|
|
|
24
24
|
sig { returns(T.nilable(OpenAI::DecisionInputImage::Detail::OrSymbol)) }
|
|
25
25
|
attr_accessor :detail
|
|
26
26
|
|
|
27
|
-
# An
|
|
27
|
+
# An image provided as a base64 data URL or a publicly accessible HTTP(S) URL.
|
|
28
|
+
# File IDs are not supported.
|
|
28
29
|
sig do
|
|
29
30
|
params(
|
|
30
31
|
|
|
@@ -38,7 +39,7 @@ module OpenAI
|
|
|
38
39
|
end
|
|
39
40
|
def self.new(
|
|
40
41
|
|
|
41
|
-
# A base64-encoded image in a data URL.
|
|
42
|
+
# A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
|
|
42
43
|
image_url:,
|
|
43
44
|
|
|
44
45
|
# The image detail level, using the selected model's image profile. Defaults to
|
|
@@ -12,7 +12,7 @@ module OpenAI
|
|
|
12
12
|
)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
# Text evidence or an ordered list of text and
|
|
15
|
+
# Text evidence or an ordered list of text and image parts.
|
|
16
16
|
sig { returns(OpenAI::DecisionInputMessage::Content::Variants) }
|
|
17
17
|
attr_accessor :content
|
|
18
18
|
|
|
@@ -25,7 +25,7 @@ module OpenAI
|
|
|
25
25
|
sig { params(type: OpenAI::DecisionInputMessage::Type::OrSymbol).void }
|
|
26
26
|
attr_writer :type
|
|
27
27
|
|
|
28
|
-
# A user message containing text or
|
|
28
|
+
# A user message containing text or images.
|
|
29
29
|
sig do
|
|
30
30
|
params(
|
|
31
31
|
|
|
@@ -39,7 +39,7 @@ module OpenAI
|
|
|
39
39
|
end
|
|
40
40
|
def self.new(
|
|
41
41
|
|
|
42
|
-
# Text evidence or an ordered list of text and
|
|
42
|
+
# Text evidence or an ordered list of text and image parts.
|
|
43
43
|
content:,
|
|
44
44
|
|
|
45
45
|
type: nil,
|
|
@@ -60,7 +60,7 @@ module OpenAI
|
|
|
60
60
|
def to_hash
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
# Text evidence or an ordered list of text and
|
|
63
|
+
# Text evidence or an ordered list of text and image parts.
|
|
64
64
|
module Content
|
|
65
65
|
extend OpenAI::Internal::Type::Union
|
|
66
66
|
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
module OpenAI
|
|
4
4
|
module Models
|
|
5
5
|
|
|
6
|
-
# An
|
|
6
|
+
# An image provided as a base64 data URL or a publicly accessible HTTP(S) URL.
|
|
7
|
+
# File IDs are not supported.
|
|
7
8
|
module DecisionInputPart
|
|
8
9
|
extend OpenAI::Internal::Type::Union
|
|
9
10
|
|
|
@@ -48,6 +48,12 @@ module OpenAI
|
|
|
48
48
|
sig { params(usage: OpenAI::ImageEditCompletedEvent::Usage::OrHash).void }
|
|
49
49
|
attr_writer :usage
|
|
50
50
|
|
|
51
|
+
# The effective safety identifier used for safety monitoring and abuse detection.
|
|
52
|
+
# This is the non-empty `safety_identifier` from the request, or the deprecated
|
|
53
|
+
# `user` value when `safety_identifier` is omitted, null, or empty.
|
|
54
|
+
sig { returns(T.nilable(String)) }
|
|
55
|
+
attr_accessor :safety_identifier
|
|
56
|
+
|
|
51
57
|
# Emitted when image editing has completed and the final image is available.
|
|
52
58
|
sig do
|
|
53
59
|
params(
|
|
@@ -66,6 +72,8 @@ module OpenAI
|
|
|
66
72
|
|
|
67
73
|
usage: OpenAI::ImageEditCompletedEvent::Usage::OrHash,
|
|
68
74
|
|
|
75
|
+
safety_identifier: T.nilable(String),
|
|
76
|
+
|
|
69
77
|
type: Symbol
|
|
70
78
|
)
|
|
71
79
|
.returns(T.attached_class)
|
|
@@ -94,6 +102,11 @@ module OpenAI
|
|
|
94
102
|
# generation.
|
|
95
103
|
usage:,
|
|
96
104
|
|
|
105
|
+
# The effective safety identifier used for safety monitoring and abuse detection.
|
|
106
|
+
# This is the non-empty `safety_identifier` from the request, or the deprecated
|
|
107
|
+
# `user` value when `safety_identifier` is omitted, null, or empty.
|
|
108
|
+
safety_identifier: nil,
|
|
109
|
+
|
|
97
110
|
# The type of the event. Always `image_edit.completed`.
|
|
98
111
|
|
|
99
112
|
type: :"image_edit.completed"
|
|
@@ -110,7 +123,8 @@ module OpenAI
|
|
|
110
123
|
quality: OpenAI::ImageEditCompletedEvent::Quality::TaggedSymbol,
|
|
111
124
|
size: OpenAI::ImageEditCompletedEvent::Size::Variants,
|
|
112
125
|
type: Symbol,
|
|
113
|
-
usage: OpenAI::ImageEditCompletedEvent::Usage
|
|
126
|
+
usage: OpenAI::ImageEditCompletedEvent::Usage,
|
|
127
|
+
safety_identifier: T.nilable(String)
|
|
114
128
|
}
|
|
115
129
|
)
|
|
116
130
|
end
|
|
@@ -192,6 +206,7 @@ module OpenAI
|
|
|
192
206
|
sig { returns(T::Array[OpenAI::ImageEditCompletedEvent::Size::TaggedSymbol]) }
|
|
193
207
|
def self.values
|
|
194
208
|
end
|
|
209
|
+
|
|
195
210
|
end
|
|
196
211
|
|
|
197
212
|
class Usage < OpenAI::Internal::Type::BaseModel
|
|
@@ -113,6 +113,15 @@ module OpenAI
|
|
|
113
113
|
sig { returns(T.nilable(OpenAI::ImageEditParams::ResponseFormat::OrSymbol)) }
|
|
114
114
|
attr_accessor :response_format
|
|
115
115
|
|
|
116
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
117
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
118
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
119
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
120
|
+
# when available.
|
|
121
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
122
|
+
sig { returns(T.nilable(String)) }
|
|
123
|
+
attr_accessor :safety_identifier
|
|
124
|
+
|
|
116
125
|
# The size of the generated images. Defaults to `auto`. For `gpt-image-2`,
|
|
117
126
|
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
118
127
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and
|
|
@@ -127,8 +136,9 @@ module OpenAI
|
|
|
127
136
|
sig { returns(T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol))) }
|
|
128
137
|
attr_accessor :size
|
|
129
138
|
|
|
130
|
-
#
|
|
131
|
-
# and
|
|
139
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
140
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
141
|
+
# empty.
|
|
132
142
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
133
143
|
sig { returns(T.nilable(String)) }
|
|
134
144
|
attr_reader :user
|
|
@@ -163,6 +173,8 @@ module OpenAI
|
|
|
163
173
|
|
|
164
174
|
response_format: T.nilable(OpenAI::ImageEditParams::ResponseFormat::OrSymbol),
|
|
165
175
|
|
|
176
|
+
safety_identifier: T.nilable(String),
|
|
177
|
+
|
|
166
178
|
size: T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol)),
|
|
167
179
|
|
|
168
180
|
user: String,
|
|
@@ -256,6 +268,14 @@ module OpenAI
|
|
|
256
268
|
# image models, which always return base64-encoded images.
|
|
257
269
|
response_format: nil,
|
|
258
270
|
|
|
271
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
272
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
273
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
274
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
275
|
+
# when available.
|
|
276
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
277
|
+
safety_identifier: nil,
|
|
278
|
+
|
|
259
279
|
# The size of the generated images. Defaults to `auto`. For `gpt-image-2`,
|
|
260
280
|
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
261
281
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and
|
|
@@ -269,8 +289,9 @@ module OpenAI
|
|
|
269
289
|
# models that allow automatic sizing.
|
|
270
290
|
size: nil,
|
|
271
291
|
|
|
272
|
-
#
|
|
273
|
-
# and
|
|
292
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
293
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
294
|
+
# empty.
|
|
274
295
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
275
296
|
user: nil,
|
|
276
297
|
|
|
@@ -293,6 +314,7 @@ module OpenAI
|
|
|
293
314
|
partial_images: T.nilable(Integer),
|
|
294
315
|
quality: T.nilable(OpenAI::ImageEditParams::Quality::OrSymbol),
|
|
295
316
|
response_format: T.nilable(OpenAI::ImageEditParams::ResponseFormat::OrSymbol),
|
|
317
|
+
safety_identifier: T.nilable(String),
|
|
296
318
|
size: T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol)),
|
|
297
319
|
user: String,
|
|
298
320
|
request_options: OpenAI::RequestOptions
|
|
@@ -48,6 +48,12 @@ module OpenAI
|
|
|
48
48
|
sig { params(usage: OpenAI::ImageGenCompletedEvent::Usage::OrHash).void }
|
|
49
49
|
attr_writer :usage
|
|
50
50
|
|
|
51
|
+
# The effective safety identifier used for safety monitoring and abuse detection.
|
|
52
|
+
# This is the non-empty `safety_identifier` from the request, or the deprecated
|
|
53
|
+
# `user` value when `safety_identifier` is omitted, null, or empty.
|
|
54
|
+
sig { returns(T.nilable(String)) }
|
|
55
|
+
attr_accessor :safety_identifier
|
|
56
|
+
|
|
51
57
|
# Emitted when image generation has completed and the final image is available.
|
|
52
58
|
sig do
|
|
53
59
|
params(
|
|
@@ -66,6 +72,8 @@ module OpenAI
|
|
|
66
72
|
|
|
67
73
|
usage: OpenAI::ImageGenCompletedEvent::Usage::OrHash,
|
|
68
74
|
|
|
75
|
+
safety_identifier: T.nilable(String),
|
|
76
|
+
|
|
69
77
|
type: Symbol
|
|
70
78
|
)
|
|
71
79
|
.returns(T.attached_class)
|
|
@@ -94,6 +102,11 @@ module OpenAI
|
|
|
94
102
|
# generation.
|
|
95
103
|
usage:,
|
|
96
104
|
|
|
105
|
+
# The effective safety identifier used for safety monitoring and abuse detection.
|
|
106
|
+
# This is the non-empty `safety_identifier` from the request, or the deprecated
|
|
107
|
+
# `user` value when `safety_identifier` is omitted, null, or empty.
|
|
108
|
+
safety_identifier: nil,
|
|
109
|
+
|
|
97
110
|
# The type of the event. Always `image_generation.completed`.
|
|
98
111
|
|
|
99
112
|
type: :"image_generation.completed"
|
|
@@ -110,7 +123,8 @@ module OpenAI
|
|
|
110
123
|
quality: OpenAI::ImageGenCompletedEvent::Quality::TaggedSymbol,
|
|
111
124
|
size: OpenAI::ImageGenCompletedEvent::Size::Variants,
|
|
112
125
|
type: Symbol,
|
|
113
|
-
usage: OpenAI::ImageGenCompletedEvent::Usage
|
|
126
|
+
usage: OpenAI::ImageGenCompletedEvent::Usage,
|
|
127
|
+
safety_identifier: T.nilable(String)
|
|
114
128
|
}
|
|
115
129
|
)
|
|
116
130
|
end
|
|
@@ -192,6 +206,7 @@ module OpenAI
|
|
|
192
206
|
sig { returns(T::Array[OpenAI::ImageGenCompletedEvent::Size::TaggedSymbol]) }
|
|
193
207
|
def self.values
|
|
194
208
|
end
|
|
209
|
+
|
|
195
210
|
end
|
|
196
211
|
|
|
197
212
|
class Usage < OpenAI::Internal::Type::BaseModel
|
|
@@ -85,6 +85,15 @@ module OpenAI
|
|
|
85
85
|
sig { returns(T.nilable(OpenAI::ImageGenerateParams::ResponseFormat::OrSymbol)) }
|
|
86
86
|
attr_accessor :response_format
|
|
87
87
|
|
|
88
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
89
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
90
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
91
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
92
|
+
# when available.
|
|
93
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
94
|
+
sig { returns(T.nilable(String)) }
|
|
95
|
+
attr_accessor :safety_identifier
|
|
96
|
+
|
|
88
97
|
# The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
89
98
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
90
99
|
# `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary
|
|
@@ -103,8 +112,9 @@ module OpenAI
|
|
|
103
112
|
sig { returns(T.nilable(OpenAI::ImageGenerateParams::Style::OrSymbol)) }
|
|
104
113
|
attr_accessor :style
|
|
105
114
|
|
|
106
|
-
#
|
|
107
|
-
# and
|
|
115
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
116
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
117
|
+
# empty.
|
|
108
118
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
109
119
|
sig { returns(T.nilable(String)) }
|
|
110
120
|
attr_reader :user
|
|
@@ -135,6 +145,8 @@ module OpenAI
|
|
|
135
145
|
|
|
136
146
|
response_format: T.nilable(OpenAI::ImageGenerateParams::ResponseFormat::OrSymbol),
|
|
137
147
|
|
|
148
|
+
safety_identifier: T.nilable(String),
|
|
149
|
+
|
|
138
150
|
size: T.nilable(T.any(String, OpenAI::ImageGenerateParams::Size::OrSymbol)),
|
|
139
151
|
|
|
140
152
|
style: T.nilable(OpenAI::ImageGenerateParams::Style::OrSymbol),
|
|
@@ -207,6 +219,14 @@ module OpenAI
|
|
|
207
219
|
# image models, which always return base64-encoded images.
|
|
208
220
|
response_format: nil,
|
|
209
221
|
|
|
222
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
223
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
224
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
225
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
226
|
+
# when available.
|
|
227
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
228
|
+
safety_identifier: nil,
|
|
229
|
+
|
|
210
230
|
# The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
211
231
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
212
232
|
# `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary
|
|
@@ -223,8 +243,9 @@ module OpenAI
|
|
|
223
243
|
# models; describe the desired style in the prompt instead.
|
|
224
244
|
style: nil,
|
|
225
245
|
|
|
226
|
-
#
|
|
227
|
-
# and
|
|
246
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
247
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
248
|
+
# empty.
|
|
228
249
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
229
250
|
user: nil,
|
|
230
251
|
|
|
@@ -245,6 +266,7 @@ module OpenAI
|
|
|
245
266
|
partial_images: T.nilable(Integer),
|
|
246
267
|
quality: T.nilable(OpenAI::ImageGenerateParams::Quality::OrSymbol),
|
|
247
268
|
response_format: T.nilable(OpenAI::ImageGenerateParams::ResponseFormat::OrSymbol),
|
|
269
|
+
safety_identifier: T.nilable(String),
|
|
248
270
|
size: T.nilable(T.any(String, OpenAI::ImageGenerateParams::Size::OrSymbol)),
|
|
249
271
|
style: T.nilable(OpenAI::ImageGenerateParams::Style::OrSymbol),
|
|
250
272
|
user: String,
|
|
@@ -46,6 +46,12 @@ module OpenAI
|
|
|
46
46
|
sig { params(quality: OpenAI::ImagesResponse::Quality::OrSymbol).void }
|
|
47
47
|
attr_writer :quality
|
|
48
48
|
|
|
49
|
+
# The effective safety identifier used for safety monitoring and abuse detection.
|
|
50
|
+
# This is the non-empty `safety_identifier` from the request, or the deprecated
|
|
51
|
+
# `user` value when `safety_identifier` is omitted, null, or empty.
|
|
52
|
+
sig { returns(T.nilable(String)) }
|
|
53
|
+
attr_accessor :safety_identifier
|
|
54
|
+
|
|
49
55
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
50
56
|
sig { returns(T.nilable(OpenAI::ImagesResponse::Size::Variants)) }
|
|
51
57
|
attr_reader :size
|
|
@@ -74,6 +80,8 @@ module OpenAI
|
|
|
74
80
|
|
|
75
81
|
quality: OpenAI::ImagesResponse::Quality::OrSymbol,
|
|
76
82
|
|
|
83
|
+
safety_identifier: T.nilable(String),
|
|
84
|
+
|
|
77
85
|
size: T.any(String, OpenAI::ImagesResponse::Size::OrSymbol),
|
|
78
86
|
|
|
79
87
|
usage: OpenAI::ImagesResponse::Usage::OrHash
|
|
@@ -99,6 +107,11 @@ module OpenAI
|
|
|
99
107
|
# `max`.
|
|
100
108
|
quality: nil,
|
|
101
109
|
|
|
110
|
+
# The effective safety identifier used for safety monitoring and abuse detection.
|
|
111
|
+
# This is the non-empty `safety_identifier` from the request, or the deprecated
|
|
112
|
+
# `user` value when `safety_identifier` is omitted, null, or empty.
|
|
113
|
+
safety_identifier: nil,
|
|
114
|
+
|
|
102
115
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
103
116
|
size: nil,
|
|
104
117
|
|
|
@@ -116,6 +129,7 @@ module OpenAI
|
|
|
116
129
|
data: T::Array[OpenAI::Image],
|
|
117
130
|
output_format: OpenAI::ImagesResponse::OutputFormat::TaggedSymbol,
|
|
118
131
|
quality: OpenAI::ImagesResponse::Quality::TaggedSymbol,
|
|
132
|
+
safety_identifier: T.nilable(String),
|
|
119
133
|
size: OpenAI::ImagesResponse::Size::Variants,
|
|
120
134
|
usage: OpenAI::ImagesResponse::Usage
|
|
121
135
|
}
|
|
@@ -198,6 +212,7 @@ module OpenAI
|
|
|
198
212
|
sig { returns(T::Array[OpenAI::ImagesResponse::Size::TaggedSymbol]) }
|
|
199
213
|
def self.values
|
|
200
214
|
end
|
|
215
|
+
|
|
201
216
|
end
|
|
202
217
|
|
|
203
218
|
class Usage < OpenAI::Internal::Type::BaseModel
|
|
@@ -28,6 +28,7 @@ module OpenAI
|
|
|
28
28
|
QUARTZ = T.let(:quartz, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
29
29
|
RIPPLE = T.let(:ripple, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
30
30
|
SAGE = T.let(:sage, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
31
|
+
SHIDA = T.let(:shida, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
31
32
|
SHIMMER = T.let(:shimmer, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
32
33
|
STONE = T.let(:stone, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
33
34
|
TEMPO = T.let(:tempo, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
@@ -20,9 +20,13 @@ module OpenAI
|
|
|
20
20
|
OpenAI::Live::InputAudioAppendEvent,
|
|
21
21
|
OpenAI::Live::InputAudioMuteEvent,
|
|
22
22
|
OpenAI::Live::InputAudioUnmuteEvent,
|
|
23
|
+
OpenAI::Live::OutputAudioFixturePlayEvent,
|
|
23
24
|
OpenAI::Live::InstructionsAppendEvent,
|
|
24
25
|
OpenAI::Live::ThinkingAppendEvent,
|
|
25
26
|
OpenAI::Live::CommentaryAppendEvent,
|
|
27
|
+
OpenAI::Live::DecisionCreateEvent,
|
|
28
|
+
OpenAI::Live::DecisionItemCreateEvent,
|
|
29
|
+
OpenAI::Live::DecisionItemDeleteEvent,
|
|
26
30
|
OpenAI::Live::ResponseItemCreateEvent,
|
|
27
31
|
OpenAI::Live::ResponseCreateEvent,
|
|
28
32
|
OpenAI::Live::SessionCloseEvent
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class DecisionCreateEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::DecisionCreateEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :event_id
|
|
19
|
+
|
|
20
|
+
sig { returns(Symbol) }
|
|
21
|
+
attr_accessor :type
|
|
22
|
+
|
|
23
|
+
# Evaluate the configured questions using the current conversation and Decision
|
|
24
|
+
# inputs. Reusing an event_id is rejected for the lifetime of the session.
|
|
25
|
+
sig do
|
|
26
|
+
params(
|
|
27
|
+
|
|
28
|
+
event_id: String,
|
|
29
|
+
|
|
30
|
+
type: Symbol
|
|
31
|
+
)
|
|
32
|
+
.returns(T.attached_class)
|
|
33
|
+
end
|
|
34
|
+
def self.new(
|
|
35
|
+
|
|
36
|
+
event_id:,
|
|
37
|
+
|
|
38
|
+
type: :"decision.create"
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{event_id: String, type: Symbol}
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|