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
|
@@ -173,7 +173,7 @@ module OpenAI
|
|
|
173
173
|
# @param safety_identifier [String, nil]
|
|
174
174
|
# Body param: A stable identifier used to help detect users of your application
|
|
175
175
|
# that may be violating OpenAI's usage policies. The IDs should be a string that
|
|
176
|
-
# uniquely identifies each user, with a maximum length of
|
|
176
|
+
# uniquely identifies each user, with a maximum length of 128 characters. We
|
|
177
177
|
# recommend hashing their username or email address, in order to avoid sending us
|
|
178
178
|
# any identifying information.
|
|
179
179
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -474,7 +474,7 @@ module OpenAI
|
|
|
474
474
|
# @param safety_identifier [String, nil]
|
|
475
475
|
# Body param: A stable identifier used to help detect users of your application
|
|
476
476
|
# that may be violating OpenAI's usage policies. The IDs should be a string that
|
|
477
|
-
# uniquely identifies each user, with a maximum length of
|
|
477
|
+
# uniquely identifies each user, with a maximum length of 128 characters. We
|
|
478
478
|
# recommend hashing their username or email address, in order to avoid sending us
|
|
479
479
|
# any identifying information.
|
|
480
480
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/streaming/chat_completion_resource"
|
|
3
4
|
require_relative "../../helpers/structured_output/chat_completion_parser"
|
|
4
5
|
|
|
5
6
|
module OpenAI
|
|
@@ -216,7 +217,7 @@ module OpenAI
|
|
|
216
217
|
# @param safety_identifier [String, nil]
|
|
217
218
|
# A stable identifier used to help detect users of your application that may be
|
|
218
219
|
# violating OpenAI's usage policies. The IDs should be a string that uniquely
|
|
219
|
-
# identifies each user, with a maximum length of
|
|
220
|
+
# identifies each user, with a maximum length of 128 characters. We recommend
|
|
220
221
|
# hashing their username or email address, in order to avoid sending us any
|
|
221
222
|
# identifying information.
|
|
222
223
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -350,41 +351,6 @@ module OpenAI
|
|
|
350
351
|
)
|
|
351
352
|
end
|
|
352
353
|
|
|
353
|
-
def get_structured_output_models(parsed)
|
|
354
|
-
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.get_models(parsed)
|
|
355
|
-
end
|
|
356
|
-
|
|
357
|
-
def build_tools_with_models(tools, tool_models)
|
|
358
|
-
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.build_tools(tools, tool_models)
|
|
359
|
-
end
|
|
360
|
-
|
|
361
|
-
def stream(params)
|
|
362
|
-
parsed, options = OpenAI::Chat::CompletionCreateParams.dump_request(params)
|
|
363
|
-
|
|
364
|
-
parsed.store(:stream, true)
|
|
365
|
-
|
|
366
|
-
response_format, tool_models = get_structured_output_models(parsed)
|
|
367
|
-
|
|
368
|
-
input_tools = build_tools_with_models(parsed[:tools], tool_models)
|
|
369
|
-
|
|
370
|
-
raw_stream = @client.request(
|
|
371
|
-
method: :post,
|
|
372
|
-
path: "chat/completions",
|
|
373
|
-
headers: {"accept" => "text/event-stream"},
|
|
374
|
-
body: parsed,
|
|
375
|
-
stream: OpenAI::Internal::Stream,
|
|
376
|
-
model: OpenAI::Chat::ChatCompletionChunk,
|
|
377
|
-
security: {bearer_auth: true},
|
|
378
|
-
options: options
|
|
379
|
-
)
|
|
380
|
-
|
|
381
|
-
OpenAI::Helpers::Streaming::ChatCompletionStream.new(
|
|
382
|
-
raw_stream: raw_stream,
|
|
383
|
-
response_format: response_format,
|
|
384
|
-
input_tools: input_tools
|
|
385
|
-
)
|
|
386
|
-
end
|
|
387
|
-
|
|
388
354
|
# See {OpenAI::Resources::Chat::Completions#create} for non-streaming counterpart.
|
|
389
355
|
#
|
|
390
356
|
# **Starting a new project?** We recommend trying
|
|
@@ -588,7 +554,7 @@ module OpenAI
|
|
|
588
554
|
# @param safety_identifier [String, nil]
|
|
589
555
|
# A stable identifier used to help detect users of your application that may be
|
|
590
556
|
# violating OpenAI's usage policies. The IDs should be a string that uniquely
|
|
591
|
-
# identifies each user, with a maximum length of
|
|
557
|
+
# identifies each user, with a maximum length of 128 characters. We recommend
|
|
592
558
|
# hashing their username or email address, in order to avoid sending us any
|
|
593
559
|
# identifying information.
|
|
594
560
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -842,6 +808,14 @@ module OpenAI
|
|
|
842
808
|
)
|
|
843
809
|
end
|
|
844
810
|
|
|
811
|
+
def get_structured_output_models(parsed)
|
|
812
|
+
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.get_models(parsed)
|
|
813
|
+
end
|
|
814
|
+
|
|
815
|
+
def build_tools_with_models(tools, tool_models)
|
|
816
|
+
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.build_tools(tools, tool_models)
|
|
817
|
+
end
|
|
818
|
+
|
|
845
819
|
# @api private
|
|
846
820
|
#
|
|
847
821
|
# @param client [OpenAI::Client]
|
|
@@ -3,29 +3,23 @@
|
|
|
3
3
|
module OpenAI
|
|
4
4
|
module Resources
|
|
5
5
|
class Decisions
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# Supply input as a string or user messages containing text and inline images.
|
|
10
|
-
# Only user messages with `input_text` and `input_image` parts are supported;
|
|
11
|
-
# non-user roles, function calls, files, audio, and item references are not
|
|
12
|
-
# supported. Images require a data URL, not an external URL or file ID. At most
|
|
13
|
-
# 128 images are allowed across the request.
|
|
14
|
-
#
|
|
15
|
-
# Each question can return a refusal instead of a scored answer. A refusal has
|
|
16
|
-
# type `refusal` and the corresponding question name, or null if unnamed.
|
|
6
|
+
# Use this endpoint to quickly answer classification or scoring questions about
|
|
7
|
+
# some input. You can ask multiple questions in one request.
|
|
17
8
|
#
|
|
18
9
|
# @overload create(input:, model:, questions:, safety_identifier: nil, request_options: {})
|
|
19
10
|
#
|
|
20
11
|
# @param input [String, Array<OpenAI::Models::DecisionInputMessage>]
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
12
|
+
# The text or images to evaluate for every question. Provide a text string or user
|
|
13
|
+
# messages containing text and images. Images can be base64 data URLs or publicly
|
|
14
|
+
# accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
|
|
15
|
+
# one request. Files, audio, tools, and item references are not supported.
|
|
25
16
|
#
|
|
26
17
|
# @param model [String]
|
|
18
|
+
# The model to use. Only `gpt-6-luna` is supported.
|
|
27
19
|
#
|
|
28
20
|
# @param questions [Array<OpenAI::Models::DecisionCreateParams::Question::Predicate, OpenAI::Models::DecisionCreateParams::Question::Choice, OpenAI::Models::DecisionCreateParams::Question::Score>]
|
|
21
|
+
# Ask 1–200 questions about the input. Each question can be a predicate, choice,
|
|
22
|
+
# or score. Answers come back in the same order.
|
|
29
23
|
#
|
|
30
24
|
# @param safety_identifier [String, nil]
|
|
31
25
|
# Opaque caller-provided end-user identifier, scoped by the verified org. Match
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative "../helpers/resource_polling"
|
|
4
|
-
|
|
5
3
|
module OpenAI
|
|
6
4
|
module Resources
|
|
7
5
|
# Files are used to upload documents that can be used with features like
|
|
@@ -187,43 +185,6 @@ module OpenAI
|
|
|
187
185
|
)
|
|
188
186
|
end
|
|
189
187
|
|
|
190
|
-
# Wait for an uploaded file to finish processing.
|
|
191
|
-
#
|
|
192
|
-
# The returned file may have an `error` status; callers should inspect the
|
|
193
|
-
# status before using it. Polling intervals and the overall timeout are in
|
|
194
|
-
# seconds. Finite timeouts include authentication and request replay time and
|
|
195
|
-
# disable transport retries so the deadline remains strict. Set `timeout` to
|
|
196
|
-
# `nil` to wait indefinitely and retain configured transport retries.
|
|
197
|
-
#
|
|
198
|
-
# @overload wait_for_processing(file_id, poll_interval: nil, timeout: 1800.0, request_options: {})
|
|
199
|
-
#
|
|
200
|
-
# @param file_id [String] The ID of the file to wait for.
|
|
201
|
-
#
|
|
202
|
-
# @param poll_interval [Integer, Float, nil] How often to retrieve the file. When omitted, the SDK honors the server's
|
|
203
|
-
# polling hint and otherwise waits 5 seconds.
|
|
204
|
-
#
|
|
205
|
-
# @param timeout [Integer, Float, nil] Maximum total time to poll. Defaults to 30 minutes. Set to `nil` to wait
|
|
206
|
-
# indefinitely.
|
|
207
|
-
#
|
|
208
|
-
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
209
|
-
#
|
|
210
|
-
# @raise [ArgumentError, OpenAI::Errors::PollingError]
|
|
211
|
-
# @return [OpenAI::Models::FileObject]
|
|
212
|
-
def wait_for_processing(
|
|
213
|
-
file_id,
|
|
214
|
-
poll_interval: nil,
|
|
215
|
-
timeout: OpenAI::Internal::Poller::DEFAULT_TIMEOUT,
|
|
216
|
-
request_options: {}
|
|
217
|
-
)
|
|
218
|
-
OpenAI::Helpers::ResourcePolling.wait_for_file(
|
|
219
|
-
self,
|
|
220
|
-
file_id,
|
|
221
|
-
poll_interval: poll_interval,
|
|
222
|
-
timeout: timeout,
|
|
223
|
-
request_options: request_options
|
|
224
|
-
)
|
|
225
|
-
end
|
|
226
|
-
|
|
227
188
|
# @api private
|
|
228
189
|
#
|
|
229
190
|
# @param client [OpenAI::Client]
|
|
@@ -72,7 +72,7 @@ module OpenAI
|
|
|
72
72
|
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
73
73
|
# content type.
|
|
74
74
|
#
|
|
75
|
-
# @overload edit(image:, prompt:, background: nil, input_fidelity: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, size: nil, user: nil, request_options: {})
|
|
75
|
+
# @overload edit(image:, prompt:, background: nil, input_fidelity: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, user: nil, request_options: {})
|
|
76
76
|
#
|
|
77
77
|
# @param image [Pathname, StringIO, IO, String, OpenAI::FilePart, Array<Pathname, StringIO, IO, String, OpenAI::FilePart>]
|
|
78
78
|
# The image(s) to edit. Must be a supported image file or an array of images.
|
|
@@ -157,6 +157,14 @@ module OpenAI
|
|
|
157
157
|
# Legacy response format parameter for retired image models. Unsupported for GPT
|
|
158
158
|
# image models, which always return base64-encoded images.
|
|
159
159
|
#
|
|
160
|
+
# @param safety_identifier [String, nil]
|
|
161
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
162
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
163
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
164
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
165
|
+
# when available.
|
|
166
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
167
|
+
#
|
|
160
168
|
# @param size [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil]
|
|
161
169
|
# The size of the generated images. Defaults to `auto`. For `gpt-image-2`,
|
|
162
170
|
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
@@ -171,8 +179,9 @@ module OpenAI
|
|
|
171
179
|
# models that allow automatic sizing.
|
|
172
180
|
#
|
|
173
181
|
# @param user [String]
|
|
174
|
-
#
|
|
175
|
-
# and
|
|
182
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
183
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
184
|
+
# empty.
|
|
176
185
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
177
186
|
#
|
|
178
187
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -187,6 +196,7 @@ module OpenAI
|
|
|
187
196
|
raise ArgumentError.new(message)
|
|
188
197
|
end
|
|
189
198
|
|
|
199
|
+
parsed.delete(:safety_identifier) if parsed[:safety_identifier].nil?
|
|
190
200
|
@client.request(
|
|
191
201
|
method: :post,
|
|
192
202
|
path: "images/edits",
|
|
@@ -207,7 +217,7 @@ module OpenAI
|
|
|
207
217
|
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
208
218
|
# content type.
|
|
209
219
|
#
|
|
210
|
-
# @overload edit_stream_raw(image:, prompt:, background: nil, input_fidelity: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, size: nil, user: nil, request_options: {})
|
|
220
|
+
# @overload edit_stream_raw(image:, prompt:, background: nil, input_fidelity: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, user: nil, request_options: {})
|
|
211
221
|
#
|
|
212
222
|
# @param image [Pathname, StringIO, IO, String, OpenAI::FilePart, Array<Pathname, StringIO, IO, String, OpenAI::FilePart>]
|
|
213
223
|
# The image(s) to edit. Must be a supported image file or an array of images.
|
|
@@ -292,6 +302,14 @@ module OpenAI
|
|
|
292
302
|
# Legacy response format parameter for retired image models. Unsupported for GPT
|
|
293
303
|
# image models, which always return base64-encoded images.
|
|
294
304
|
#
|
|
305
|
+
# @param safety_identifier [String, nil]
|
|
306
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
307
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
308
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
309
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
310
|
+
# when available.
|
|
311
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
312
|
+
#
|
|
295
313
|
# @param size [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil]
|
|
296
314
|
# The size of the generated images. Defaults to `auto`. For `gpt-image-2`,
|
|
297
315
|
# `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
@@ -306,8 +324,9 @@ module OpenAI
|
|
|
306
324
|
# models that allow automatic sizing.
|
|
307
325
|
#
|
|
308
326
|
# @param user [String]
|
|
309
|
-
#
|
|
310
|
-
# and
|
|
327
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
328
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
329
|
+
# empty.
|
|
311
330
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
312
331
|
#
|
|
313
332
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -323,6 +342,7 @@ module OpenAI
|
|
|
323
342
|
end
|
|
324
343
|
|
|
325
344
|
parsed.store(:stream, true)
|
|
345
|
+
parsed.delete(:safety_identifier) if parsed[:safety_identifier].nil?
|
|
326
346
|
@client.request(
|
|
327
347
|
method: :post,
|
|
328
348
|
path: "images/edits",
|
|
@@ -344,7 +364,7 @@ module OpenAI
|
|
|
344
364
|
# Creates an image given a prompt using a GPT Image model.
|
|
345
365
|
# [Learn more](https://developers.openai.com/api/docs/guides/images-vision).
|
|
346
366
|
#
|
|
347
|
-
# @overload generate(prompt:, background: nil, model: nil, moderation: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, size: nil, style: nil, user: nil, request_options: {})
|
|
367
|
+
# @overload generate(prompt:, background: nil, model: nil, moderation: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, style: nil, user: nil, request_options: {})
|
|
348
368
|
#
|
|
349
369
|
# @param prompt [String]
|
|
350
370
|
# A text description of the desired image(s). The maximum length is 32000
|
|
@@ -406,6 +426,14 @@ module OpenAI
|
|
|
406
426
|
# Legacy response format parameter for retired image models. Unsupported for GPT
|
|
407
427
|
# image models, which always return base64-encoded images.
|
|
408
428
|
#
|
|
429
|
+
# @param safety_identifier [String, nil]
|
|
430
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
431
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
432
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
433
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
434
|
+
# when available.
|
|
435
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
436
|
+
#
|
|
409
437
|
# @param size [String, Symbol, OpenAI::Models::ImageGenerateParams::Size, nil]
|
|
410
438
|
# The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
411
439
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
@@ -423,8 +451,9 @@ module OpenAI
|
|
|
423
451
|
# models; describe the desired style in the prompt instead.
|
|
424
452
|
#
|
|
425
453
|
# @param user [String]
|
|
426
|
-
#
|
|
427
|
-
# and
|
|
454
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
455
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
456
|
+
# empty.
|
|
428
457
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
429
458
|
#
|
|
430
459
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -454,7 +483,7 @@ module OpenAI
|
|
|
454
483
|
# Creates an image given a prompt using a GPT Image model.
|
|
455
484
|
# [Learn more](https://developers.openai.com/api/docs/guides/images-vision).
|
|
456
485
|
#
|
|
457
|
-
# @overload generate_stream_raw(prompt:, background: nil, model: nil, moderation: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, size: nil, style: nil, user: nil, request_options: {})
|
|
486
|
+
# @overload generate_stream_raw(prompt:, background: nil, model: nil, moderation: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, style: nil, user: nil, request_options: {})
|
|
458
487
|
#
|
|
459
488
|
# @param prompt [String]
|
|
460
489
|
# A text description of the desired image(s). The maximum length is 32000
|
|
@@ -516,6 +545,14 @@ module OpenAI
|
|
|
516
545
|
# Legacy response format parameter for retired image models. Unsupported for GPT
|
|
517
546
|
# image models, which always return base64-encoded images.
|
|
518
547
|
#
|
|
548
|
+
# @param safety_identifier [String, nil]
|
|
549
|
+
# A stable identifier for an end user in your organization, used for safety
|
|
550
|
+
# monitoring and abuse detection. Hash a username or email address to avoid
|
|
551
|
+
# sending identifying information. A non-empty value takes precedence over the
|
|
552
|
+
# deprecated `user` parameter. If omitted, null, or empty, the API uses `user`
|
|
553
|
+
# when available.
|
|
554
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
555
|
+
#
|
|
519
556
|
# @param size [String, Symbol, OpenAI::Models::ImageGenerateParams::Size, nil]
|
|
520
557
|
# The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`,
|
|
521
558
|
# `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
|
|
@@ -533,8 +570,9 @@ module OpenAI
|
|
|
533
570
|
# models; describe the desired style in the prompt instead.
|
|
534
571
|
#
|
|
535
572
|
# @param user [String]
|
|
536
|
-
#
|
|
537
|
-
# and
|
|
573
|
+
# Deprecated: use `safety_identifier` instead. This parameter remains accepted for
|
|
574
|
+
# backward compatibility and is used when `safety_identifier` is omitted, null, or
|
|
575
|
+
# empty.
|
|
538
576
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
539
577
|
#
|
|
540
578
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Live
|
|
6
8
|
class Forks
|
|
9
|
+
include OpenAI::WebSocket::Resource
|
|
10
|
+
|
|
11
|
+
# @api private
|
|
12
|
+
def __websocket_request(session_id, query: {})
|
|
13
|
+
{method: :get, path: ["live/sessions/%1$s/fork", session_id], query: query, security: {bearer_auth: true}}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
def __websocket_client_event
|
|
18
|
+
OpenAI::Models::Live::ForkClientEvent
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
def __websocket_server_event
|
|
23
|
+
OpenAI::Models::Live::ForkServerEvent
|
|
24
|
+
end
|
|
25
|
+
|
|
7
26
|
# @api private
|
|
8
27
|
#
|
|
9
28
|
# @param client [OpenAI::Client]
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Live
|
|
6
8
|
class Sideband
|
|
9
|
+
include OpenAI::WebSocket::Resource
|
|
10
|
+
|
|
11
|
+
# @api private
|
|
12
|
+
def __websocket_request(session_id, query: {})
|
|
13
|
+
{method: :get, path: ["live/sessions/%1$s/attach", session_id], query: query, security: {bearer_auth: true}}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
def __websocket_client_event
|
|
18
|
+
OpenAI::Models::Live::SidebandClientEvent
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
def __websocket_server_event
|
|
23
|
+
OpenAI::Models::Live::SidebandServerEvent
|
|
24
|
+
end
|
|
25
|
+
|
|
7
26
|
# @api private
|
|
8
27
|
#
|
|
9
28
|
# @param client [OpenAI::Client]
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Live
|
|
8
|
+
include OpenAI::WebSocket::Resource
|
|
9
|
+
|
|
10
|
+
# @api private
|
|
11
|
+
def __websocket_request(query: {})
|
|
12
|
+
{method: :get, path: "live/sessions", query: query, security: {bearer_auth: true}}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
def __websocket_client_event
|
|
17
|
+
OpenAI::Models::Live::ClientEvent
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @api private
|
|
21
|
+
def __websocket_server_event
|
|
22
|
+
OpenAI::Models::Live::ServerEvent
|
|
23
|
+
end
|
|
24
|
+
|
|
6
25
|
# @return [OpenAI::Resources::Live::Sideband]
|
|
7
26
|
attr_reader :sideband
|
|
8
27
|
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Realtime
|
|
6
8
|
class Translations
|
|
9
|
+
include OpenAI::WebSocket::Resource
|
|
10
|
+
|
|
11
|
+
# @api private
|
|
12
|
+
def __websocket_request(query: {})
|
|
13
|
+
{method: :get, path: "realtime/translations", query: query, security: {bearer_auth: true}}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
def __websocket_client_event
|
|
18
|
+
OpenAI::Models::Realtime::RealtimeTranslationClientEvent
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
def __websocket_server_event
|
|
23
|
+
OpenAI::Models::Realtime::RealtimeTranslationServerEvent
|
|
24
|
+
end
|
|
25
|
+
|
|
7
26
|
# @return [OpenAI::Resources::Realtime::Translations::ClientSecrets]
|
|
8
27
|
attr_reader :client_secrets
|
|
9
28
|
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Realtime
|
|
8
|
+
include OpenAI::WebSocket::Resource
|
|
9
|
+
|
|
10
|
+
# @api private
|
|
11
|
+
def __websocket_request(query: {})
|
|
12
|
+
{method: :get, path: "realtime", query: query, security: {bearer_auth: true}}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
def __websocket_client_event
|
|
17
|
+
OpenAI::Models::Realtime::RealtimeClientEvent
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @api private
|
|
21
|
+
def __websocket_server_event
|
|
22
|
+
OpenAI::Models::Realtime::RealtimeServerEvent
|
|
23
|
+
end
|
|
24
|
+
|
|
6
25
|
# @return [OpenAI::Resources::Realtime::ClientSecrets]
|
|
7
26
|
attr_reader :client_secrets
|
|
8
27
|
|