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
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcpApprovalRequest < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the approval request.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute arguments
|
14
|
+
# A JSON string of arguments for the tool.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
required :arguments, String
|
18
|
+
|
19
|
+
# @!attribute name
|
20
|
+
# The name of the tool to run.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
required :name, String
|
24
|
+
|
25
|
+
# @!attribute server_label
|
26
|
+
# The label of the MCP server making the request.
|
27
|
+
#
|
28
|
+
# @return [String]
|
29
|
+
required :server_label, String
|
30
|
+
|
31
|
+
# @!attribute type
|
32
|
+
# The type of the item. Always `mcp_approval_request`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, :mcp_approval_request]
|
35
|
+
required :type, const: :mcp_approval_request
|
36
|
+
|
37
|
+
# @!method initialize(id:, arguments:, name:, server_label:, type: :mcp_approval_request)
|
38
|
+
# A Realtime item requesting human approval of a tool invocation.
|
39
|
+
#
|
40
|
+
# @param id [String] The unique ID of the approval request.
|
41
|
+
#
|
42
|
+
# @param arguments [String] A JSON string of arguments for the tool.
|
43
|
+
#
|
44
|
+
# @param name [String] The name of the tool to run.
|
45
|
+
#
|
46
|
+
# @param server_label [String] The label of the MCP server making the request.
|
47
|
+
#
|
48
|
+
# @param type [Symbol, :mcp_approval_request] The type of the item. Always `mcp_approval_request`.
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcpApprovalResponse < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the approval response.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute approval_request_id
|
14
|
+
# The ID of the approval request being answered.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
required :approval_request_id, String
|
18
|
+
|
19
|
+
# @!attribute approve
|
20
|
+
# Whether the request was approved.
|
21
|
+
#
|
22
|
+
# @return [Boolean]
|
23
|
+
required :approve, OpenAI::Internal::Type::Boolean
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# The type of the item. Always `mcp_approval_response`.
|
27
|
+
#
|
28
|
+
# @return [Symbol, :mcp_approval_response]
|
29
|
+
required :type, const: :mcp_approval_response
|
30
|
+
|
31
|
+
# @!attribute reason
|
32
|
+
# Optional reason for the decision.
|
33
|
+
#
|
34
|
+
# @return [String, nil]
|
35
|
+
optional :reason, String, nil?: true
|
36
|
+
|
37
|
+
# @!method initialize(id:, approval_request_id:, approve:, reason: nil, type: :mcp_approval_response)
|
38
|
+
# A Realtime item responding to an MCP approval request.
|
39
|
+
#
|
40
|
+
# @param id [String] The unique ID of the approval response.
|
41
|
+
#
|
42
|
+
# @param approval_request_id [String] The ID of the approval request being answered.
|
43
|
+
#
|
44
|
+
# @param approve [Boolean] Whether the request was approved.
|
45
|
+
#
|
46
|
+
# @param reason [String, nil] Optional reason for the decision.
|
47
|
+
#
|
48
|
+
# @param type [Symbol, :mcp_approval_response] The type of the item. Always `mcp_approval_response`.
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcpListTools < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute server_label
|
8
|
+
# The label of the MCP server.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :server_label, String
|
12
|
+
|
13
|
+
# @!attribute tools
|
14
|
+
# The tools available on the server.
|
15
|
+
#
|
16
|
+
# @return [Array<OpenAI::Models::Realtime::RealtimeMcpListTools::Tool>]
|
17
|
+
required :tools, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Realtime::RealtimeMcpListTools::Tool] }
|
18
|
+
|
19
|
+
# @!attribute type
|
20
|
+
# The type of the item. Always `mcp_list_tools`.
|
21
|
+
#
|
22
|
+
# @return [Symbol, :mcp_list_tools]
|
23
|
+
required :type, const: :mcp_list_tools
|
24
|
+
|
25
|
+
# @!attribute id
|
26
|
+
# The unique ID of the list.
|
27
|
+
#
|
28
|
+
# @return [String, nil]
|
29
|
+
optional :id, String
|
30
|
+
|
31
|
+
# @!method initialize(server_label:, tools:, id: nil, type: :mcp_list_tools)
|
32
|
+
# A Realtime item listing tools available on an MCP server.
|
33
|
+
#
|
34
|
+
# @param server_label [String] The label of the MCP server.
|
35
|
+
#
|
36
|
+
# @param tools [Array<OpenAI::Models::Realtime::RealtimeMcpListTools::Tool>] The tools available on the server.
|
37
|
+
#
|
38
|
+
# @param id [String] The unique ID of the list.
|
39
|
+
#
|
40
|
+
# @param type [Symbol, :mcp_list_tools] The type of the item. Always `mcp_list_tools`.
|
41
|
+
|
42
|
+
class Tool < OpenAI::Internal::Type::BaseModel
|
43
|
+
# @!attribute input_schema
|
44
|
+
# The JSON schema describing the tool's input.
|
45
|
+
#
|
46
|
+
# @return [Object]
|
47
|
+
required :input_schema, OpenAI::Internal::Type::Unknown
|
48
|
+
|
49
|
+
# @!attribute name
|
50
|
+
# The name of the tool.
|
51
|
+
#
|
52
|
+
# @return [String]
|
53
|
+
required :name, String
|
54
|
+
|
55
|
+
# @!attribute annotations
|
56
|
+
# Additional annotations about the tool.
|
57
|
+
#
|
58
|
+
# @return [Object, nil]
|
59
|
+
optional :annotations, OpenAI::Internal::Type::Unknown, nil?: true
|
60
|
+
|
61
|
+
# @!attribute description
|
62
|
+
# The description of the tool.
|
63
|
+
#
|
64
|
+
# @return [String, nil]
|
65
|
+
optional :description, String, nil?: true
|
66
|
+
|
67
|
+
# @!method initialize(input_schema:, name:, annotations: nil, description: nil)
|
68
|
+
# Some parameter documentations has been truncated, see
|
69
|
+
# {OpenAI::Models::Realtime::RealtimeMcpListTools::Tool} for more details.
|
70
|
+
#
|
71
|
+
# A tool available on an MCP server.
|
72
|
+
#
|
73
|
+
# @param input_schema [Object] The JSON schema describing the tool's input.
|
74
|
+
#
|
75
|
+
# @param name [String] The name of the tool.
|
76
|
+
#
|
77
|
+
# @param annotations [Object, nil] Additional annotations about the tool.
|
78
|
+
#
|
79
|
+
# @param description [String, nil] The description of the tool.
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcpProtocolError < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute code
|
8
|
+
#
|
9
|
+
# @return [Integer]
|
10
|
+
required :code, Integer
|
11
|
+
|
12
|
+
# @!attribute message
|
13
|
+
#
|
14
|
+
# @return [String]
|
15
|
+
required :message, String
|
16
|
+
|
17
|
+
# @!attribute type
|
18
|
+
#
|
19
|
+
# @return [Symbol, :protocol_error]
|
20
|
+
required :type, const: :protocol_error
|
21
|
+
|
22
|
+
# @!method initialize(code:, message:, type: :protocol_error)
|
23
|
+
# @param code [Integer]
|
24
|
+
# @param message [String]
|
25
|
+
# @param type [Symbol, :protocol_error]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcpToolCall < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the tool call.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :id, String
|
12
|
+
|
13
|
+
# @!attribute arguments
|
14
|
+
# A JSON string of the arguments passed to the tool.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
required :arguments, String
|
18
|
+
|
19
|
+
# @!attribute name
|
20
|
+
# The name of the tool that was run.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
required :name, String
|
24
|
+
|
25
|
+
# @!attribute server_label
|
26
|
+
# The label of the MCP server running the tool.
|
27
|
+
#
|
28
|
+
# @return [String]
|
29
|
+
required :server_label, String
|
30
|
+
|
31
|
+
# @!attribute type
|
32
|
+
# The type of the item. Always `mcp_tool_call`.
|
33
|
+
#
|
34
|
+
# @return [Symbol, :mcp_tool_call]
|
35
|
+
required :type, const: :mcp_tool_call
|
36
|
+
|
37
|
+
# @!attribute approval_request_id
|
38
|
+
# The ID of an associated approval request, if any.
|
39
|
+
#
|
40
|
+
# @return [String, nil]
|
41
|
+
optional :approval_request_id, String, nil?: true
|
42
|
+
|
43
|
+
# @!attribute error
|
44
|
+
# The error from the tool call, if any.
|
45
|
+
#
|
46
|
+
# @return [OpenAI::Models::Realtime::RealtimeMcpProtocolError, OpenAI::Models::Realtime::RealtimeMcpToolExecutionError, OpenAI::Models::Realtime::RealtimeMcphttpError, nil]
|
47
|
+
optional :error, union: -> { OpenAI::Realtime::RealtimeMcpToolCall::Error }, nil?: true
|
48
|
+
|
49
|
+
# @!attribute output
|
50
|
+
# The output from the tool call.
|
51
|
+
#
|
52
|
+
# @return [String, nil]
|
53
|
+
optional :output, String, nil?: true
|
54
|
+
|
55
|
+
# @!method initialize(id:, arguments:, name:, server_label:, approval_request_id: nil, error: nil, output: nil, type: :mcp_tool_call)
|
56
|
+
# A Realtime item representing an invocation of a tool on an MCP server.
|
57
|
+
#
|
58
|
+
# @param id [String] The unique ID of the tool call.
|
59
|
+
#
|
60
|
+
# @param arguments [String] A JSON string of the arguments passed to the tool.
|
61
|
+
#
|
62
|
+
# @param name [String] The name of the tool that was run.
|
63
|
+
#
|
64
|
+
# @param server_label [String] The label of the MCP server running the tool.
|
65
|
+
#
|
66
|
+
# @param approval_request_id [String, nil] The ID of an associated approval request, if any.
|
67
|
+
#
|
68
|
+
# @param error [OpenAI::Models::Realtime::RealtimeMcpProtocolError, OpenAI::Models::Realtime::RealtimeMcpToolExecutionError, OpenAI::Models::Realtime::RealtimeMcphttpError, nil] The error from the tool call, if any.
|
69
|
+
#
|
70
|
+
# @param output [String, nil] The output from the tool call.
|
71
|
+
#
|
72
|
+
# @param type [Symbol, :mcp_tool_call] The type of the item. Always `mcp_tool_call`.
|
73
|
+
|
74
|
+
# The error from the tool call, if any.
|
75
|
+
#
|
76
|
+
# @see OpenAI::Models::Realtime::RealtimeMcpToolCall#error
|
77
|
+
module Error
|
78
|
+
extend OpenAI::Internal::Type::Union
|
79
|
+
|
80
|
+
discriminator :type
|
81
|
+
|
82
|
+
variant :protocol_error, -> { OpenAI::Realtime::RealtimeMcpProtocolError }
|
83
|
+
|
84
|
+
variant :tool_execution_error, -> { OpenAI::Realtime::RealtimeMcpToolExecutionError }
|
85
|
+
|
86
|
+
variant :http_error, -> { OpenAI::Realtime::RealtimeMcphttpError }
|
87
|
+
|
88
|
+
# @!method self.variants
|
89
|
+
# @return [Array(OpenAI::Models::Realtime::RealtimeMcpProtocolError, OpenAI::Models::Realtime::RealtimeMcpToolExecutionError, OpenAI::Models::Realtime::RealtimeMcphttpError)]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcpToolExecutionError < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute message
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
required :message, String
|
11
|
+
|
12
|
+
# @!attribute type
|
13
|
+
#
|
14
|
+
# @return [Symbol, :tool_execution_error]
|
15
|
+
required :type, const: :tool_execution_error
|
16
|
+
|
17
|
+
# @!method initialize(message:, type: :tool_execution_error)
|
18
|
+
# @param message [String]
|
19
|
+
# @param type [Symbol, :tool_execution_error]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeMcphttpError < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute code
|
8
|
+
#
|
9
|
+
# @return [Integer]
|
10
|
+
required :code, Integer
|
11
|
+
|
12
|
+
# @!attribute message
|
13
|
+
#
|
14
|
+
# @return [String]
|
15
|
+
required :message, String
|
16
|
+
|
17
|
+
# @!attribute type
|
18
|
+
#
|
19
|
+
# @return [Symbol, :http_error]
|
20
|
+
required :type, const: :http_error
|
21
|
+
|
22
|
+
# @!method initialize(code:, message:, type: :http_error)
|
23
|
+
# @param code [Integer]
|
24
|
+
# @param message [String]
|
25
|
+
# @param type [Symbol, :http_error]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,259 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class RealtimeResponse < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute id
|
8
|
+
# The unique ID of the response.
|
9
|
+
#
|
10
|
+
# @return [String, nil]
|
11
|
+
optional :id, String
|
12
|
+
|
13
|
+
# @!attribute conversation_id
|
14
|
+
# Which conversation the response is added to, determined by the `conversation`
|
15
|
+
# field in the `response.create` event. If `auto`, the response will be added to
|
16
|
+
# the default conversation and the value of `conversation_id` will be an id like
|
17
|
+
# `conv_1234`. If `none`, the response will not be added to any conversation and
|
18
|
+
# the value of `conversation_id` will be `null`. If responses are being triggered
|
19
|
+
# by server VAD, the response will be added to the default conversation, thus the
|
20
|
+
# `conversation_id` will be an id like `conv_1234`.
|
21
|
+
#
|
22
|
+
# @return [String, nil]
|
23
|
+
optional :conversation_id, String
|
24
|
+
|
25
|
+
# @!attribute max_output_tokens
|
26
|
+
# Maximum number of output tokens for a single assistant response, inclusive of
|
27
|
+
# tool calls, that was used in this response.
|
28
|
+
#
|
29
|
+
# @return [Integer, Symbol, :inf, nil]
|
30
|
+
optional :max_output_tokens, union: -> { OpenAI::Realtime::RealtimeResponse::MaxOutputTokens }
|
31
|
+
|
32
|
+
# @!attribute metadata
|
33
|
+
# Set of 16 key-value pairs that can be attached to an object. This can be useful
|
34
|
+
# for storing additional information about the object in a structured format, and
|
35
|
+
# querying for objects via API or the dashboard.
|
36
|
+
#
|
37
|
+
# Keys are strings with a maximum length of 64 characters. Values are strings with
|
38
|
+
# a maximum length of 512 characters.
|
39
|
+
#
|
40
|
+
# @return [Hash{Symbol=>String}, nil]
|
41
|
+
optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
|
42
|
+
|
43
|
+
# @!attribute modalities
|
44
|
+
# The set of modalities the model used to respond. If there are multiple
|
45
|
+
# modalities, the model will pick one, for example if `modalities` is
|
46
|
+
# `["text", "audio"]`, the model could be responding in either text or audio.
|
47
|
+
#
|
48
|
+
# @return [Array<Symbol, OpenAI::Models::Realtime::RealtimeResponse::Modality>, nil]
|
49
|
+
optional :modalities,
|
50
|
+
-> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Realtime::RealtimeResponse::Modality] }
|
51
|
+
|
52
|
+
# @!attribute object
|
53
|
+
# The object type, must be `realtime.response`.
|
54
|
+
#
|
55
|
+
# @return [Symbol, OpenAI::Models::Realtime::RealtimeResponse::Object, nil]
|
56
|
+
optional :object, enum: -> { OpenAI::Realtime::RealtimeResponse::Object }
|
57
|
+
|
58
|
+
# @!attribute output
|
59
|
+
# The list of output items generated by the response.
|
60
|
+
#
|
61
|
+
# @return [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest>, nil]
|
62
|
+
optional :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Realtime::ConversationItem] }
|
63
|
+
|
64
|
+
# @!attribute output_audio_format
|
65
|
+
# The format of output audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
|
66
|
+
#
|
67
|
+
# @return [Symbol, OpenAI::Models::Realtime::RealtimeResponse::OutputAudioFormat, nil]
|
68
|
+
optional :output_audio_format, enum: -> { OpenAI::Realtime::RealtimeResponse::OutputAudioFormat }
|
69
|
+
|
70
|
+
# @!attribute status
|
71
|
+
# The final status of the response (`completed`, `cancelled`, `failed`, or
|
72
|
+
# `incomplete`, `in_progress`).
|
73
|
+
#
|
74
|
+
# @return [Symbol, OpenAI::Models::Realtime::RealtimeResponse::Status, nil]
|
75
|
+
optional :status, enum: -> { OpenAI::Realtime::RealtimeResponse::Status }
|
76
|
+
|
77
|
+
# @!attribute status_details
|
78
|
+
# Additional details about the status.
|
79
|
+
#
|
80
|
+
# @return [OpenAI::Models::Realtime::RealtimeResponseStatus, nil]
|
81
|
+
optional :status_details, -> { OpenAI::Realtime::RealtimeResponseStatus }
|
82
|
+
|
83
|
+
# @!attribute temperature
|
84
|
+
# Sampling temperature for the model, limited to [0.6, 1.2]. Defaults to 0.8.
|
85
|
+
#
|
86
|
+
# @return [Float, nil]
|
87
|
+
optional :temperature, Float
|
88
|
+
|
89
|
+
# @!attribute usage
|
90
|
+
# Usage statistics for the Response, this will correspond to billing. A Realtime
|
91
|
+
# API session will maintain a conversation context and append new Items to the
|
92
|
+
# Conversation, thus output from previous turns (text and audio tokens) will
|
93
|
+
# become the input for later turns.
|
94
|
+
#
|
95
|
+
# @return [OpenAI::Models::Realtime::RealtimeResponseUsage, nil]
|
96
|
+
optional :usage, -> { OpenAI::Realtime::RealtimeResponseUsage }
|
97
|
+
|
98
|
+
# @!attribute voice
|
99
|
+
# The voice the model used to respond. Current voice options are `alloy`, `ash`,
|
100
|
+
# `ballad`, `coral`, `echo`, `sage`, `shimmer`, and `verse`.
|
101
|
+
#
|
102
|
+
# @return [String, Symbol, OpenAI::Models::Realtime::RealtimeResponse::Voice, nil]
|
103
|
+
optional :voice, union: -> { OpenAI::Realtime::RealtimeResponse::Voice }
|
104
|
+
|
105
|
+
# @!method initialize(id: nil, conversation_id: nil, max_output_tokens: nil, metadata: nil, modalities: nil, object: nil, output: nil, output_audio_format: nil, status: nil, status_details: nil, temperature: nil, usage: nil, voice: nil)
|
106
|
+
# Some parameter documentations has been truncated, see
|
107
|
+
# {OpenAI::Models::Realtime::RealtimeResponse} for more details.
|
108
|
+
#
|
109
|
+
# The response resource.
|
110
|
+
#
|
111
|
+
# @param id [String] The unique ID of the response.
|
112
|
+
#
|
113
|
+
# @param conversation_id [String] Which conversation the response is added to, determined by the `conversation`
|
114
|
+
#
|
115
|
+
# @param max_output_tokens [Integer, Symbol, :inf] Maximum number of output tokens for a single assistant response,
|
116
|
+
#
|
117
|
+
# @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
|
118
|
+
#
|
119
|
+
# @param modalities [Array<Symbol, OpenAI::Models::Realtime::RealtimeResponse::Modality>] The set of modalities the model used to respond. If there are multiple modalitie
|
120
|
+
#
|
121
|
+
# @param object [Symbol, OpenAI::Models::Realtime::RealtimeResponse::Object] The object type, must be `realtime.response`.
|
122
|
+
#
|
123
|
+
# @param output [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest>] The list of output items generated by the response.
|
124
|
+
#
|
125
|
+
# @param output_audio_format [Symbol, OpenAI::Models::Realtime::RealtimeResponse::OutputAudioFormat] The format of output audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
|
126
|
+
#
|
127
|
+
# @param status [Symbol, OpenAI::Models::Realtime::RealtimeResponse::Status] The final status of the response (`completed`, `cancelled`, `failed`, or
|
128
|
+
#
|
129
|
+
# @param status_details [OpenAI::Models::Realtime::RealtimeResponseStatus] Additional details about the status.
|
130
|
+
#
|
131
|
+
# @param temperature [Float] Sampling temperature for the model, limited to [0.6, 1.2]. Defaults to 0.8.
|
132
|
+
#
|
133
|
+
# @param usage [OpenAI::Models::Realtime::RealtimeResponseUsage] Usage statistics for the Response, this will correspond to billing. A
|
134
|
+
#
|
135
|
+
# @param voice [String, Symbol, OpenAI::Models::Realtime::RealtimeResponse::Voice] The voice the model used to respond.
|
136
|
+
|
137
|
+
# Maximum number of output tokens for a single assistant response, inclusive of
|
138
|
+
# tool calls, that was used in this response.
|
139
|
+
#
|
140
|
+
# @see OpenAI::Models::Realtime::RealtimeResponse#max_output_tokens
|
141
|
+
module MaxOutputTokens
|
142
|
+
extend OpenAI::Internal::Type::Union
|
143
|
+
|
144
|
+
variant Integer
|
145
|
+
|
146
|
+
variant const: :inf
|
147
|
+
|
148
|
+
# @!method self.variants
|
149
|
+
# @return [Array(Integer, Symbol, :inf)]
|
150
|
+
end
|
151
|
+
|
152
|
+
module Modality
|
153
|
+
extend OpenAI::Internal::Type::Enum
|
154
|
+
|
155
|
+
TEXT = :text
|
156
|
+
AUDIO = :audio
|
157
|
+
|
158
|
+
# @!method self.values
|
159
|
+
# @return [Array<Symbol>]
|
160
|
+
end
|
161
|
+
|
162
|
+
# The object type, must be `realtime.response`.
|
163
|
+
#
|
164
|
+
# @see OpenAI::Models::Realtime::RealtimeResponse#object
|
165
|
+
module Object
|
166
|
+
extend OpenAI::Internal::Type::Enum
|
167
|
+
|
168
|
+
REALTIME_RESPONSE = :"realtime.response"
|
169
|
+
|
170
|
+
# @!method self.values
|
171
|
+
# @return [Array<Symbol>]
|
172
|
+
end
|
173
|
+
|
174
|
+
# The format of output audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
|
175
|
+
#
|
176
|
+
# @see OpenAI::Models::Realtime::RealtimeResponse#output_audio_format
|
177
|
+
module OutputAudioFormat
|
178
|
+
extend OpenAI::Internal::Type::Enum
|
179
|
+
|
180
|
+
PCM16 = :pcm16
|
181
|
+
G711_ULAW = :g711_ulaw
|
182
|
+
G711_ALAW = :g711_alaw
|
183
|
+
|
184
|
+
# @!method self.values
|
185
|
+
# @return [Array<Symbol>]
|
186
|
+
end
|
187
|
+
|
188
|
+
# The final status of the response (`completed`, `cancelled`, `failed`, or
|
189
|
+
# `incomplete`, `in_progress`).
|
190
|
+
#
|
191
|
+
# @see OpenAI::Models::Realtime::RealtimeResponse#status
|
192
|
+
module Status
|
193
|
+
extend OpenAI::Internal::Type::Enum
|
194
|
+
|
195
|
+
COMPLETED = :completed
|
196
|
+
CANCELLED = :cancelled
|
197
|
+
FAILED = :failed
|
198
|
+
INCOMPLETE = :incomplete
|
199
|
+
IN_PROGRESS = :in_progress
|
200
|
+
|
201
|
+
# @!method self.values
|
202
|
+
# @return [Array<Symbol>]
|
203
|
+
end
|
204
|
+
|
205
|
+
# The voice the model used to respond. Current voice options are `alloy`, `ash`,
|
206
|
+
# `ballad`, `coral`, `echo`, `sage`, `shimmer`, and `verse`.
|
207
|
+
#
|
208
|
+
# @see OpenAI::Models::Realtime::RealtimeResponse#voice
|
209
|
+
module Voice
|
210
|
+
extend OpenAI::Internal::Type::Union
|
211
|
+
|
212
|
+
variant String
|
213
|
+
|
214
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::ALLOY }
|
215
|
+
|
216
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::ASH }
|
217
|
+
|
218
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::BALLAD }
|
219
|
+
|
220
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::CORAL }
|
221
|
+
|
222
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::ECHO }
|
223
|
+
|
224
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::SAGE }
|
225
|
+
|
226
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::SHIMMER }
|
227
|
+
|
228
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::VERSE }
|
229
|
+
|
230
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::MARIN }
|
231
|
+
|
232
|
+
variant const: -> { OpenAI::Models::Realtime::RealtimeResponse::Voice::CEDAR }
|
233
|
+
|
234
|
+
# @!method self.variants
|
235
|
+
# @return [Array(String, Symbol)]
|
236
|
+
|
237
|
+
define_sorbet_constant!(:Variants) do
|
238
|
+
T.type_alias { T.any(String, OpenAI::Realtime::RealtimeResponse::Voice::TaggedSymbol) }
|
239
|
+
end
|
240
|
+
|
241
|
+
# @!group
|
242
|
+
|
243
|
+
ALLOY = :alloy
|
244
|
+
ASH = :ash
|
245
|
+
BALLAD = :ballad
|
246
|
+
CORAL = :coral
|
247
|
+
ECHO = :echo
|
248
|
+
SAGE = :sage
|
249
|
+
SHIMMER = :shimmer
|
250
|
+
VERSE = :verse
|
251
|
+
MARIN = :marin
|
252
|
+
CEDAR = :cedar
|
253
|
+
|
254
|
+
# @!endgroup
|
255
|
+
end
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|