openai 0.20.0 → 0.21.1
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 +21 -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/eval_create_params.rb +10 -6
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +10 -6
- data/lib/openai/models/evals/run_cancel_response.rb +12 -8
- data/lib/openai/models/evals/run_create_params.rb +12 -8
- data/lib/openai/models/evals/run_create_response.rb +12 -8
- data/lib/openai/models/evals/run_list_response.rb +12 -8
- data/lib/openai/models/evals/run_retrieve_response.rb +12 -8
- data/lib/openai/models/graders/label_model_grader.rb +10 -6
- data/lib/openai/models/graders/score_model_grader.rb +10 -6
- 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/easy_input_message.rb +3 -3
- data/lib/openai/models/responses/response.rb +6 -3
- data/lib/openai/models/responses/response_content.rb +4 -1
- data/lib/openai/models/responses/response_create_params.rb +6 -3
- data/lib/openai/models/responses/response_input_audio.rb +39 -23
- data/lib/openai/models/responses/response_input_content.rb +4 -1
- data/lib/openai/models/responses/response_input_item.rb +2 -2
- data/lib/openai/models/responses/response_input_message_item.rb +2 -2
- 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/eval_create_params.rbi +5 -1
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +5 -1
- data/rbi/openai/models/evals/run_cancel_response.rbi +7 -5
- data/rbi/openai/models/evals/run_create_params.rbi +13 -9
- data/rbi/openai/models/evals/run_create_response.rbi +7 -5
- data/rbi/openai/models/evals/run_list_response.rbi +7 -5
- data/rbi/openai/models/evals/run_retrieve_response.rbi +7 -5
- data/rbi/openai/models/graders/label_model_grader.rbi +5 -1
- data/rbi/openai/models/graders/score_model_grader.rbi +5 -1
- 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_content.rbi +1 -0
- data/rbi/openai/models/responses/response_create_params.rbi +16 -10
- data/rbi/openai/models/responses/response_input_audio.rbi +85 -34
- data/rbi/openai/models/responses/response_input_content.rbi +2 -1
- data/rbi/openai/models/responses/response_input_item.rbi +6 -3
- data/rbi/openai/models/responses/response_input_message_item.rbi +2 -1
- 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/eval_create_params.rbs +2 -1
- data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +2 -1
- data/sig/openai/models/evals/run_cancel_response.rbs +2 -1
- data/sig/openai/models/evals/run_create_params.rbs +2 -1
- data/sig/openai/models/evals/run_create_response.rbs +2 -1
- data/sig/openai/models/evals/run_list_response.rbs +2 -1
- data/sig/openai/models/evals/run_retrieve_response.rbs +2 -1
- data/sig/openai/models/graders/label_model_grader.rbs +2 -1
- data/sig/openai/models/graders/score_model_grader.rbs +2 -1
- 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/response_content.rbs +1 -0
- data/sig/openai/models/responses/response_input_audio.rbs +32 -15
- data/sig/openai/models/responses/response_input_content.rbs +1 -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
@@ -39,163 +39,10 @@ module OpenAI
|
|
39
39
|
|
40
40
|
# Search the Internet for sources related to the prompt. Learn more about the
|
41
41
|
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
42
|
-
variant -> { OpenAI::Responses::Tool::WebSearchTool }
|
43
|
-
|
44
|
-
# This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
45
42
|
variant -> { OpenAI::Responses::WebSearchTool }
|
46
43
|
|
47
|
-
|
48
|
-
|
49
|
-
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
50
|
-
#
|
51
|
-
# @return [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::Type]
|
52
|
-
required :type, enum: -> { OpenAI::Responses::Tool::WebSearchTool::Type }
|
53
|
-
|
54
|
-
# @!attribute filters
|
55
|
-
# Filters for the search.
|
56
|
-
#
|
57
|
-
# @return [OpenAI::Models::Responses::Tool::WebSearchTool::Filters, nil]
|
58
|
-
optional :filters, -> { OpenAI::Responses::Tool::WebSearchTool::Filters }, nil?: true
|
59
|
-
|
60
|
-
# @!attribute search_context_size
|
61
|
-
# High level guidance for the amount of context window space to use for the
|
62
|
-
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
63
|
-
#
|
64
|
-
# @return [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::SearchContextSize, nil]
|
65
|
-
optional :search_context_size, enum: -> { OpenAI::Responses::Tool::WebSearchTool::SearchContextSize }
|
66
|
-
|
67
|
-
# @!attribute user_location
|
68
|
-
# The approximate location of the user.
|
69
|
-
#
|
70
|
-
# @return [OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation, nil]
|
71
|
-
optional :user_location, -> { OpenAI::Responses::Tool::WebSearchTool::UserLocation }, nil?: true
|
72
|
-
|
73
|
-
# @!method initialize(type:, filters: nil, search_context_size: nil, user_location: nil)
|
74
|
-
# Some parameter documentations has been truncated, see
|
75
|
-
# {OpenAI::Models::Responses::Tool::WebSearchTool} for more details.
|
76
|
-
#
|
77
|
-
# Search the Internet for sources related to the prompt. Learn more about the
|
78
|
-
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
79
|
-
#
|
80
|
-
# @param type [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::Type] The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
81
|
-
#
|
82
|
-
# @param filters [OpenAI::Models::Responses::Tool::WebSearchTool::Filters, nil] Filters for the search.
|
83
|
-
#
|
84
|
-
# @param search_context_size [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::SearchContextSize] High level guidance for the amount of context window space to use for the search
|
85
|
-
#
|
86
|
-
# @param user_location [OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation, nil] The approximate location of the user.
|
87
|
-
|
88
|
-
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
89
|
-
#
|
90
|
-
# @see OpenAI::Models::Responses::Tool::WebSearchTool#type
|
91
|
-
module Type
|
92
|
-
extend OpenAI::Internal::Type::Enum
|
93
|
-
|
94
|
-
WEB_SEARCH = :web_search
|
95
|
-
WEB_SEARCH_2025_08_26 = :web_search_2025_08_26
|
96
|
-
|
97
|
-
# @!method self.values
|
98
|
-
# @return [Array<Symbol>]
|
99
|
-
end
|
100
|
-
|
101
|
-
# @see OpenAI::Models::Responses::Tool::WebSearchTool#filters
|
102
|
-
class Filters < OpenAI::Internal::Type::BaseModel
|
103
|
-
# @!attribute allowed_domains
|
104
|
-
# Allowed domains for the search. If not provided, all domains are allowed.
|
105
|
-
# Subdomains of the provided domains are allowed as well.
|
106
|
-
#
|
107
|
-
# Example: `["pubmed.ncbi.nlm.nih.gov"]`
|
108
|
-
#
|
109
|
-
# @return [Array<String>, nil]
|
110
|
-
optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
|
111
|
-
|
112
|
-
# @!method initialize(allowed_domains: nil)
|
113
|
-
# Some parameter documentations has been truncated, see
|
114
|
-
# {OpenAI::Models::Responses::Tool::WebSearchTool::Filters} for more details.
|
115
|
-
#
|
116
|
-
# Filters for the search.
|
117
|
-
#
|
118
|
-
# @param allowed_domains [Array<String>, nil] Allowed domains for the search. If not provided, all domains are allowed.
|
119
|
-
end
|
120
|
-
|
121
|
-
# High level guidance for the amount of context window space to use for the
|
122
|
-
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
123
|
-
#
|
124
|
-
# @see OpenAI::Models::Responses::Tool::WebSearchTool#search_context_size
|
125
|
-
module SearchContextSize
|
126
|
-
extend OpenAI::Internal::Type::Enum
|
127
|
-
|
128
|
-
LOW = :low
|
129
|
-
MEDIUM = :medium
|
130
|
-
HIGH = :high
|
131
|
-
|
132
|
-
# @!method self.values
|
133
|
-
# @return [Array<Symbol>]
|
134
|
-
end
|
135
|
-
|
136
|
-
# @see OpenAI::Models::Responses::Tool::WebSearchTool#user_location
|
137
|
-
class UserLocation < OpenAI::Internal::Type::BaseModel
|
138
|
-
# @!attribute city
|
139
|
-
# Free text input for the city of the user, e.g. `San Francisco`.
|
140
|
-
#
|
141
|
-
# @return [String, nil]
|
142
|
-
optional :city, String, nil?: true
|
143
|
-
|
144
|
-
# @!attribute country
|
145
|
-
# The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of
|
146
|
-
# the user, e.g. `US`.
|
147
|
-
#
|
148
|
-
# @return [String, nil]
|
149
|
-
optional :country, String, nil?: true
|
150
|
-
|
151
|
-
# @!attribute region
|
152
|
-
# Free text input for the region of the user, e.g. `California`.
|
153
|
-
#
|
154
|
-
# @return [String, nil]
|
155
|
-
optional :region, String, nil?: true
|
156
|
-
|
157
|
-
# @!attribute timezone
|
158
|
-
# The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the
|
159
|
-
# user, e.g. `America/Los_Angeles`.
|
160
|
-
#
|
161
|
-
# @return [String, nil]
|
162
|
-
optional :timezone, String, nil?: true
|
163
|
-
|
164
|
-
# @!attribute type
|
165
|
-
# The type of location approximation. Always `approximate`.
|
166
|
-
#
|
167
|
-
# @return [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation::Type, nil]
|
168
|
-
optional :type, enum: -> { OpenAI::Responses::Tool::WebSearchTool::UserLocation::Type }
|
169
|
-
|
170
|
-
# @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: nil)
|
171
|
-
# Some parameter documentations has been truncated, see
|
172
|
-
# {OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation} for more details.
|
173
|
-
#
|
174
|
-
# The approximate location of the user.
|
175
|
-
#
|
176
|
-
# @param city [String, nil] Free text input for the city of the user, e.g. `San Francisco`.
|
177
|
-
#
|
178
|
-
# @param country [String, nil] The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of t
|
179
|
-
#
|
180
|
-
# @param region [String, nil] Free text input for the region of the user, e.g. `California`.
|
181
|
-
#
|
182
|
-
# @param timezone [String, nil] The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user
|
183
|
-
#
|
184
|
-
# @param type [Symbol, OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation::Type] The type of location approximation. Always `approximate`.
|
185
|
-
|
186
|
-
# The type of location approximation. Always `approximate`.
|
187
|
-
#
|
188
|
-
# @see OpenAI::Models::Responses::Tool::WebSearchTool::UserLocation#type
|
189
|
-
module Type
|
190
|
-
extend OpenAI::Internal::Type::Enum
|
191
|
-
|
192
|
-
APPROXIMATE = :approximate
|
193
|
-
|
194
|
-
# @!method self.values
|
195
|
-
# @return [Array<Symbol>]
|
196
|
-
end
|
197
|
-
end
|
198
|
-
end
|
44
|
+
# This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
45
|
+
variant -> { OpenAI::Responses::WebSearchPreviewTool }
|
199
46
|
|
200
47
|
class Mcp < OpenAI::Internal::Type::BaseModel
|
201
48
|
# @!attribute server_label
|
@@ -814,7 +661,7 @@ module OpenAI
|
|
814
661
|
end
|
815
662
|
|
816
663
|
# @!method self.variants
|
817
|
-
# @return [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::
|
664
|
+
# @return [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)]
|
818
665
|
end
|
819
666
|
end
|
820
667
|
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Responses
|
6
|
+
class WebSearchPreviewTool < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute type
|
8
|
+
# The type of the web search tool. One of `web_search_preview` or
|
9
|
+
# `web_search_preview_2025_03_11`.
|
10
|
+
#
|
11
|
+
# @return [Symbol, OpenAI::Models::Responses::WebSearchPreviewTool::Type]
|
12
|
+
required :type, enum: -> { OpenAI::Responses::WebSearchPreviewTool::Type }
|
13
|
+
|
14
|
+
# @!attribute search_context_size
|
15
|
+
# High level guidance for the amount of context window space to use for the
|
16
|
+
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
17
|
+
#
|
18
|
+
# @return [Symbol, OpenAI::Models::Responses::WebSearchPreviewTool::SearchContextSize, nil]
|
19
|
+
optional :search_context_size, enum: -> { OpenAI::Responses::WebSearchPreviewTool::SearchContextSize }
|
20
|
+
|
21
|
+
# @!attribute user_location
|
22
|
+
# The user's location.
|
23
|
+
#
|
24
|
+
# @return [OpenAI::Models::Responses::WebSearchPreviewTool::UserLocation, nil]
|
25
|
+
optional :user_location, -> { OpenAI::Responses::WebSearchPreviewTool::UserLocation }, nil?: true
|
26
|
+
|
27
|
+
# @!method initialize(type:, search_context_size: nil, user_location: nil)
|
28
|
+
# Some parameter documentations has been truncated, see
|
29
|
+
# {OpenAI::Models::Responses::WebSearchPreviewTool} for more details.
|
30
|
+
#
|
31
|
+
# This tool searches the web for relevant results to use in a response. Learn more
|
32
|
+
# about the
|
33
|
+
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
34
|
+
#
|
35
|
+
# @param type [Symbol, OpenAI::Models::Responses::WebSearchPreviewTool::Type] The type of the web search tool. One of `web_search_preview` or `web_search_prev
|
36
|
+
#
|
37
|
+
# @param search_context_size [Symbol, OpenAI::Models::Responses::WebSearchPreviewTool::SearchContextSize] High level guidance for the amount of context window space to use for the search
|
38
|
+
#
|
39
|
+
# @param user_location [OpenAI::Models::Responses::WebSearchPreviewTool::UserLocation, nil] The user's location.
|
40
|
+
|
41
|
+
# The type of the web search tool. One of `web_search_preview` or
|
42
|
+
# `web_search_preview_2025_03_11`.
|
43
|
+
#
|
44
|
+
# @see OpenAI::Models::Responses::WebSearchPreviewTool#type
|
45
|
+
module Type
|
46
|
+
extend OpenAI::Internal::Type::Enum
|
47
|
+
|
48
|
+
WEB_SEARCH_PREVIEW = :web_search_preview
|
49
|
+
WEB_SEARCH_PREVIEW_2025_03_11 = :web_search_preview_2025_03_11
|
50
|
+
|
51
|
+
# @!method self.values
|
52
|
+
# @return [Array<Symbol>]
|
53
|
+
end
|
54
|
+
|
55
|
+
# High level guidance for the amount of context window space to use for the
|
56
|
+
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
57
|
+
#
|
58
|
+
# @see OpenAI::Models::Responses::WebSearchPreviewTool#search_context_size
|
59
|
+
module SearchContextSize
|
60
|
+
extend OpenAI::Internal::Type::Enum
|
61
|
+
|
62
|
+
LOW = :low
|
63
|
+
MEDIUM = :medium
|
64
|
+
HIGH = :high
|
65
|
+
|
66
|
+
# @!method self.values
|
67
|
+
# @return [Array<Symbol>]
|
68
|
+
end
|
69
|
+
|
70
|
+
# @see OpenAI::Models::Responses::WebSearchPreviewTool#user_location
|
71
|
+
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
|
+
# @!attribute city
|
79
|
+
# Free text input for the city of the user, e.g. `San Francisco`.
|
80
|
+
#
|
81
|
+
# @return [String, nil]
|
82
|
+
optional :city, String, nil?: true
|
83
|
+
|
84
|
+
# @!attribute country
|
85
|
+
# The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of
|
86
|
+
# the user, e.g. `US`.
|
87
|
+
#
|
88
|
+
# @return [String, nil]
|
89
|
+
optional :country, String, nil?: true
|
90
|
+
|
91
|
+
# @!attribute region
|
92
|
+
# Free text input for the region of the user, e.g. `California`.
|
93
|
+
#
|
94
|
+
# @return [String, nil]
|
95
|
+
optional :region, String, nil?: true
|
96
|
+
|
97
|
+
# @!attribute timezone
|
98
|
+
# The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the
|
99
|
+
# user, e.g. `America/Los_Angeles`.
|
100
|
+
#
|
101
|
+
# @return [String, nil]
|
102
|
+
optional :timezone, String, nil?: true
|
103
|
+
|
104
|
+
# @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: :approximate)
|
105
|
+
# Some parameter documentations has been truncated, see
|
106
|
+
# {OpenAI::Models::Responses::WebSearchPreviewTool::UserLocation} for more
|
107
|
+
# details.
|
108
|
+
#
|
109
|
+
# The user's location.
|
110
|
+
#
|
111
|
+
# @param city [String, nil] Free text input for the city of the user, e.g. `San Francisco`.
|
112
|
+
#
|
113
|
+
# @param country [String, nil] The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of t
|
114
|
+
#
|
115
|
+
# @param region [String, nil] Free text input for the region of the user, e.g. `California`.
|
116
|
+
#
|
117
|
+
# @param timezone [String, nil] The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user
|
118
|
+
#
|
119
|
+
# @param type [Symbol, :approximate] The type of location approximation. Always `approximate`.
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
@@ -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
|