openai 0.20.0 → 0.21.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 +13 -0
- data/README.md +1 -1
- data/lib/openai/client.rb +4 -0
- data/lib/openai/internal/stream.rb +3 -2
- data/lib/openai/models/audio/speech_create_params.rb +6 -0
- data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -0
- data/lib/openai/models/evals/run_cancel_response.rb +2 -2
- data/lib/openai/models/evals/run_create_params.rb +2 -2
- data/lib/openai/models/evals/run_create_response.rb +2 -2
- data/lib/openai/models/evals/run_list_response.rb +2 -2
- data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
- data/lib/openai/models/realtime/client_secret_create_params.rb +93 -0
- data/lib/openai/models/realtime/client_secret_create_response.rb +300 -0
- data/lib/openai/models/realtime/conversation_created_event.rb +70 -0
- data/lib/openai/models/realtime/conversation_item.rb +44 -0
- data/lib/openai/models/realtime/conversation_item_added.rb +48 -0
- data/lib/openai/models/realtime/conversation_item_create_event.rb +57 -0
- data/lib/openai/models/realtime/conversation_item_created_event.rb +59 -0
- data/lib/openai/models/realtime/conversation_item_delete_event.rb +39 -0
- data/lib/openai/models/realtime/conversation_item_deleted_event.rb +38 -0
- data/lib/openai/models/realtime/conversation_item_done.rb +48 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +189 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +63 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rb +96 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_segment.rb +84 -0
- data/lib/openai/models/realtime/conversation_item_retrieve_event.rb +40 -0
- data/lib/openai/models/realtime/conversation_item_truncate_event.rb +68 -0
- data/lib/openai/models/realtime/conversation_item_truncated_event.rb +60 -0
- data/lib/openai/models/realtime/conversation_item_with_reference.rb +235 -0
- data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +49 -0
- data/lib/openai/models/realtime/input_audio_buffer_clear_event.rb +29 -0
- data/lib/openai/models/realtime/input_audio_buffer_cleared_event.rb +29 -0
- data/lib/openai/models/realtime/input_audio_buffer_commit_event.rb +35 -0
- data/lib/openai/models/realtime/input_audio_buffer_committed_event.rb +51 -0
- data/lib/openai/models/realtime/input_audio_buffer_speech_started_event.rb +59 -0
- data/lib/openai/models/realtime/input_audio_buffer_speech_stopped_event.rb +51 -0
- data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +52 -0
- data/lib/openai/models/realtime/log_prob_properties.rb +39 -0
- data/lib/openai/models/realtime/mcp_list_tools_completed.rb +36 -0
- data/lib/openai/models/realtime/mcp_list_tools_failed.rb +36 -0
- data/lib/openai/models/realtime/mcp_list_tools_in_progress.rb +36 -0
- data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +32 -0
- data/lib/openai/models/realtime/rate_limits_updated_event.rb +91 -0
- data/lib/openai/models/realtime/realtime_audio_config.rb +446 -0
- data/lib/openai/models/realtime/realtime_client_event.rb +123 -0
- data/lib/openai/models/realtime/realtime_client_secret_config.rb +64 -0
- data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +118 -0
- data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +94 -0
- data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +86 -0
- data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +118 -0
- data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +135 -0
- data/lib/openai/models/realtime/realtime_error.rb +55 -0
- data/lib/openai/models/realtime/realtime_error_event.rb +38 -0
- data/lib/openai/models/realtime/realtime_mcp_approval_request.rb +52 -0
- data/lib/openai/models/realtime/realtime_mcp_approval_response.rb +52 -0
- data/lib/openai/models/realtime/realtime_mcp_list_tools.rb +84 -0
- data/lib/openai/models/realtime/realtime_mcp_protocol_error.rb +29 -0
- data/lib/openai/models/realtime/realtime_mcp_tool_call.rb +94 -0
- data/lib/openai/models/realtime/realtime_mcp_tool_execution_error.rb +23 -0
- data/lib/openai/models/realtime/realtime_mcphttp_error.rb +29 -0
- data/lib/openai/models/realtime/realtime_response.rb +259 -0
- data/lib/openai/models/realtime/realtime_response_status.rb +103 -0
- data/lib/openai/models/realtime/realtime_response_usage.rb +61 -0
- data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +36 -0
- data/lib/openai/models/realtime/realtime_response_usage_output_token_details.rb +28 -0
- data/lib/openai/models/realtime/realtime_server_event.rb +369 -0
- data/lib/openai/models/realtime/realtime_session.rb +696 -0
- data/lib/openai/models/realtime/realtime_session_create_request.rb +234 -0
- data/lib/openai/models/realtime/realtime_session_create_response.rb +579 -0
- data/lib/openai/models/realtime/realtime_tool_choice_config.rb +32 -0
- data/lib/openai/models/realtime/realtime_tools_config.rb +11 -0
- data/lib/openai/models/realtime/realtime_tools_config_union.rb +379 -0
- data/lib/openai/models/realtime/realtime_tracing_config.rb +61 -0
- data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +312 -0
- data/lib/openai/models/realtime/realtime_truncation.rb +67 -0
- data/lib/openai/models/realtime/response_audio_delta_event.rb +68 -0
- data/lib/openai/models/realtime/response_audio_done_event.rb +61 -0
- data/lib/openai/models/realtime/response_audio_transcript_delta_event.rb +68 -0
- data/lib/openai/models/realtime/response_audio_transcript_done_event.rb +70 -0
- data/lib/openai/models/realtime/response_cancel_event.rb +42 -0
- data/lib/openai/models/realtime/response_content_part_added_event.rb +120 -0
- data/lib/openai/models/realtime/response_content_part_done_event.rb +120 -0
- data/lib/openai/models/realtime/response_create_event.rb +391 -0
- data/lib/openai/models/realtime/response_created_event.rb +37 -0
- data/lib/openai/models/realtime/response_done_event.rb +38 -0
- data/lib/openai/models/realtime/response_function_call_arguments_delta_event.rb +72 -0
- data/lib/openai/models/realtime/response_function_call_arguments_done_event.rb +73 -0
- data/lib/openai/models/realtime/response_mcp_call_arguments_delta.rb +68 -0
- data/lib/openai/models/realtime/response_mcp_call_arguments_done.rb +60 -0
- data/lib/openai/models/realtime/response_mcp_call_completed.rb +44 -0
- data/lib/openai/models/realtime/response_mcp_call_failed.rb +44 -0
- data/lib/openai/models/realtime/response_mcp_call_in_progress.rb +44 -0
- data/lib/openai/models/realtime/response_output_item_added_event.rb +52 -0
- data/lib/openai/models/realtime/response_output_item_done_event.rb +53 -0
- data/lib/openai/models/realtime/response_text_delta_event.rb +68 -0
- data/lib/openai/models/realtime/response_text_done_event.rb +69 -0
- data/lib/openai/models/realtime/session_created_event.rb +38 -0
- data/lib/openai/models/realtime/session_update_event.rb +44 -0
- data/lib/openai/models/realtime/session_updated_event.rb +37 -0
- data/lib/openai/models/realtime/transcription_session_created.rb +278 -0
- data/lib/openai/models/realtime/transcription_session_update.rb +36 -0
- data/lib/openai/models/realtime/transcription_session_updated_event.rb +279 -0
- data/lib/openai/models/responses/response.rb +6 -3
- data/lib/openai/models/responses/response_create_params.rb +6 -3
- data/lib/openai/models/responses/tool.rb +3 -156
- data/lib/openai/models/responses/web_search_preview_tool.rb +124 -0
- data/lib/openai/models/responses/web_search_tool.rb +58 -21
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +119 -0
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
- data/lib/openai/models.rb +2 -0
- data/lib/openai/resources/realtime/client_secrets.rb +44 -0
- data/lib/openai/resources/realtime.rb +18 -0
- data/lib/openai/resources/responses.rb +2 -2
- data/lib/openai/resources/webhooks.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +95 -0
- data/rbi/openai/client.rbi +3 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +10 -0
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +10 -0
- data/rbi/openai/models/evals/run_cancel_response.rbi +4 -4
- data/rbi/openai/models/evals/run_create_params.rbi +8 -8
- data/rbi/openai/models/evals/run_create_response.rbi +4 -4
- data/rbi/openai/models/evals/run_list_response.rbi +4 -4
- data/rbi/openai/models/evals/run_retrieve_response.rbi +4 -4
- data/rbi/openai/models/realtime/client_secret_create_params.rbi +222 -0
- data/rbi/openai/models/realtime/client_secret_create_response.rbi +676 -0
- data/rbi/openai/models/realtime/conversation_created_event.rbi +164 -0
- data/rbi/openai/models/realtime/conversation_item.rbi +35 -0
- data/rbi/openai/models/realtime/conversation_item_added.rbi +105 -0
- data/rbi/openai/models/realtime/conversation_item_create_event.rbi +123 -0
- data/rbi/openai/models/realtime/conversation_item_created_event.rbi +117 -0
- data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +57 -0
- data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +53 -0
- data/rbi/openai/models/realtime/conversation_item_done.rbi +105 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +305 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +93 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +158 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +107 -0
- data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +58 -0
- data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +94 -0
- data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +80 -0
- data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +549 -0
- data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +65 -0
- data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +43 -0
- data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +40 -0
- data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +49 -0
- data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +72 -0
- data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +82 -0
- data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +73 -0
- data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +75 -0
- data/rbi/openai/models/realtime/log_prob_properties.rbi +55 -0
- data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +51 -0
- data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +51 -0
- data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +51 -0
- data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +46 -0
- data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +187 -0
- data/rbi/openai/models/realtime/realtime_audio_config.rbi +1004 -0
- data/rbi/openai/models/realtime/realtime_client_event.rbi +38 -0
- data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +147 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +292 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +199 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +188 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +292 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +319 -0
- data/rbi/openai/models/realtime/realtime_error.rbi +72 -0
- data/rbi/openai/models/realtime/realtime_error_event.rbi +64 -0
- data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +75 -0
- data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +75 -0
- data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +131 -0
- data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +40 -0
- data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +145 -0
- data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +31 -0
- data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +40 -0
- data/rbi/openai/models/realtime/realtime_response.rbi +573 -0
- data/rbi/openai/models/realtime/realtime_response_status.rbi +233 -0
- data/rbi/openai/models/realtime/realtime_response_usage.rbi +121 -0
- data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +68 -0
- data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +51 -0
- data/rbi/openai/models/realtime/realtime_server_event.rbi +311 -0
- data/rbi/openai/models/realtime/realtime_session.rbi +1426 -0
- data/rbi/openai/models/realtime/realtime_session_create_request.rbi +560 -0
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1249 -0
- data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +30 -0
- data/rbi/openai/models/realtime/realtime_tools_config.rbi +15 -0
- data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +755 -0
- data/rbi/openai/models/realtime/realtime_tracing_config.rbi +95 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +703 -0
- data/rbi/openai/models/realtime/realtime_truncation.rbi +117 -0
- data/rbi/openai/models/realtime/response_audio_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_audio_done_event.rbi +84 -0
- data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +93 -0
- data/rbi/openai/models/realtime/response_cancel_event.rbi +63 -0
- data/rbi/openai/models/realtime/response_content_part_added_event.rbi +219 -0
- data/rbi/openai/models/realtime/response_content_part_done_event.rbi +219 -0
- data/rbi/openai/models/realtime/response_create_event.rbi +863 -0
- data/rbi/openai/models/realtime/response_created_event.rbi +65 -0
- data/rbi/openai/models/realtime/response_done_event.rbi +66 -0
- data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +92 -0
- data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +91 -0
- data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +83 -0
- data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +67 -0
- data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +67 -0
- data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +67 -0
- data/rbi/openai/models/realtime/response_output_item_added_event.rbi +111 -0
- data/rbi/openai/models/realtime/response_output_item_done_event.rbi +112 -0
- data/rbi/openai/models/realtime/response_text_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_text_done_event.rbi +92 -0
- data/rbi/openai/models/realtime/session_created_event.rbi +64 -0
- data/rbi/openai/models/realtime/session_update_event.rbi +77 -0
- data/rbi/openai/models/realtime/session_updated_event.rbi +63 -0
- data/rbi/openai/models/realtime/transcription_session_created.rbi +653 -0
- data/rbi/openai/models/realtime/transcription_session_update.rbi +74 -0
- data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +657 -0
- data/rbi/openai/models/responses/response.rbi +10 -4
- data/rbi/openai/models/responses/response_create_params.rbi +16 -10
- data/rbi/openai/models/responses/tool.rbi +2 -348
- data/rbi/openai/models/responses/web_search_preview_tool.rbi +245 -0
- data/rbi/openai/models/responses/web_search_tool.rbi +120 -23
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +222 -0
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
- data/rbi/openai/models.rbi +2 -0
- data/rbi/openai/resources/realtime/client_secrets.rbi +38 -0
- data/rbi/openai/resources/realtime.rbi +15 -0
- data/rbi/openai/resources/responses.rbi +12 -6
- data/rbi/openai/resources/webhooks.rbi +1 -0
- data/sig/openai/client.rbs +2 -0
- data/sig/openai/models/audio/speech_create_params.rbs +4 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -0
- data/sig/openai/models/realtime/client_secret_create_params.rbs +89 -0
- data/sig/openai/models/realtime/client_secret_create_response.rbs +292 -0
- data/sig/openai/models/realtime/conversation_created_event.rbs +70 -0
- data/sig/openai/models/realtime/conversation_item.rbs +22 -0
- data/sig/openai/models/realtime/conversation_item_added.rbs +37 -0
- data/sig/openai/models/realtime/conversation_item_create_event.rbs +41 -0
- data/sig/openai/models/realtime/conversation_item_created_event.rbs +37 -0
- data/sig/openai/models/realtime/conversation_item_delete_event.rbs +30 -0
- data/sig/openai/models/realtime/conversation_item_deleted_event.rbs +32 -0
- data/sig/openai/models/realtime/conversation_item_done.rbs +37 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +136 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +51 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbs +77 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbs +62 -0
- data/sig/openai/models/realtime/conversation_item_retrieve_event.rbs +34 -0
- data/sig/openai/models/realtime/conversation_item_truncate_event.rbs +44 -0
- data/sig/openai/models/realtime/conversation_item_truncated_event.rbs +42 -0
- data/sig/openai/models/realtime/conversation_item_with_reference.rbs +207 -0
- data/sig/openai/models/realtime/input_audio_buffer_append_event.rbs +30 -0
- data/sig/openai/models/realtime/input_audio_buffer_clear_event.rbs +23 -0
- data/sig/openai/models/realtime/input_audio_buffer_cleared_event.rbs +24 -0
- data/sig/openai/models/realtime/input_audio_buffer_commit_event.rbs +23 -0
- data/sig/openai/models/realtime/input_audio_buffer_committed_event.rbs +37 -0
- data/sig/openai/models/realtime/input_audio_buffer_speech_started_event.rbs +37 -0
- data/sig/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbs +37 -0
- data/sig/openai/models/realtime/input_audio_buffer_timeout_triggered.rbs +42 -0
- data/sig/openai/models/realtime/log_prob_properties.rbs +28 -0
- data/sig/openai/models/realtime/mcp_list_tools_completed.rbs +28 -0
- data/sig/openai/models/realtime/mcp_list_tools_failed.rbs +28 -0
- data/sig/openai/models/realtime/mcp_list_tools_in_progress.rbs +32 -0
- data/sig/openai/models/realtime/output_audio_buffer_clear_event.rbs +23 -0
- data/sig/openai/models/realtime/rate_limits_updated_event.rbs +85 -0
- data/sig/openai/models/realtime/realtime_audio_config.rbs +354 -0
- data/sig/openai/models/realtime/realtime_client_event.rbs +25 -0
- data/sig/openai/models/realtime/realtime_client_secret_config.rbs +60 -0
- data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +117 -0
- data/sig/openai/models/realtime/realtime_conversation_item_function_call.rbs +86 -0
- data/sig/openai/models/realtime/realtime_conversation_item_function_call_output.rbs +79 -0
- data/sig/openai/models/realtime/realtime_conversation_item_system_message.rbs +117 -0
- data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +132 -0
- data/sig/openai/models/realtime/realtime_error.rbs +42 -0
- data/sig/openai/models/realtime/realtime_error_event.rbs +32 -0
- data/sig/openai/models/realtime/realtime_mcp_approval_request.rbs +42 -0
- data/sig/openai/models/realtime/realtime_mcp_approval_response.rbs +42 -0
- data/sig/openai/models/realtime/realtime_mcp_list_tools.rbs +71 -0
- data/sig/openai/models/realtime/realtime_mcp_protocol_error.rbs +28 -0
- data/sig/openai/models/realtime/realtime_mcp_tool_call.rbs +68 -0
- data/sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs +18 -0
- data/sig/openai/models/realtime/realtime_mcphttp_error.rbs +24 -0
- data/sig/openai/models/realtime/realtime_response.rbs +210 -0
- data/sig/openai/models/realtime/realtime_response_status.rbs +90 -0
- data/sig/openai/models/realtime/realtime_response_usage.rbs +56 -0
- data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +34 -0
- data/sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs +22 -0
- data/sig/openai/models/realtime/realtime_server_event.rbs +168 -0
- data/sig/openai/models/realtime/realtime_session.rbs +521 -0
- data/sig/openai/models/realtime/realtime_session_create_request.rbs +178 -0
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +526 -0
- data/sig/openai/models/realtime/realtime_tool_choice_config.rbs +16 -0
- data/sig/openai/models/realtime/realtime_tools_config.rbs +10 -0
- data/sig/openai/models/realtime/realtime_tools_config_union.rbs +280 -0
- data/sig/openai/models/realtime/realtime_tracing_config.rbs +43 -0
- data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +242 -0
- data/sig/openai/models/realtime/realtime_truncation.rbs +53 -0
- data/sig/openai/models/realtime/response_audio_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_audio_done_event.rbs +47 -0
- data/sig/openai/models/realtime/response_audio_transcript_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_audio_transcript_done_event.rbs +52 -0
- data/sig/openai/models/realtime/response_cancel_event.rbs +32 -0
- data/sig/openai/models/realtime/response_content_part_added_event.rbs +105 -0
- data/sig/openai/models/realtime/response_content_part_done_event.rbs +105 -0
- data/sig/openai/models/realtime/response_create_event.rbs +281 -0
- data/sig/openai/models/realtime/response_created_event.rbs +32 -0
- data/sig/openai/models/realtime/response_done_event.rbs +32 -0
- data/sig/openai/models/realtime/response_function_call_arguments_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_function_call_arguments_done_event.rbs +52 -0
- data/sig/openai/models/realtime/response_mcp_call_arguments_delta.rbs +52 -0
- data/sig/openai/models/realtime/response_mcp_call_arguments_done.rbs +47 -0
- data/sig/openai/models/realtime/response_mcp_call_completed.rbs +37 -0
- data/sig/openai/models/realtime/response_mcp_call_failed.rbs +37 -0
- data/sig/openai/models/realtime/response_mcp_call_in_progress.rbs +37 -0
- data/sig/openai/models/realtime/response_output_item_added_event.rbs +42 -0
- data/sig/openai/models/realtime/response_output_item_done_event.rbs +42 -0
- data/sig/openai/models/realtime/response_text_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_text_done_event.rbs +52 -0
- data/sig/openai/models/realtime/session_created_event.rbs +32 -0
- data/sig/openai/models/realtime/session_update_event.rbs +34 -0
- data/sig/openai/models/realtime/session_updated_event.rbs +32 -0
- data/sig/openai/models/realtime/transcription_session_created.rbs +282 -0
- data/sig/openai/models/realtime/transcription_session_update.rbs +34 -0
- data/sig/openai/models/realtime/transcription_session_updated_event.rbs +282 -0
- data/sig/openai/models/responses/tool.rbs +1 -121
- data/sig/openai/models/responses/web_search_preview_tool.rbs +96 -0
- data/sig/openai/models/responses/web_search_tool.rbs +39 -10
- data/sig/openai/models/webhooks/realtime_call_incoming_webhook_event.rbs +90 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
- data/sig/openai/models.rbs +2 -0
- data/sig/openai/resources/realtime/client_secrets.rbs +15 -0
- data/sig/openai/resources/realtime.rbs +9 -0
- data/sig/openai/resources/webhooks.rbs +1 -0
- metadata +287 -2
@@ -5,12 +5,17 @@ module OpenAI
|
|
5
5
|
module Responses
|
6
6
|
class WebSearchTool < OpenAI::Internal::Type::BaseModel
|
7
7
|
# @!attribute type
|
8
|
-
# The type of the web search tool. One of `
|
9
|
-
# `web_search_preview_2025_03_11`.
|
8
|
+
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
10
9
|
#
|
11
10
|
# @return [Symbol, OpenAI::Models::Responses::WebSearchTool::Type]
|
12
11
|
required :type, enum: -> { OpenAI::Responses::WebSearchTool::Type }
|
13
12
|
|
13
|
+
# @!attribute filters
|
14
|
+
# Filters for the search.
|
15
|
+
#
|
16
|
+
# @return [OpenAI::Models::Responses::WebSearchTool::Filters, nil]
|
17
|
+
optional :filters, -> { OpenAI::Responses::WebSearchTool::Filters }, nil?: true
|
18
|
+
|
14
19
|
# @!attribute search_context_size
|
15
20
|
# High level guidance for the amount of context window space to use for the
|
16
21
|
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
@@ -19,39 +24,59 @@ module OpenAI
|
|
19
24
|
optional :search_context_size, enum: -> { OpenAI::Responses::WebSearchTool::SearchContextSize }
|
20
25
|
|
21
26
|
# @!attribute user_location
|
22
|
-
# The
|
27
|
+
# The approximate location of the user.
|
23
28
|
#
|
24
29
|
# @return [OpenAI::Models::Responses::WebSearchTool::UserLocation, nil]
|
25
30
|
optional :user_location, -> { OpenAI::Responses::WebSearchTool::UserLocation }, nil?: true
|
26
31
|
|
27
|
-
# @!method initialize(type:, search_context_size: nil, user_location: nil)
|
32
|
+
# @!method initialize(type:, filters: nil, search_context_size: nil, user_location: nil)
|
28
33
|
# Some parameter documentations has been truncated, see
|
29
34
|
# {OpenAI::Models::Responses::WebSearchTool} for more details.
|
30
35
|
#
|
31
|
-
#
|
32
|
-
# about the
|
36
|
+
# Search the Internet for sources related to the prompt. Learn more about the
|
33
37
|
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
34
38
|
#
|
35
|
-
# @param type [Symbol, OpenAI::Models::Responses::WebSearchTool::Type] The type of the web search tool. One of `
|
39
|
+
# @param type [Symbol, OpenAI::Models::Responses::WebSearchTool::Type] The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
40
|
+
#
|
41
|
+
# @param filters [OpenAI::Models::Responses::WebSearchTool::Filters, nil] Filters for the search.
|
36
42
|
#
|
37
43
|
# @param search_context_size [Symbol, OpenAI::Models::Responses::WebSearchTool::SearchContextSize] High level guidance for the amount of context window space to use for the search
|
38
44
|
#
|
39
|
-
# @param user_location [OpenAI::Models::Responses::WebSearchTool::UserLocation, nil] The
|
45
|
+
# @param user_location [OpenAI::Models::Responses::WebSearchTool::UserLocation, nil] The approximate location of the user.
|
40
46
|
|
41
|
-
# The type of the web search tool. One of `
|
42
|
-
# `web_search_preview_2025_03_11`.
|
47
|
+
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
43
48
|
#
|
44
49
|
# @see OpenAI::Models::Responses::WebSearchTool#type
|
45
50
|
module Type
|
46
51
|
extend OpenAI::Internal::Type::Enum
|
47
52
|
|
48
|
-
|
49
|
-
|
53
|
+
WEB_SEARCH = :web_search
|
54
|
+
WEB_SEARCH_2025_08_26 = :web_search_2025_08_26
|
50
55
|
|
51
56
|
# @!method self.values
|
52
57
|
# @return [Array<Symbol>]
|
53
58
|
end
|
54
59
|
|
60
|
+
# @see OpenAI::Models::Responses::WebSearchTool#filters
|
61
|
+
class Filters < OpenAI::Internal::Type::BaseModel
|
62
|
+
# @!attribute allowed_domains
|
63
|
+
# Allowed domains for the search. If not provided, all domains are allowed.
|
64
|
+
# Subdomains of the provided domains are allowed as well.
|
65
|
+
#
|
66
|
+
# Example: `["pubmed.ncbi.nlm.nih.gov"]`
|
67
|
+
#
|
68
|
+
# @return [Array<String>, nil]
|
69
|
+
optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
|
70
|
+
|
71
|
+
# @!method initialize(allowed_domains: nil)
|
72
|
+
# Some parameter documentations has been truncated, see
|
73
|
+
# {OpenAI::Models::Responses::WebSearchTool::Filters} for more details.
|
74
|
+
#
|
75
|
+
# Filters for the search.
|
76
|
+
#
|
77
|
+
# @param allowed_domains [Array<String>, nil] Allowed domains for the search. If not provided, all domains are allowed.
|
78
|
+
end
|
79
|
+
|
55
80
|
# High level guidance for the amount of context window space to use for the
|
56
81
|
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
57
82
|
#
|
@@ -69,12 +94,6 @@ module OpenAI
|
|
69
94
|
|
70
95
|
# @see OpenAI::Models::Responses::WebSearchTool#user_location
|
71
96
|
class UserLocation < OpenAI::Internal::Type::BaseModel
|
72
|
-
# @!attribute type
|
73
|
-
# The type of location approximation. Always `approximate`.
|
74
|
-
#
|
75
|
-
# @return [Symbol, :approximate]
|
76
|
-
required :type, const: :approximate
|
77
|
-
|
78
97
|
# @!attribute city
|
79
98
|
# Free text input for the city of the user, e.g. `San Francisco`.
|
80
99
|
#
|
@@ -101,11 +120,17 @@ module OpenAI
|
|
101
120
|
# @return [String, nil]
|
102
121
|
optional :timezone, String, nil?: true
|
103
122
|
|
104
|
-
# @!
|
123
|
+
# @!attribute type
|
124
|
+
# The type of location approximation. Always `approximate`.
|
125
|
+
#
|
126
|
+
# @return [Symbol, OpenAI::Models::Responses::WebSearchTool::UserLocation::Type, nil]
|
127
|
+
optional :type, enum: -> { OpenAI::Responses::WebSearchTool::UserLocation::Type }
|
128
|
+
|
129
|
+
# @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: nil)
|
105
130
|
# Some parameter documentations has been truncated, see
|
106
131
|
# {OpenAI::Models::Responses::WebSearchTool::UserLocation} for more details.
|
107
132
|
#
|
108
|
-
# The
|
133
|
+
# The approximate location of the user.
|
109
134
|
#
|
110
135
|
# @param city [String, nil] Free text input for the city of the user, e.g. `San Francisco`.
|
111
136
|
#
|
@@ -115,7 +140,19 @@ module OpenAI
|
|
115
140
|
#
|
116
141
|
# @param timezone [String, nil] The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user
|
117
142
|
#
|
118
|
-
# @param type [Symbol,
|
143
|
+
# @param type [Symbol, OpenAI::Models::Responses::WebSearchTool::UserLocation::Type] The type of location approximation. Always `approximate`.
|
144
|
+
|
145
|
+
# The type of location approximation. Always `approximate`.
|
146
|
+
#
|
147
|
+
# @see OpenAI::Models::Responses::WebSearchTool::UserLocation#type
|
148
|
+
module Type
|
149
|
+
extend OpenAI::Internal::Type::Enum
|
150
|
+
|
151
|
+
APPROXIMATE = :approximate
|
152
|
+
|
153
|
+
# @!method self.values
|
154
|
+
# @return [Array<Symbol>]
|
155
|
+
end
|
119
156
|
end
|
120
157
|
end
|
121
158
|
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
class RealtimeCallIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the event.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute created_at
|
14
|
+
# The Unix timestamp (in seconds) of when the model response was completed.
|
15
|
+
#
|
16
|
+
# @return [Integer]
|
17
|
+
required :created_at, Integer
|
18
|
+
|
19
|
+
# @!attribute data
|
20
|
+
# Event data payload.
|
21
|
+
#
|
22
|
+
# @return [OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data]
|
23
|
+
required :data, -> { OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data }
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# The type of the event. Always `realtime.call.incoming`.
|
27
|
+
#
|
28
|
+
# @return [Symbol, :"realtime.call.incoming"]
|
29
|
+
required :type, const: :"realtime.call.incoming"
|
30
|
+
|
31
|
+
# @!attribute object
|
32
|
+
# The object of the event. Always `event`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Object, nil]
|
35
|
+
optional :object, enum: -> { OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object }
|
36
|
+
|
37
|
+
# @!method initialize(id:, created_at:, data:, object: nil, type: :"realtime.call.incoming")
|
38
|
+
# Some parameter documentations has been truncated, see
|
39
|
+
# {OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent} for more details.
|
40
|
+
#
|
41
|
+
# Sent when Realtime API Receives a incoming SIP call.
|
42
|
+
#
|
43
|
+
# @param id [String] The unique ID of the event.
|
44
|
+
#
|
45
|
+
# @param created_at [Integer] The Unix timestamp (in seconds) of when the model response was completed.
|
46
|
+
#
|
47
|
+
# @param data [OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data] Event data payload.
|
48
|
+
#
|
49
|
+
# @param object [Symbol, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Object] The object of the event. Always `event`.
|
50
|
+
#
|
51
|
+
# @param type [Symbol, :"realtime.call.incoming"] The type of the event. Always `realtime.call.incoming`.
|
52
|
+
|
53
|
+
# @see OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent#data
|
54
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
55
|
+
# @!attribute call_id
|
56
|
+
# The unique ID of this call.
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
required :call_id, String
|
60
|
+
|
61
|
+
# @!attribute sip_headers
|
62
|
+
# Headers from the SIP Invite.
|
63
|
+
#
|
64
|
+
# @return [Array<OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader>]
|
65
|
+
required :sip_headers,
|
66
|
+
-> { OpenAI::Internal::Type::ArrayOf[OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader] }
|
67
|
+
|
68
|
+
# @!method initialize(call_id:, sip_headers:)
|
69
|
+
# Some parameter documentations has been truncated, see
|
70
|
+
# {OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data} for more
|
71
|
+
# details.
|
72
|
+
#
|
73
|
+
# Event data payload.
|
74
|
+
#
|
75
|
+
# @param call_id [String] The unique ID of this call.
|
76
|
+
#
|
77
|
+
# @param sip_headers [Array<OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader>] Headers from the SIP Invite.
|
78
|
+
|
79
|
+
class SipHeader < OpenAI::Internal::Type::BaseModel
|
80
|
+
# @!attribute name
|
81
|
+
# Name of the SIP Header.
|
82
|
+
#
|
83
|
+
# @return [String]
|
84
|
+
required :name, String
|
85
|
+
|
86
|
+
# @!attribute value
|
87
|
+
# Value of the SIP Header.
|
88
|
+
#
|
89
|
+
# @return [String]
|
90
|
+
required :value, String
|
91
|
+
|
92
|
+
# @!method initialize(name:, value:)
|
93
|
+
# Some parameter documentations has been truncated, see
|
94
|
+
# {OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader}
|
95
|
+
# for more details.
|
96
|
+
#
|
97
|
+
# A header from the SIP Invite.
|
98
|
+
#
|
99
|
+
# @param name [String] Name of the SIP Header.
|
100
|
+
#
|
101
|
+
# @param value [String] Value of the SIP Header.
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
# The object of the event. Always `event`.
|
106
|
+
#
|
107
|
+
# @see OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent#object
|
108
|
+
module Object
|
109
|
+
extend OpenAI::Internal::Type::Enum
|
110
|
+
|
111
|
+
EVENT = :event
|
112
|
+
|
113
|
+
# @!method self.values
|
114
|
+
# @return [Array<Symbol>]
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
@@ -39,6 +39,9 @@ module OpenAI
|
|
39
39
|
# Sent when a fine-tuning job has succeeded.
|
40
40
|
variant :"fine_tuning.job.succeeded", -> { OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent }
|
41
41
|
|
42
|
+
# Sent when Realtime API Receives a incoming SIP call.
|
43
|
+
variant :"realtime.call.incoming", -> { OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent }
|
44
|
+
|
42
45
|
# Sent when a background response has been cancelled.
|
43
46
|
variant :"response.cancelled", -> { OpenAI::Webhooks::ResponseCancelledWebhookEvent }
|
44
47
|
|
@@ -52,7 +55,7 @@ module OpenAI
|
|
52
55
|
variant :"response.incomplete", -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent }
|
53
56
|
|
54
57
|
# @!method self.variants
|
55
|
-
# @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
|
58
|
+
# @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
|
56
59
|
end
|
57
60
|
end
|
58
61
|
end
|
data/lib/openai/models.rb
CHANGED
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Resources
|
5
|
+
class Realtime
|
6
|
+
class ClientSecrets
|
7
|
+
# Some parameter documentations has been truncated, see
|
8
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateParams} for more details.
|
9
|
+
#
|
10
|
+
# Create a Realtime session and client secret for either realtime or
|
11
|
+
# transcription.
|
12
|
+
#
|
13
|
+
# @overload create(expires_after: nil, session: nil, request_options: {})
|
14
|
+
#
|
15
|
+
# @param expires_after [OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter] Configuration for the ephemeral token expiration.
|
16
|
+
#
|
17
|
+
# @param session [OpenAI::Models::Realtime::RealtimeSessionCreateRequest, OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest] Session configuration to use for the client secret. Choose either a realtime
|
18
|
+
#
|
19
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
20
|
+
#
|
21
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateResponse]
|
22
|
+
#
|
23
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateParams
|
24
|
+
def create(params = {})
|
25
|
+
parsed, options = OpenAI::Realtime::ClientSecretCreateParams.dump_request(params)
|
26
|
+
@client.request(
|
27
|
+
method: :post,
|
28
|
+
path: "realtime/client_secrets",
|
29
|
+
body: parsed,
|
30
|
+
model: OpenAI::Models::Realtime::ClientSecretCreateResponse,
|
31
|
+
options: options
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
# @api private
|
36
|
+
#
|
37
|
+
# @param client [OpenAI::Client]
|
38
|
+
def initialize(client:)
|
39
|
+
@client = client
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Resources
|
5
|
+
class Realtime
|
6
|
+
# @return [OpenAI::Resources::Realtime::ClientSecrets]
|
7
|
+
attr_reader :client_secrets
|
8
|
+
|
9
|
+
# @api private
|
10
|
+
#
|
11
|
+
# @param client [OpenAI::Client]
|
12
|
+
def initialize(client:)
|
13
|
+
@client = client
|
14
|
+
@client_secrets = OpenAI::Resources::Realtime::ClientSecrets.new(client: client)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -67,7 +67,7 @@ module OpenAI
|
|
67
67
|
#
|
68
68
|
# @param tool_choice [Symbol, OpenAI::Models::Responses::ToolChoiceOptions, OpenAI::Models::Responses::ToolChoiceAllowed, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction, OpenAI::Models::Responses::ToolChoiceMcp, OpenAI::Models::Responses::ToolChoiceCustom] How the model should select which tool (or tools) to use when generating
|
69
69
|
#
|
70
|
-
# @param tools [Array<OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::CustomTool, OpenAI::Models::Responses::
|
70
|
+
# @param tools [Array<OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::CustomTool, OpenAI::Models::Responses::WebSearchTool, OpenAI::Models::Responses::WebSearchPreviewTool>] An array of tools the model may call while generating a response. You
|
71
71
|
#
|
72
72
|
# @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
|
73
73
|
#
|
@@ -284,7 +284,7 @@ module OpenAI
|
|
284
284
|
#
|
285
285
|
# @param tool_choice [Symbol, OpenAI::Models::Responses::ToolChoiceOptions, OpenAI::Models::Responses::ToolChoiceAllowed, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction, OpenAI::Models::Responses::ToolChoiceMcp, OpenAI::Models::Responses::ToolChoiceCustom] How the model should select which tool (or tools) to use when generating
|
286
286
|
#
|
287
|
-
# @param tools [Array<OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::CustomTool, OpenAI::Models::Responses::
|
287
|
+
# @param tools [Array<OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::Tool::Mcp, OpenAI::Models::Responses::Tool::CodeInterpreter, OpenAI::Models::Responses::Tool::ImageGeneration, OpenAI::Models::Responses::Tool::LocalShell, OpenAI::Models::Responses::CustomTool, OpenAI::Models::Responses::WebSearchTool, OpenAI::Models::Responses::WebSearchPreviewTool>] An array of tools the model may call while generating a response. You
|
288
288
|
#
|
289
289
|
# @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the number of most likely tokens to
|
290
290
|
#
|
@@ -12,7 +12,7 @@ module OpenAI
|
|
12
12
|
# @param headers [Hash] The webhook headers
|
13
13
|
# @param webhook_secret [String, nil] The webhook secret (optional, will use client webhook secret or ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
|
14
14
|
#
|
15
|
-
# @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::
|
15
|
+
# @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent]
|
16
16
|
#
|
17
17
|
# @raise [ArgumentError] if signature verification fails
|
18
18
|
def unwrap(
|
data/lib/openai/version.rb
CHANGED
data/lib/openai.rb
CHANGED
@@ -380,6 +380,97 @@ require_relative "openai/models/moderation_model"
|
|
380
380
|
require_relative "openai/models/moderation_multi_modal_input"
|
381
381
|
require_relative "openai/models/moderation_text_input"
|
382
382
|
require_relative "openai/models/other_file_chunking_strategy_object"
|
383
|
+
require_relative "openai/models/realtime/client_secret_create_params"
|
384
|
+
require_relative "openai/models/realtime/client_secret_create_response"
|
385
|
+
require_relative "openai/models/realtime/conversation_created_event"
|
386
|
+
require_relative "openai/models/realtime/conversation_item"
|
387
|
+
require_relative "openai/models/realtime/conversation_item_added"
|
388
|
+
require_relative "openai/models/realtime/conversation_item_created_event"
|
389
|
+
require_relative "openai/models/realtime/conversation_item_create_event"
|
390
|
+
require_relative "openai/models/realtime/conversation_item_deleted_event"
|
391
|
+
require_relative "openai/models/realtime/conversation_item_delete_event"
|
392
|
+
require_relative "openai/models/realtime/conversation_item_done"
|
393
|
+
require_relative "openai/models/realtime/conversation_item_input_audio_transcription_completed_event"
|
394
|
+
require_relative "openai/models/realtime/conversation_item_input_audio_transcription_delta_event"
|
395
|
+
require_relative "openai/models/realtime/conversation_item_input_audio_transcription_failed_event"
|
396
|
+
require_relative "openai/models/realtime/conversation_item_input_audio_transcription_segment"
|
397
|
+
require_relative "openai/models/realtime/conversation_item_retrieve_event"
|
398
|
+
require_relative "openai/models/realtime/conversation_item_truncated_event"
|
399
|
+
require_relative "openai/models/realtime/conversation_item_truncate_event"
|
400
|
+
require_relative "openai/models/realtime/conversation_item_with_reference"
|
401
|
+
require_relative "openai/models/realtime/input_audio_buffer_append_event"
|
402
|
+
require_relative "openai/models/realtime/input_audio_buffer_cleared_event"
|
403
|
+
require_relative "openai/models/realtime/input_audio_buffer_clear_event"
|
404
|
+
require_relative "openai/models/realtime/input_audio_buffer_commit_event"
|
405
|
+
require_relative "openai/models/realtime/input_audio_buffer_committed_event"
|
406
|
+
require_relative "openai/models/realtime/input_audio_buffer_speech_started_event"
|
407
|
+
require_relative "openai/models/realtime/input_audio_buffer_speech_stopped_event"
|
408
|
+
require_relative "openai/models/realtime/input_audio_buffer_timeout_triggered"
|
409
|
+
require_relative "openai/models/realtime/log_prob_properties"
|
410
|
+
require_relative "openai/models/realtime/mcp_list_tools_completed"
|
411
|
+
require_relative "openai/models/realtime/mcp_list_tools_failed"
|
412
|
+
require_relative "openai/models/realtime/mcp_list_tools_in_progress"
|
413
|
+
require_relative "openai/models/realtime/output_audio_buffer_clear_event"
|
414
|
+
require_relative "openai/models/realtime/rate_limits_updated_event"
|
415
|
+
require_relative "openai/models/realtime/realtime_audio_config"
|
416
|
+
require_relative "openai/models/realtime/realtime_client_event"
|
417
|
+
require_relative "openai/models/realtime/realtime_client_secret_config"
|
418
|
+
require_relative "openai/models/realtime/realtime_conversation_item_assistant_message"
|
419
|
+
require_relative "openai/models/realtime/realtime_conversation_item_function_call"
|
420
|
+
require_relative "openai/models/realtime/realtime_conversation_item_function_call_output"
|
421
|
+
require_relative "openai/models/realtime/realtime_conversation_item_system_message"
|
422
|
+
require_relative "openai/models/realtime/realtime_conversation_item_user_message"
|
423
|
+
require_relative "openai/models/realtime/realtime_error"
|
424
|
+
require_relative "openai/models/realtime/realtime_error_event"
|
425
|
+
require_relative "openai/models/realtime/realtime_mcp_approval_request"
|
426
|
+
require_relative "openai/models/realtime/realtime_mcp_approval_response"
|
427
|
+
require_relative "openai/models/realtime/realtime_mcphttp_error"
|
428
|
+
require_relative "openai/models/realtime/realtime_mcp_list_tools"
|
429
|
+
require_relative "openai/models/realtime/realtime_mcp_protocol_error"
|
430
|
+
require_relative "openai/models/realtime/realtime_mcp_tool_call"
|
431
|
+
require_relative "openai/models/realtime/realtime_mcp_tool_execution_error"
|
432
|
+
require_relative "openai/models/realtime/realtime_response"
|
433
|
+
require_relative "openai/models/realtime/realtime_response_status"
|
434
|
+
require_relative "openai/models/realtime/realtime_response_usage"
|
435
|
+
require_relative "openai/models/realtime/realtime_response_usage_input_token_details"
|
436
|
+
require_relative "openai/models/realtime/realtime_response_usage_output_token_details"
|
437
|
+
require_relative "openai/models/realtime/realtime_server_event"
|
438
|
+
require_relative "openai/models/realtime/realtime_session"
|
439
|
+
require_relative "openai/models/realtime/realtime_session_create_request"
|
440
|
+
require_relative "openai/models/realtime/realtime_session_create_response"
|
441
|
+
require_relative "openai/models/realtime/realtime_tool_choice_config"
|
442
|
+
require_relative "openai/models/realtime/realtime_tools_config"
|
443
|
+
require_relative "openai/models/realtime/realtime_tools_config_union"
|
444
|
+
require_relative "openai/models/realtime/realtime_tracing_config"
|
445
|
+
require_relative "openai/models/realtime/realtime_transcription_session_create_request"
|
446
|
+
require_relative "openai/models/realtime/realtime_truncation"
|
447
|
+
require_relative "openai/models/realtime/response_audio_delta_event"
|
448
|
+
require_relative "openai/models/realtime/response_audio_done_event"
|
449
|
+
require_relative "openai/models/realtime/response_audio_transcript_delta_event"
|
450
|
+
require_relative "openai/models/realtime/response_audio_transcript_done_event"
|
451
|
+
require_relative "openai/models/realtime/response_cancel_event"
|
452
|
+
require_relative "openai/models/realtime/response_content_part_added_event"
|
453
|
+
require_relative "openai/models/realtime/response_content_part_done_event"
|
454
|
+
require_relative "openai/models/realtime/response_created_event"
|
455
|
+
require_relative "openai/models/realtime/response_create_event"
|
456
|
+
require_relative "openai/models/realtime/response_done_event"
|
457
|
+
require_relative "openai/models/realtime/response_function_call_arguments_delta_event"
|
458
|
+
require_relative "openai/models/realtime/response_function_call_arguments_done_event"
|
459
|
+
require_relative "openai/models/realtime/response_mcp_call_arguments_delta"
|
460
|
+
require_relative "openai/models/realtime/response_mcp_call_arguments_done"
|
461
|
+
require_relative "openai/models/realtime/response_mcp_call_completed"
|
462
|
+
require_relative "openai/models/realtime/response_mcp_call_failed"
|
463
|
+
require_relative "openai/models/realtime/response_mcp_call_in_progress"
|
464
|
+
require_relative "openai/models/realtime/response_output_item_added_event"
|
465
|
+
require_relative "openai/models/realtime/response_output_item_done_event"
|
466
|
+
require_relative "openai/models/realtime/response_text_delta_event"
|
467
|
+
require_relative "openai/models/realtime/response_text_done_event"
|
468
|
+
require_relative "openai/models/realtime/session_created_event"
|
469
|
+
require_relative "openai/models/realtime/session_updated_event"
|
470
|
+
require_relative "openai/models/realtime/session_update_event"
|
471
|
+
require_relative "openai/models/realtime/transcription_session_created"
|
472
|
+
require_relative "openai/models/realtime/transcription_session_update"
|
473
|
+
require_relative "openai/models/realtime/transcription_session_updated_event"
|
383
474
|
require_relative "openai/models/reasoning"
|
384
475
|
require_relative "openai/models/response_format_json_object"
|
385
476
|
require_relative "openai/models/response_format_json_schema"
|
@@ -495,6 +586,7 @@ require_relative "openai/models/responses/tool_choice_function"
|
|
495
586
|
require_relative "openai/models/responses/tool_choice_mcp"
|
496
587
|
require_relative "openai/models/responses/tool_choice_options"
|
497
588
|
require_relative "openai/models/responses/tool_choice_types"
|
589
|
+
require_relative "openai/models/responses/web_search_preview_tool"
|
498
590
|
require_relative "openai/models/responses/web_search_tool"
|
499
591
|
require_relative "openai/models/responses_model"
|
500
592
|
require_relative "openai/models/static_file_chunking_strategy"
|
@@ -539,6 +631,7 @@ require_relative "openai/models/webhooks/eval_run_succeeded_webhook_event"
|
|
539
631
|
require_relative "openai/models/webhooks/fine_tuning_job_cancelled_webhook_event"
|
540
632
|
require_relative "openai/models/webhooks/fine_tuning_job_failed_webhook_event"
|
541
633
|
require_relative "openai/models/webhooks/fine_tuning_job_succeeded_webhook_event"
|
634
|
+
require_relative "openai/models/webhooks/realtime_call_incoming_webhook_event"
|
542
635
|
require_relative "openai/models/webhooks/response_cancelled_webhook_event"
|
543
636
|
require_relative "openai/models/webhooks/response_completed_webhook_event"
|
544
637
|
require_relative "openai/models/webhooks/response_failed_webhook_event"
|
@@ -584,6 +677,8 @@ require_relative "openai/resources/graders/grader_models"
|
|
584
677
|
require_relative "openai/resources/images"
|
585
678
|
require_relative "openai/resources/models"
|
586
679
|
require_relative "openai/resources/moderations"
|
680
|
+
require_relative "openai/resources/realtime"
|
681
|
+
require_relative "openai/resources/realtime/client_secrets"
|
587
682
|
require_relative "openai/resources/responses"
|
588
683
|
require_relative "openai/resources/responses/input_items"
|
589
684
|
require_relative "openai/resources/uploads"
|
data/rbi/openai/client.rbi
CHANGED
@@ -228,6 +228,16 @@ module OpenAI
|
|
228
228
|
:verse,
|
229
229
|
OpenAI::Audio::SpeechCreateParams::Voice::TaggedSymbol
|
230
230
|
)
|
231
|
+
MARIN =
|
232
|
+
T.let(
|
233
|
+
:marin,
|
234
|
+
OpenAI::Audio::SpeechCreateParams::Voice::TaggedSymbol
|
235
|
+
)
|
236
|
+
CEDAR =
|
237
|
+
T.let(
|
238
|
+
:cedar,
|
239
|
+
OpenAI::Audio::SpeechCreateParams::Voice::TaggedSymbol
|
240
|
+
)
|
231
241
|
end
|
232
242
|
|
233
243
|
# The format to audio in. Supported formats are `mp3`, `opus`, `aac`, `flac`,
|
@@ -191,6 +191,16 @@ module OpenAI
|
|
191
191
|
:verse,
|
192
192
|
OpenAI::Chat::ChatCompletionAudioParam::Voice::TaggedSymbol
|
193
193
|
)
|
194
|
+
MARIN =
|
195
|
+
T.let(
|
196
|
+
:marin,
|
197
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::TaggedSymbol
|
198
|
+
)
|
199
|
+
CEDAR =
|
200
|
+
T.let(
|
201
|
+
:cedar,
|
202
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::TaggedSymbol
|
203
|
+
)
|
194
204
|
end
|
195
205
|
end
|
196
206
|
end
|
@@ -1175,8 +1175,8 @@ module OpenAI
|
|
1175
1175
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
1176
1176
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
1177
1177
|
OpenAI::Responses::CustomTool::OrHash,
|
1178
|
-
OpenAI::Responses::
|
1179
|
-
OpenAI::Responses::
|
1178
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
1179
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
1180
1180
|
)
|
1181
1181
|
]
|
1182
1182
|
).void
|
@@ -1208,8 +1208,8 @@ module OpenAI
|
|
1208
1208
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
1209
1209
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
1210
1210
|
OpenAI::Responses::CustomTool::OrHash,
|
1211
|
-
OpenAI::Responses::
|
1212
|
-
OpenAI::Responses::
|
1211
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
1212
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
1213
1213
|
)
|
1214
1214
|
],
|
1215
1215
|
top_p: Float
|
@@ -1126,8 +1126,8 @@ module OpenAI
|
|
1126
1126
|
OpenAI::Responses::Tool::ImageGeneration,
|
1127
1127
|
OpenAI::Responses::Tool::LocalShell,
|
1128
1128
|
OpenAI::Responses::CustomTool,
|
1129
|
-
OpenAI::Responses::
|
1130
|
-
OpenAI::Responses::
|
1129
|
+
OpenAI::Responses::WebSearchTool,
|
1130
|
+
OpenAI::Responses::WebSearchPreviewTool
|
1131
1131
|
)
|
1132
1132
|
]
|
1133
1133
|
)
|
@@ -1148,8 +1148,8 @@ module OpenAI
|
|
1148
1148
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
1149
1149
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
1150
1150
|
OpenAI::Responses::CustomTool::OrHash,
|
1151
|
-
OpenAI::Responses::
|
1152
|
-
OpenAI::Responses::
|
1151
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
1152
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
1153
1153
|
)
|
1154
1154
|
]
|
1155
1155
|
).void
|
@@ -1181,8 +1181,8 @@ module OpenAI
|
|
1181
1181
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
1182
1182
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
1183
1183
|
OpenAI::Responses::CustomTool::OrHash,
|
1184
|
-
OpenAI::Responses::
|
1185
|
-
OpenAI::Responses::
|
1184
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
1185
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
1186
1186
|
)
|
1187
1187
|
],
|
1188
1188
|
top_p: Float
|
@@ -1240,8 +1240,8 @@ module OpenAI
|
|
1240
1240
|
OpenAI::Responses::Tool::ImageGeneration,
|
1241
1241
|
OpenAI::Responses::Tool::LocalShell,
|
1242
1242
|
OpenAI::Responses::CustomTool,
|
1243
|
-
OpenAI::Responses::
|
1244
|
-
OpenAI::Responses::
|
1243
|
+
OpenAI::Responses::WebSearchTool,
|
1244
|
+
OpenAI::Responses::WebSearchPreviewTool
|
1245
1245
|
)
|
1246
1246
|
],
|
1247
1247
|
top_p: Float
|