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
@@ -9,11 +9,22 @@ module OpenAI
|
|
9
9
|
T.any(OpenAI::Responses::WebSearchTool, OpenAI::Internal::AnyHash)
|
10
10
|
end
|
11
11
|
|
12
|
-
# The type of the web search tool. One of `
|
13
|
-
# `web_search_preview_2025_03_11`.
|
12
|
+
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
14
13
|
sig { returns(OpenAI::Responses::WebSearchTool::Type::OrSymbol) }
|
15
14
|
attr_accessor :type
|
16
15
|
|
16
|
+
# Filters for the search.
|
17
|
+
sig { returns(T.nilable(OpenAI::Responses::WebSearchTool::Filters)) }
|
18
|
+
attr_reader :filters
|
19
|
+
|
20
|
+
sig do
|
21
|
+
params(
|
22
|
+
filters:
|
23
|
+
T.nilable(OpenAI::Responses::WebSearchTool::Filters::OrHash)
|
24
|
+
).void
|
25
|
+
end
|
26
|
+
attr_writer :filters
|
27
|
+
|
17
28
|
# High level guidance for the amount of context window space to use for the
|
18
29
|
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
19
30
|
sig do
|
@@ -33,7 +44,7 @@ module OpenAI
|
|
33
44
|
end
|
34
45
|
attr_writer :search_context_size
|
35
46
|
|
36
|
-
# The
|
47
|
+
# The approximate location of the user.
|
37
48
|
sig do
|
38
49
|
returns(T.nilable(OpenAI::Responses::WebSearchTool::UserLocation))
|
39
50
|
end
|
@@ -47,12 +58,13 @@ module OpenAI
|
|
47
58
|
end
|
48
59
|
attr_writer :user_location
|
49
60
|
|
50
|
-
#
|
51
|
-
# about the
|
61
|
+
# Search the Internet for sources related to the prompt. Learn more about the
|
52
62
|
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
53
63
|
sig do
|
54
64
|
params(
|
55
65
|
type: OpenAI::Responses::WebSearchTool::Type::OrSymbol,
|
66
|
+
filters:
|
67
|
+
T.nilable(OpenAI::Responses::WebSearchTool::Filters::OrHash),
|
56
68
|
search_context_size:
|
57
69
|
OpenAI::Responses::WebSearchTool::SearchContextSize::OrSymbol,
|
58
70
|
user_location:
|
@@ -60,13 +72,14 @@ module OpenAI
|
|
60
72
|
).returns(T.attached_class)
|
61
73
|
end
|
62
74
|
def self.new(
|
63
|
-
# The type of the web search tool. One of `
|
64
|
-
# `web_search_preview_2025_03_11`.
|
75
|
+
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
65
76
|
type:,
|
77
|
+
# Filters for the search.
|
78
|
+
filters: nil,
|
66
79
|
# High level guidance for the amount of context window space to use for the
|
67
80
|
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
68
81
|
search_context_size: nil,
|
69
|
-
# The
|
82
|
+
# The approximate location of the user.
|
70
83
|
user_location: nil
|
71
84
|
)
|
72
85
|
end
|
@@ -75,6 +88,7 @@ module OpenAI
|
|
75
88
|
override.returns(
|
76
89
|
{
|
77
90
|
type: OpenAI::Responses::WebSearchTool::Type::OrSymbol,
|
91
|
+
filters: T.nilable(OpenAI::Responses::WebSearchTool::Filters),
|
78
92
|
search_context_size:
|
79
93
|
OpenAI::Responses::WebSearchTool::SearchContextSize::OrSymbol,
|
80
94
|
user_location:
|
@@ -85,8 +99,7 @@ module OpenAI
|
|
85
99
|
def to_hash
|
86
100
|
end
|
87
101
|
|
88
|
-
# The type of the web search tool. One of `
|
89
|
-
# `web_search_preview_2025_03_11`.
|
102
|
+
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
90
103
|
module Type
|
91
104
|
extend OpenAI::Internal::Type::Enum
|
92
105
|
|
@@ -96,14 +109,14 @@ module OpenAI
|
|
96
109
|
end
|
97
110
|
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
98
111
|
|
99
|
-
|
112
|
+
WEB_SEARCH =
|
100
113
|
T.let(
|
101
|
-
:
|
114
|
+
:web_search,
|
102
115
|
OpenAI::Responses::WebSearchTool::Type::TaggedSymbol
|
103
116
|
)
|
104
|
-
|
117
|
+
WEB_SEARCH_2025_08_26 =
|
105
118
|
T.let(
|
106
|
-
:
|
119
|
+
:web_search_2025_08_26,
|
107
120
|
OpenAI::Responses::WebSearchTool::Type::TaggedSymbol
|
108
121
|
)
|
109
122
|
|
@@ -116,6 +129,44 @@ module OpenAI
|
|
116
129
|
end
|
117
130
|
end
|
118
131
|
|
132
|
+
class Filters < OpenAI::Internal::Type::BaseModel
|
133
|
+
OrHash =
|
134
|
+
T.type_alias do
|
135
|
+
T.any(
|
136
|
+
OpenAI::Responses::WebSearchTool::Filters,
|
137
|
+
OpenAI::Internal::AnyHash
|
138
|
+
)
|
139
|
+
end
|
140
|
+
|
141
|
+
# Allowed domains for the search. If not provided, all domains are allowed.
|
142
|
+
# Subdomains of the provided domains are allowed as well.
|
143
|
+
#
|
144
|
+
# Example: `["pubmed.ncbi.nlm.nih.gov"]`
|
145
|
+
sig { returns(T.nilable(T::Array[String])) }
|
146
|
+
attr_accessor :allowed_domains
|
147
|
+
|
148
|
+
# Filters for the search.
|
149
|
+
sig do
|
150
|
+
params(allowed_domains: T.nilable(T::Array[String])).returns(
|
151
|
+
T.attached_class
|
152
|
+
)
|
153
|
+
end
|
154
|
+
def self.new(
|
155
|
+
# Allowed domains for the search. If not provided, all domains are allowed.
|
156
|
+
# Subdomains of the provided domains are allowed as well.
|
157
|
+
#
|
158
|
+
# Example: `["pubmed.ncbi.nlm.nih.gov"]`
|
159
|
+
allowed_domains: nil
|
160
|
+
)
|
161
|
+
end
|
162
|
+
|
163
|
+
sig do
|
164
|
+
override.returns({ allowed_domains: T.nilable(T::Array[String]) })
|
165
|
+
end
|
166
|
+
def to_hash
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
119
170
|
# High level guidance for the amount of context window space to use for the
|
120
171
|
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
121
172
|
module SearchContextSize
|
@@ -163,10 +214,6 @@ module OpenAI
|
|
163
214
|
)
|
164
215
|
end
|
165
216
|
|
166
|
-
# The type of location approximation. Always `approximate`.
|
167
|
-
sig { returns(Symbol) }
|
168
|
-
attr_accessor :type
|
169
|
-
|
170
217
|
# Free text input for the city of the user, e.g. `San Francisco`.
|
171
218
|
sig { returns(T.nilable(String)) }
|
172
219
|
attr_accessor :city
|
@@ -185,14 +232,33 @@ module OpenAI
|
|
185
232
|
sig { returns(T.nilable(String)) }
|
186
233
|
attr_accessor :timezone
|
187
234
|
|
188
|
-
# The
|
235
|
+
# The type of location approximation. Always `approximate`.
|
236
|
+
sig do
|
237
|
+
returns(
|
238
|
+
T.nilable(
|
239
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type::OrSymbol
|
240
|
+
)
|
241
|
+
)
|
242
|
+
end
|
243
|
+
attr_reader :type
|
244
|
+
|
245
|
+
sig do
|
246
|
+
params(
|
247
|
+
type:
|
248
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type::OrSymbol
|
249
|
+
).void
|
250
|
+
end
|
251
|
+
attr_writer :type
|
252
|
+
|
253
|
+
# The approximate location of the user.
|
189
254
|
sig do
|
190
255
|
params(
|
191
256
|
city: T.nilable(String),
|
192
257
|
country: T.nilable(String),
|
193
258
|
region: T.nilable(String),
|
194
259
|
timezone: T.nilable(String),
|
195
|
-
type:
|
260
|
+
type:
|
261
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type::OrSymbol
|
196
262
|
).returns(T.attached_class)
|
197
263
|
end
|
198
264
|
def self.new(
|
@@ -207,23 +273,54 @@ module OpenAI
|
|
207
273
|
# user, e.g. `America/Los_Angeles`.
|
208
274
|
timezone: nil,
|
209
275
|
# The type of location approximation. Always `approximate`.
|
210
|
-
type:
|
276
|
+
type: nil
|
211
277
|
)
|
212
278
|
end
|
213
279
|
|
214
280
|
sig do
|
215
281
|
override.returns(
|
216
282
|
{
|
217
|
-
type: Symbol,
|
218
283
|
city: T.nilable(String),
|
219
284
|
country: T.nilable(String),
|
220
285
|
region: T.nilable(String),
|
221
|
-
timezone: T.nilable(String)
|
286
|
+
timezone: T.nilable(String),
|
287
|
+
type:
|
288
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type::OrSymbol
|
222
289
|
}
|
223
290
|
)
|
224
291
|
end
|
225
292
|
def to_hash
|
226
293
|
end
|
294
|
+
|
295
|
+
# The type of location approximation. Always `approximate`.
|
296
|
+
module Type
|
297
|
+
extend OpenAI::Internal::Type::Enum
|
298
|
+
|
299
|
+
TaggedSymbol =
|
300
|
+
T.type_alias do
|
301
|
+
T.all(
|
302
|
+
Symbol,
|
303
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type
|
304
|
+
)
|
305
|
+
end
|
306
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
307
|
+
|
308
|
+
APPROXIMATE =
|
309
|
+
T.let(
|
310
|
+
:approximate,
|
311
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type::TaggedSymbol
|
312
|
+
)
|
313
|
+
|
314
|
+
sig do
|
315
|
+
override.returns(
|
316
|
+
T::Array[
|
317
|
+
OpenAI::Responses::WebSearchTool::UserLocation::Type::TaggedSymbol
|
318
|
+
]
|
319
|
+
)
|
320
|
+
end
|
321
|
+
def self.values
|
322
|
+
end
|
323
|
+
end
|
227
324
|
end
|
228
325
|
end
|
229
326
|
end
|
@@ -0,0 +1,222 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Webhooks
|
6
|
+
class RealtimeCallIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The unique ID of the event.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :id
|
18
|
+
|
19
|
+
# The Unix timestamp (in seconds) of when the model response was completed.
|
20
|
+
sig { returns(Integer) }
|
21
|
+
attr_accessor :created_at
|
22
|
+
|
23
|
+
# Event data payload.
|
24
|
+
sig do
|
25
|
+
returns(OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data)
|
26
|
+
end
|
27
|
+
attr_reader :data
|
28
|
+
|
29
|
+
sig do
|
30
|
+
params(
|
31
|
+
data:
|
32
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::OrHash
|
33
|
+
).void
|
34
|
+
end
|
35
|
+
attr_writer :data
|
36
|
+
|
37
|
+
# The type of the event. Always `realtime.call.incoming`.
|
38
|
+
sig { returns(Symbol) }
|
39
|
+
attr_accessor :type
|
40
|
+
|
41
|
+
# The object of the event. Always `event`.
|
42
|
+
sig do
|
43
|
+
returns(
|
44
|
+
T.nilable(
|
45
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
|
46
|
+
)
|
47
|
+
)
|
48
|
+
end
|
49
|
+
attr_reader :object
|
50
|
+
|
51
|
+
sig do
|
52
|
+
params(
|
53
|
+
object:
|
54
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::OrSymbol
|
55
|
+
).void
|
56
|
+
end
|
57
|
+
attr_writer :object
|
58
|
+
|
59
|
+
# Sent when Realtime API Receives a incoming SIP call.
|
60
|
+
sig do
|
61
|
+
params(
|
62
|
+
id: String,
|
63
|
+
created_at: Integer,
|
64
|
+
data:
|
65
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::OrHash,
|
66
|
+
object:
|
67
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::OrSymbol,
|
68
|
+
type: Symbol
|
69
|
+
).returns(T.attached_class)
|
70
|
+
end
|
71
|
+
def self.new(
|
72
|
+
# The unique ID of the event.
|
73
|
+
id:,
|
74
|
+
# The Unix timestamp (in seconds) of when the model response was completed.
|
75
|
+
created_at:,
|
76
|
+
# Event data payload.
|
77
|
+
data:,
|
78
|
+
# The object of the event. Always `event`.
|
79
|
+
object: nil,
|
80
|
+
# The type of the event. Always `realtime.call.incoming`.
|
81
|
+
type: :"realtime.call.incoming"
|
82
|
+
)
|
83
|
+
end
|
84
|
+
|
85
|
+
sig do
|
86
|
+
override.returns(
|
87
|
+
{
|
88
|
+
id: String,
|
89
|
+
created_at: Integer,
|
90
|
+
data: OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data,
|
91
|
+
type: Symbol,
|
92
|
+
object:
|
93
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
|
94
|
+
}
|
95
|
+
)
|
96
|
+
end
|
97
|
+
def to_hash
|
98
|
+
end
|
99
|
+
|
100
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
101
|
+
OrHash =
|
102
|
+
T.type_alias do
|
103
|
+
T.any(
|
104
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data,
|
105
|
+
OpenAI::Internal::AnyHash
|
106
|
+
)
|
107
|
+
end
|
108
|
+
|
109
|
+
# The unique ID of this call.
|
110
|
+
sig { returns(String) }
|
111
|
+
attr_accessor :call_id
|
112
|
+
|
113
|
+
# Headers from the SIP Invite.
|
114
|
+
sig do
|
115
|
+
returns(
|
116
|
+
T::Array[
|
117
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader
|
118
|
+
]
|
119
|
+
)
|
120
|
+
end
|
121
|
+
attr_accessor :sip_headers
|
122
|
+
|
123
|
+
# Event data payload.
|
124
|
+
sig do
|
125
|
+
params(
|
126
|
+
call_id: String,
|
127
|
+
sip_headers:
|
128
|
+
T::Array[
|
129
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader::OrHash
|
130
|
+
]
|
131
|
+
).returns(T.attached_class)
|
132
|
+
end
|
133
|
+
def self.new(
|
134
|
+
# The unique ID of this call.
|
135
|
+
call_id:,
|
136
|
+
# Headers from the SIP Invite.
|
137
|
+
sip_headers:
|
138
|
+
)
|
139
|
+
end
|
140
|
+
|
141
|
+
sig do
|
142
|
+
override.returns(
|
143
|
+
{
|
144
|
+
call_id: String,
|
145
|
+
sip_headers:
|
146
|
+
T::Array[
|
147
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader
|
148
|
+
]
|
149
|
+
}
|
150
|
+
)
|
151
|
+
end
|
152
|
+
def to_hash
|
153
|
+
end
|
154
|
+
|
155
|
+
class SipHeader < OpenAI::Internal::Type::BaseModel
|
156
|
+
OrHash =
|
157
|
+
T.type_alias do
|
158
|
+
T.any(
|
159
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader,
|
160
|
+
OpenAI::Internal::AnyHash
|
161
|
+
)
|
162
|
+
end
|
163
|
+
|
164
|
+
# Name of the SIP Header.
|
165
|
+
sig { returns(String) }
|
166
|
+
attr_accessor :name
|
167
|
+
|
168
|
+
# Value of the SIP Header.
|
169
|
+
sig { returns(String) }
|
170
|
+
attr_accessor :value
|
171
|
+
|
172
|
+
# A header from the SIP Invite.
|
173
|
+
sig do
|
174
|
+
params(name: String, value: String).returns(T.attached_class)
|
175
|
+
end
|
176
|
+
def self.new(
|
177
|
+
# Name of the SIP Header.
|
178
|
+
name:,
|
179
|
+
# Value of the SIP Header.
|
180
|
+
value:
|
181
|
+
)
|
182
|
+
end
|
183
|
+
|
184
|
+
sig { override.returns({ name: String, value: String }) }
|
185
|
+
def to_hash
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
# The object of the event. Always `event`.
|
191
|
+
module Object
|
192
|
+
extend OpenAI::Internal::Type::Enum
|
193
|
+
|
194
|
+
TaggedSymbol =
|
195
|
+
T.type_alias do
|
196
|
+
T.all(
|
197
|
+
Symbol,
|
198
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object
|
199
|
+
)
|
200
|
+
end
|
201
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
202
|
+
|
203
|
+
EVENT =
|
204
|
+
T.let(
|
205
|
+
:event,
|
206
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
|
207
|
+
)
|
208
|
+
|
209
|
+
sig do
|
210
|
+
override.returns(
|
211
|
+
T::Array[
|
212
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
|
213
|
+
]
|
214
|
+
)
|
215
|
+
end
|
216
|
+
def self.values
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
222
|
+
end
|
@@ -20,6 +20,7 @@ module OpenAI
|
|
20
20
|
OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent,
|
21
21
|
OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
|
22
22
|
OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
|
23
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
|
23
24
|
OpenAI::Webhooks::ResponseCancelledWebhookEvent,
|
24
25
|
OpenAI::Webhooks::ResponseCompletedWebhookEvent,
|
25
26
|
OpenAI::Webhooks::ResponseFailedWebhookEvent,
|
data/rbi/openai/models.rbi
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Resources
|
5
|
+
class Realtime
|
6
|
+
class ClientSecrets
|
7
|
+
# Create a Realtime session and client secret for either realtime or
|
8
|
+
# transcription.
|
9
|
+
sig do
|
10
|
+
params(
|
11
|
+
expires_after:
|
12
|
+
OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter::OrHash,
|
13
|
+
session:
|
14
|
+
T.any(
|
15
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest::OrHash,
|
16
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::OrHash
|
17
|
+
),
|
18
|
+
request_options: OpenAI::RequestOptions::OrHash
|
19
|
+
).returns(OpenAI::Models::Realtime::ClientSecretCreateResponse)
|
20
|
+
end
|
21
|
+
def create(
|
22
|
+
# Configuration for the ephemeral token expiration.
|
23
|
+
expires_after: nil,
|
24
|
+
# Session configuration to use for the client secret. Choose either a realtime
|
25
|
+
# session or a transcription session.
|
26
|
+
session: nil,
|
27
|
+
request_options: {}
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
# @api private
|
32
|
+
sig { params(client: OpenAI::Client).returns(T.attached_class) }
|
33
|
+
def self.new(client:)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Resources
|
5
|
+
class Realtime
|
6
|
+
sig { returns(OpenAI::Resources::Realtime::ClientSecrets) }
|
7
|
+
attr_reader :client_secrets
|
8
|
+
|
9
|
+
# @api private
|
10
|
+
sig { params(client: OpenAI::Client).returns(T.attached_class) }
|
11
|
+
def self.new(client:)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -85,8 +85,8 @@ module OpenAI
|
|
85
85
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
86
86
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
87
87
|
OpenAI::Responses::CustomTool::OrHash,
|
88
|
-
OpenAI::Responses::
|
89
|
-
OpenAI::Responses::
|
88
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
89
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
90
90
|
)
|
91
91
|
],
|
92
92
|
top_logprobs: T.nilable(Integer),
|
@@ -230,7 +230,7 @@ module OpenAI
|
|
230
230
|
# An array of tools the model may call while generating a response. You can
|
231
231
|
# specify which tool to use by setting the `tool_choice` parameter.
|
232
232
|
#
|
233
|
-
#
|
233
|
+
# We support the following categories of tools:
|
234
234
|
#
|
235
235
|
# - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
|
236
236
|
# capabilities, like
|
@@ -238,6 +238,9 @@ module OpenAI
|
|
238
238
|
# [file search](https://platform.openai.com/docs/guides/tools-file-search).
|
239
239
|
# Learn more about
|
240
240
|
# [built-in tools](https://platform.openai.com/docs/guides/tools).
|
241
|
+
# - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
|
242
|
+
# predefined connectors such as Google Drive and Notion. Learn more about
|
243
|
+
# [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
|
241
244
|
# - **Function calls (custom tools)**: Functions that are defined by you, enabling
|
242
245
|
# the model to call your own code with strongly typed arguments and outputs.
|
243
246
|
# Learn more about
|
@@ -355,8 +358,8 @@ module OpenAI
|
|
355
358
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
356
359
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
357
360
|
OpenAI::Responses::CustomTool::OrHash,
|
358
|
-
OpenAI::Responses::
|
359
|
-
OpenAI::Responses::
|
361
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
362
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
360
363
|
)
|
361
364
|
],
|
362
365
|
top_logprobs: T.nilable(Integer),
|
@@ -504,7 +507,7 @@ module OpenAI
|
|
504
507
|
# An array of tools the model may call while generating a response. You can
|
505
508
|
# specify which tool to use by setting the `tool_choice` parameter.
|
506
509
|
#
|
507
|
-
#
|
510
|
+
# We support the following categories of tools:
|
508
511
|
#
|
509
512
|
# - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
|
510
513
|
# capabilities, like
|
@@ -512,6 +515,9 @@ module OpenAI
|
|
512
515
|
# [file search](https://platform.openai.com/docs/guides/tools-file-search).
|
513
516
|
# Learn more about
|
514
517
|
# [built-in tools](https://platform.openai.com/docs/guides/tools).
|
518
|
+
# - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
|
519
|
+
# predefined connectors such as Google Drive and Notion. Learn more about
|
520
|
+
# [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
|
515
521
|
# - **Function calls (custom tools)**: Functions that are defined by you, enabling
|
516
522
|
# the model to call your own code with strongly typed arguments and outputs.
|
517
523
|
# Learn more about
|
@@ -21,6 +21,7 @@ module OpenAI
|
|
21
21
|
OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent,
|
22
22
|
OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
|
23
23
|
OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
|
24
|
+
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
|
24
25
|
OpenAI::Webhooks::ResponseCancelledWebhookEvent,
|
25
26
|
OpenAI::Webhooks::ResponseCompletedWebhookEvent,
|
26
27
|
OpenAI::Webhooks::ResponseFailedWebhookEvent,
|
data/sig/openai/client.rbs
CHANGED
@@ -83,6 +83,8 @@ module OpenAI
|
|
83
83
|
| :sage
|
84
84
|
| :shimmer
|
85
85
|
| :verse
|
86
|
+
| :marin
|
87
|
+
| :cedar
|
86
88
|
|
87
89
|
module Voice
|
88
90
|
extend OpenAI::Internal::Type::Union
|
@@ -97,6 +99,8 @@ module OpenAI
|
|
97
99
|
SAGE: :sage
|
98
100
|
SHIMMER: :shimmer
|
99
101
|
VERSE: :verse
|
102
|
+
MARIN: :marin
|
103
|
+
CEDAR: :cedar
|
100
104
|
end
|
101
105
|
|
102
106
|
type response_format = :mp3 | :opus | :aac | :flac | :wav | :pcm
|
@@ -49,6 +49,8 @@ module OpenAI
|
|
49
49
|
| :sage
|
50
50
|
| :shimmer
|
51
51
|
| :verse
|
52
|
+
| :marin
|
53
|
+
| :cedar
|
52
54
|
|
53
55
|
module Voice
|
54
56
|
extend OpenAI::Internal::Type::Union
|
@@ -63,6 +65,8 @@ module OpenAI
|
|
63
65
|
SAGE: :sage
|
64
66
|
SHIMMER: :shimmer
|
65
67
|
VERSE: :verse
|
68
|
+
MARIN: :marin
|
69
|
+
CEDAR: :cedar
|
66
70
|
end
|
67
71
|
end
|
68
72
|
end
|