openai 0.20.0 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +1 -1
- data/lib/openai/client.rb +4 -0
- data/lib/openai/internal/stream.rb +3 -2
- data/lib/openai/models/audio/speech_create_params.rb +6 -0
- data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -0
- data/lib/openai/models/eval_create_params.rb +10 -6
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +10 -6
- data/lib/openai/models/evals/run_cancel_response.rb +12 -8
- data/lib/openai/models/evals/run_create_params.rb +12 -8
- data/lib/openai/models/evals/run_create_response.rb +12 -8
- data/lib/openai/models/evals/run_list_response.rb +12 -8
- data/lib/openai/models/evals/run_retrieve_response.rb +12 -8
- data/lib/openai/models/graders/label_model_grader.rb +10 -6
- data/lib/openai/models/graders/score_model_grader.rb +10 -6
- data/lib/openai/models/realtime/client_secret_create_params.rb +93 -0
- data/lib/openai/models/realtime/client_secret_create_response.rb +300 -0
- data/lib/openai/models/realtime/conversation_created_event.rb +70 -0
- data/lib/openai/models/realtime/conversation_item.rb +44 -0
- data/lib/openai/models/realtime/conversation_item_added.rb +48 -0
- data/lib/openai/models/realtime/conversation_item_create_event.rb +57 -0
- data/lib/openai/models/realtime/conversation_item_created_event.rb +59 -0
- data/lib/openai/models/realtime/conversation_item_delete_event.rb +39 -0
- data/lib/openai/models/realtime/conversation_item_deleted_event.rb +38 -0
- data/lib/openai/models/realtime/conversation_item_done.rb +48 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +189 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +63 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rb +96 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_segment.rb +84 -0
- data/lib/openai/models/realtime/conversation_item_retrieve_event.rb +40 -0
- data/lib/openai/models/realtime/conversation_item_truncate_event.rb +68 -0
- data/lib/openai/models/realtime/conversation_item_truncated_event.rb +60 -0
- data/lib/openai/models/realtime/conversation_item_with_reference.rb +235 -0
- data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +49 -0
- data/lib/openai/models/realtime/input_audio_buffer_clear_event.rb +29 -0
- data/lib/openai/models/realtime/input_audio_buffer_cleared_event.rb +29 -0
- data/lib/openai/models/realtime/input_audio_buffer_commit_event.rb +35 -0
- data/lib/openai/models/realtime/input_audio_buffer_committed_event.rb +51 -0
- data/lib/openai/models/realtime/input_audio_buffer_speech_started_event.rb +59 -0
- data/lib/openai/models/realtime/input_audio_buffer_speech_stopped_event.rb +51 -0
- data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +52 -0
- data/lib/openai/models/realtime/log_prob_properties.rb +39 -0
- data/lib/openai/models/realtime/mcp_list_tools_completed.rb +36 -0
- data/lib/openai/models/realtime/mcp_list_tools_failed.rb +36 -0
- data/lib/openai/models/realtime/mcp_list_tools_in_progress.rb +36 -0
- data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +32 -0
- data/lib/openai/models/realtime/rate_limits_updated_event.rb +91 -0
- data/lib/openai/models/realtime/realtime_audio_config.rb +446 -0
- data/lib/openai/models/realtime/realtime_client_event.rb +123 -0
- data/lib/openai/models/realtime/realtime_client_secret_config.rb +64 -0
- data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +118 -0
- data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +94 -0
- data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +86 -0
- data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +118 -0
- data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +135 -0
- data/lib/openai/models/realtime/realtime_error.rb +55 -0
- data/lib/openai/models/realtime/realtime_error_event.rb +38 -0
- data/lib/openai/models/realtime/realtime_mcp_approval_request.rb +52 -0
- data/lib/openai/models/realtime/realtime_mcp_approval_response.rb +52 -0
- data/lib/openai/models/realtime/realtime_mcp_list_tools.rb +84 -0
- data/lib/openai/models/realtime/realtime_mcp_protocol_error.rb +29 -0
- data/lib/openai/models/realtime/realtime_mcp_tool_call.rb +94 -0
- data/lib/openai/models/realtime/realtime_mcp_tool_execution_error.rb +23 -0
- data/lib/openai/models/realtime/realtime_mcphttp_error.rb +29 -0
- data/lib/openai/models/realtime/realtime_response.rb +259 -0
- data/lib/openai/models/realtime/realtime_response_status.rb +103 -0
- data/lib/openai/models/realtime/realtime_response_usage.rb +61 -0
- data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +36 -0
- data/lib/openai/models/realtime/realtime_response_usage_output_token_details.rb +28 -0
- data/lib/openai/models/realtime/realtime_server_event.rb +369 -0
- data/lib/openai/models/realtime/realtime_session.rb +696 -0
- data/lib/openai/models/realtime/realtime_session_create_request.rb +234 -0
- data/lib/openai/models/realtime/realtime_session_create_response.rb +579 -0
- data/lib/openai/models/realtime/realtime_tool_choice_config.rb +32 -0
- data/lib/openai/models/realtime/realtime_tools_config.rb +11 -0
- data/lib/openai/models/realtime/realtime_tools_config_union.rb +379 -0
- data/lib/openai/models/realtime/realtime_tracing_config.rb +61 -0
- data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +312 -0
- data/lib/openai/models/realtime/realtime_truncation.rb +67 -0
- data/lib/openai/models/realtime/response_audio_delta_event.rb +68 -0
- data/lib/openai/models/realtime/response_audio_done_event.rb +61 -0
- data/lib/openai/models/realtime/response_audio_transcript_delta_event.rb +68 -0
- data/lib/openai/models/realtime/response_audio_transcript_done_event.rb +70 -0
- data/lib/openai/models/realtime/response_cancel_event.rb +42 -0
- data/lib/openai/models/realtime/response_content_part_added_event.rb +120 -0
- data/lib/openai/models/realtime/response_content_part_done_event.rb +120 -0
- data/lib/openai/models/realtime/response_create_event.rb +391 -0
- data/lib/openai/models/realtime/response_created_event.rb +37 -0
- data/lib/openai/models/realtime/response_done_event.rb +38 -0
- data/lib/openai/models/realtime/response_function_call_arguments_delta_event.rb +72 -0
- data/lib/openai/models/realtime/response_function_call_arguments_done_event.rb +73 -0
- data/lib/openai/models/realtime/response_mcp_call_arguments_delta.rb +68 -0
- data/lib/openai/models/realtime/response_mcp_call_arguments_done.rb +60 -0
- data/lib/openai/models/realtime/response_mcp_call_completed.rb +44 -0
- data/lib/openai/models/realtime/response_mcp_call_failed.rb +44 -0
- data/lib/openai/models/realtime/response_mcp_call_in_progress.rb +44 -0
- data/lib/openai/models/realtime/response_output_item_added_event.rb +52 -0
- data/lib/openai/models/realtime/response_output_item_done_event.rb +53 -0
- data/lib/openai/models/realtime/response_text_delta_event.rb +68 -0
- data/lib/openai/models/realtime/response_text_done_event.rb +69 -0
- data/lib/openai/models/realtime/session_created_event.rb +38 -0
- data/lib/openai/models/realtime/session_update_event.rb +44 -0
- data/lib/openai/models/realtime/session_updated_event.rb +37 -0
- data/lib/openai/models/realtime/transcription_session_created.rb +278 -0
- data/lib/openai/models/realtime/transcription_session_update.rb +36 -0
- data/lib/openai/models/realtime/transcription_session_updated_event.rb +279 -0
- data/lib/openai/models/responses/easy_input_message.rb +3 -3
- data/lib/openai/models/responses/response.rb +6 -3
- data/lib/openai/models/responses/response_content.rb +4 -1
- data/lib/openai/models/responses/response_create_params.rb +6 -3
- data/lib/openai/models/responses/response_input_audio.rb +39 -23
- data/lib/openai/models/responses/response_input_content.rb +4 -1
- data/lib/openai/models/responses/response_input_item.rb +2 -2
- data/lib/openai/models/responses/response_input_message_item.rb +2 -2
- data/lib/openai/models/responses/tool.rb +3 -156
- data/lib/openai/models/responses/web_search_preview_tool.rb +124 -0
- data/lib/openai/models/responses/web_search_tool.rb +58 -21
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +119 -0
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
- data/lib/openai/models.rb +2 -0
- data/lib/openai/resources/realtime/client_secrets.rb +44 -0
- data/lib/openai/resources/realtime.rb +18 -0
- data/lib/openai/resources/responses.rb +2 -2
- data/lib/openai/resources/webhooks.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +95 -0
- data/rbi/openai/client.rbi +3 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +10 -0
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +10 -0
- data/rbi/openai/models/eval_create_params.rbi +5 -1
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +5 -1
- data/rbi/openai/models/evals/run_cancel_response.rbi +7 -5
- data/rbi/openai/models/evals/run_create_params.rbi +13 -9
- data/rbi/openai/models/evals/run_create_response.rbi +7 -5
- data/rbi/openai/models/evals/run_list_response.rbi +7 -5
- data/rbi/openai/models/evals/run_retrieve_response.rbi +7 -5
- data/rbi/openai/models/graders/label_model_grader.rbi +5 -1
- data/rbi/openai/models/graders/score_model_grader.rbi +5 -1
- data/rbi/openai/models/realtime/client_secret_create_params.rbi +222 -0
- data/rbi/openai/models/realtime/client_secret_create_response.rbi +676 -0
- data/rbi/openai/models/realtime/conversation_created_event.rbi +164 -0
- data/rbi/openai/models/realtime/conversation_item.rbi +35 -0
- data/rbi/openai/models/realtime/conversation_item_added.rbi +105 -0
- data/rbi/openai/models/realtime/conversation_item_create_event.rbi +123 -0
- data/rbi/openai/models/realtime/conversation_item_created_event.rbi +117 -0
- data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +57 -0
- data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +53 -0
- data/rbi/openai/models/realtime/conversation_item_done.rbi +105 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +305 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +93 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +158 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +107 -0
- data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +58 -0
- data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +94 -0
- data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +80 -0
- data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +549 -0
- data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +65 -0
- data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +43 -0
- data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +40 -0
- data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +49 -0
- data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +72 -0
- data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +82 -0
- data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +73 -0
- data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +75 -0
- data/rbi/openai/models/realtime/log_prob_properties.rbi +55 -0
- data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +51 -0
- data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +51 -0
- data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +51 -0
- data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +46 -0
- data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +187 -0
- data/rbi/openai/models/realtime/realtime_audio_config.rbi +1004 -0
- data/rbi/openai/models/realtime/realtime_client_event.rbi +38 -0
- data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +147 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +292 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +199 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +188 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +292 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +319 -0
- data/rbi/openai/models/realtime/realtime_error.rbi +72 -0
- data/rbi/openai/models/realtime/realtime_error_event.rbi +64 -0
- data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +75 -0
- data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +75 -0
- data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +131 -0
- data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +40 -0
- data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +145 -0
- data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +31 -0
- data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +40 -0
- data/rbi/openai/models/realtime/realtime_response.rbi +573 -0
- data/rbi/openai/models/realtime/realtime_response_status.rbi +233 -0
- data/rbi/openai/models/realtime/realtime_response_usage.rbi +121 -0
- data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +68 -0
- data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +51 -0
- data/rbi/openai/models/realtime/realtime_server_event.rbi +311 -0
- data/rbi/openai/models/realtime/realtime_session.rbi +1426 -0
- data/rbi/openai/models/realtime/realtime_session_create_request.rbi +560 -0
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1249 -0
- data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +30 -0
- data/rbi/openai/models/realtime/realtime_tools_config.rbi +15 -0
- data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +755 -0
- data/rbi/openai/models/realtime/realtime_tracing_config.rbi +95 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +703 -0
- data/rbi/openai/models/realtime/realtime_truncation.rbi +117 -0
- data/rbi/openai/models/realtime/response_audio_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_audio_done_event.rbi +84 -0
- data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +93 -0
- data/rbi/openai/models/realtime/response_cancel_event.rbi +63 -0
- data/rbi/openai/models/realtime/response_content_part_added_event.rbi +219 -0
- data/rbi/openai/models/realtime/response_content_part_done_event.rbi +219 -0
- data/rbi/openai/models/realtime/response_create_event.rbi +863 -0
- data/rbi/openai/models/realtime/response_created_event.rbi +65 -0
- data/rbi/openai/models/realtime/response_done_event.rbi +66 -0
- data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +92 -0
- data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +91 -0
- data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +83 -0
- data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +67 -0
- data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +67 -0
- data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +67 -0
- data/rbi/openai/models/realtime/response_output_item_added_event.rbi +111 -0
- data/rbi/openai/models/realtime/response_output_item_done_event.rbi +112 -0
- data/rbi/openai/models/realtime/response_text_delta_event.rbi +91 -0
- data/rbi/openai/models/realtime/response_text_done_event.rbi +92 -0
- data/rbi/openai/models/realtime/session_created_event.rbi +64 -0
- data/rbi/openai/models/realtime/session_update_event.rbi +77 -0
- data/rbi/openai/models/realtime/session_updated_event.rbi +63 -0
- data/rbi/openai/models/realtime/transcription_session_created.rbi +653 -0
- data/rbi/openai/models/realtime/transcription_session_update.rbi +74 -0
- data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +657 -0
- data/rbi/openai/models/responses/response.rbi +10 -4
- data/rbi/openai/models/responses/response_content.rbi +1 -0
- data/rbi/openai/models/responses/response_create_params.rbi +16 -10
- data/rbi/openai/models/responses/response_input_audio.rbi +85 -34
- data/rbi/openai/models/responses/response_input_content.rbi +2 -1
- data/rbi/openai/models/responses/response_input_item.rbi +6 -3
- data/rbi/openai/models/responses/response_input_message_item.rbi +2 -1
- data/rbi/openai/models/responses/tool.rbi +2 -348
- data/rbi/openai/models/responses/web_search_preview_tool.rbi +245 -0
- data/rbi/openai/models/responses/web_search_tool.rbi +120 -23
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +222 -0
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
- data/rbi/openai/models.rbi +2 -0
- data/rbi/openai/resources/realtime/client_secrets.rbi +38 -0
- data/rbi/openai/resources/realtime.rbi +15 -0
- data/rbi/openai/resources/responses.rbi +12 -6
- data/rbi/openai/resources/webhooks.rbi +1 -0
- data/sig/openai/client.rbs +2 -0
- data/sig/openai/models/audio/speech_create_params.rbs +4 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -0
- data/sig/openai/models/eval_create_params.rbs +2 -1
- data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +2 -1
- data/sig/openai/models/evals/run_cancel_response.rbs +2 -1
- data/sig/openai/models/evals/run_create_params.rbs +2 -1
- data/sig/openai/models/evals/run_create_response.rbs +2 -1
- data/sig/openai/models/evals/run_list_response.rbs +2 -1
- data/sig/openai/models/evals/run_retrieve_response.rbs +2 -1
- data/sig/openai/models/graders/label_model_grader.rbs +2 -1
- data/sig/openai/models/graders/score_model_grader.rbs +2 -1
- data/sig/openai/models/realtime/client_secret_create_params.rbs +89 -0
- data/sig/openai/models/realtime/client_secret_create_response.rbs +292 -0
- data/sig/openai/models/realtime/conversation_created_event.rbs +70 -0
- data/sig/openai/models/realtime/conversation_item.rbs +22 -0
- data/sig/openai/models/realtime/conversation_item_added.rbs +37 -0
- data/sig/openai/models/realtime/conversation_item_create_event.rbs +41 -0
- data/sig/openai/models/realtime/conversation_item_created_event.rbs +37 -0
- data/sig/openai/models/realtime/conversation_item_delete_event.rbs +30 -0
- data/sig/openai/models/realtime/conversation_item_deleted_event.rbs +32 -0
- data/sig/openai/models/realtime/conversation_item_done.rbs +37 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +136 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +51 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbs +77 -0
- data/sig/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbs +62 -0
- data/sig/openai/models/realtime/conversation_item_retrieve_event.rbs +34 -0
- data/sig/openai/models/realtime/conversation_item_truncate_event.rbs +44 -0
- data/sig/openai/models/realtime/conversation_item_truncated_event.rbs +42 -0
- data/sig/openai/models/realtime/conversation_item_with_reference.rbs +207 -0
- data/sig/openai/models/realtime/input_audio_buffer_append_event.rbs +30 -0
- data/sig/openai/models/realtime/input_audio_buffer_clear_event.rbs +23 -0
- data/sig/openai/models/realtime/input_audio_buffer_cleared_event.rbs +24 -0
- data/sig/openai/models/realtime/input_audio_buffer_commit_event.rbs +23 -0
- data/sig/openai/models/realtime/input_audio_buffer_committed_event.rbs +37 -0
- data/sig/openai/models/realtime/input_audio_buffer_speech_started_event.rbs +37 -0
- data/sig/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbs +37 -0
- data/sig/openai/models/realtime/input_audio_buffer_timeout_triggered.rbs +42 -0
- data/sig/openai/models/realtime/log_prob_properties.rbs +28 -0
- data/sig/openai/models/realtime/mcp_list_tools_completed.rbs +28 -0
- data/sig/openai/models/realtime/mcp_list_tools_failed.rbs +28 -0
- data/sig/openai/models/realtime/mcp_list_tools_in_progress.rbs +32 -0
- data/sig/openai/models/realtime/output_audio_buffer_clear_event.rbs +23 -0
- data/sig/openai/models/realtime/rate_limits_updated_event.rbs +85 -0
- data/sig/openai/models/realtime/realtime_audio_config.rbs +354 -0
- data/sig/openai/models/realtime/realtime_client_event.rbs +25 -0
- data/sig/openai/models/realtime/realtime_client_secret_config.rbs +60 -0
- data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +117 -0
- data/sig/openai/models/realtime/realtime_conversation_item_function_call.rbs +86 -0
- data/sig/openai/models/realtime/realtime_conversation_item_function_call_output.rbs +79 -0
- data/sig/openai/models/realtime/realtime_conversation_item_system_message.rbs +117 -0
- data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +132 -0
- data/sig/openai/models/realtime/realtime_error.rbs +42 -0
- data/sig/openai/models/realtime/realtime_error_event.rbs +32 -0
- data/sig/openai/models/realtime/realtime_mcp_approval_request.rbs +42 -0
- data/sig/openai/models/realtime/realtime_mcp_approval_response.rbs +42 -0
- data/sig/openai/models/realtime/realtime_mcp_list_tools.rbs +71 -0
- data/sig/openai/models/realtime/realtime_mcp_protocol_error.rbs +28 -0
- data/sig/openai/models/realtime/realtime_mcp_tool_call.rbs +68 -0
- data/sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs +18 -0
- data/sig/openai/models/realtime/realtime_mcphttp_error.rbs +24 -0
- data/sig/openai/models/realtime/realtime_response.rbs +210 -0
- data/sig/openai/models/realtime/realtime_response_status.rbs +90 -0
- data/sig/openai/models/realtime/realtime_response_usage.rbs +56 -0
- data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +34 -0
- data/sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs +22 -0
- data/sig/openai/models/realtime/realtime_server_event.rbs +168 -0
- data/sig/openai/models/realtime/realtime_session.rbs +521 -0
- data/sig/openai/models/realtime/realtime_session_create_request.rbs +178 -0
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +526 -0
- data/sig/openai/models/realtime/realtime_tool_choice_config.rbs +16 -0
- data/sig/openai/models/realtime/realtime_tools_config.rbs +10 -0
- data/sig/openai/models/realtime/realtime_tools_config_union.rbs +280 -0
- data/sig/openai/models/realtime/realtime_tracing_config.rbs +43 -0
- data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +242 -0
- data/sig/openai/models/realtime/realtime_truncation.rbs +53 -0
- data/sig/openai/models/realtime/response_audio_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_audio_done_event.rbs +47 -0
- data/sig/openai/models/realtime/response_audio_transcript_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_audio_transcript_done_event.rbs +52 -0
- data/sig/openai/models/realtime/response_cancel_event.rbs +32 -0
- data/sig/openai/models/realtime/response_content_part_added_event.rbs +105 -0
- data/sig/openai/models/realtime/response_content_part_done_event.rbs +105 -0
- data/sig/openai/models/realtime/response_create_event.rbs +281 -0
- data/sig/openai/models/realtime/response_created_event.rbs +32 -0
- data/sig/openai/models/realtime/response_done_event.rbs +32 -0
- data/sig/openai/models/realtime/response_function_call_arguments_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_function_call_arguments_done_event.rbs +52 -0
- data/sig/openai/models/realtime/response_mcp_call_arguments_delta.rbs +52 -0
- data/sig/openai/models/realtime/response_mcp_call_arguments_done.rbs +47 -0
- data/sig/openai/models/realtime/response_mcp_call_completed.rbs +37 -0
- data/sig/openai/models/realtime/response_mcp_call_failed.rbs +37 -0
- data/sig/openai/models/realtime/response_mcp_call_in_progress.rbs +37 -0
- data/sig/openai/models/realtime/response_output_item_added_event.rbs +42 -0
- data/sig/openai/models/realtime/response_output_item_done_event.rbs +42 -0
- data/sig/openai/models/realtime/response_text_delta_event.rbs +52 -0
- data/sig/openai/models/realtime/response_text_done_event.rbs +52 -0
- data/sig/openai/models/realtime/session_created_event.rbs +32 -0
- data/sig/openai/models/realtime/session_update_event.rbs +34 -0
- data/sig/openai/models/realtime/session_updated_event.rbs +32 -0
- data/sig/openai/models/realtime/transcription_session_created.rbs +282 -0
- data/sig/openai/models/realtime/transcription_session_update.rbs +34 -0
- data/sig/openai/models/realtime/transcription_session_updated_event.rbs +282 -0
- data/sig/openai/models/responses/response_content.rbs +1 -0
- data/sig/openai/models/responses/response_input_audio.rbs +32 -15
- data/sig/openai/models/responses/response_input_content.rbs +1 -0
- data/sig/openai/models/responses/tool.rbs +1 -121
- data/sig/openai/models/responses/web_search_preview_tool.rbs +96 -0
- data/sig/openai/models/responses/web_search_tool.rbs +39 -10
- data/sig/openai/models/webhooks/realtime_call_incoming_webhook_event.rbs +90 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
- data/sig/openai/models.rbs +2 -0
- data/sig/openai/resources/realtime/client_secrets.rbs +15 -0
- data/sig/openai/resources/realtime.rbs +9 -0
- data/sig/openai/resources/webhooks.rbs +1 -0
- metadata +287 -2
@@ -59,7 +59,7 @@ module OpenAI
|
|
59
59
|
# @!attribute content
|
60
60
|
# Inputs to the model - can contain template strings.
|
61
61
|
#
|
62
|
-
# @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, Array<Object>]
|
62
|
+
# @return [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, OpenAI::Models::Responses::ResponseInputAudio, Array<Object>]
|
63
63
|
required :content, union: -> { OpenAI::Graders::ScoreModelGrader::Input::Content }
|
64
64
|
|
65
65
|
# @!attribute role
|
@@ -85,7 +85,7 @@ module OpenAI
|
|
85
85
|
# `assistant` role are presumed to have been generated by the model in previous
|
86
86
|
# interactions.
|
87
87
|
#
|
88
|
-
# @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, Array<Object>] Inputs to the model - can contain template strings.
|
88
|
+
# @param content [String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, OpenAI::Models::Responses::ResponseInputAudio, Array<Object>] Inputs to the model - can contain template strings.
|
89
89
|
#
|
90
90
|
# @param role [Symbol, OpenAI::Models::Graders::ScoreModelGrader::Input::Role] The role of the message input. One of `user`, `assistant`, `system`, or
|
91
91
|
#
|
@@ -109,8 +109,11 @@ module OpenAI
|
|
109
109
|
# An image input to the model.
|
110
110
|
variant -> { OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage }
|
111
111
|
|
112
|
-
#
|
113
|
-
variant -> { OpenAI::
|
112
|
+
# An audio input to the model.
|
113
|
+
variant -> { OpenAI::Responses::ResponseInputAudio }
|
114
|
+
|
115
|
+
# A list of inputs, each of which may be either an input text, input image, or input audio object.
|
116
|
+
variant -> { OpenAI::Models::Graders::ScoreModelGrader::Input::Content::AnArrayOfInputTextInputImageAndInputAudioArray }
|
114
117
|
|
115
118
|
class OutputText < OpenAI::Internal::Type::BaseModel
|
116
119
|
# @!attribute text
|
@@ -172,10 +175,11 @@ module OpenAI
|
|
172
175
|
end
|
173
176
|
|
174
177
|
# @!method self.variants
|
175
|
-
# @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, Array<Object>)]
|
178
|
+
# @return [Array(String, OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::OutputText, OpenAI::Models::Graders::ScoreModelGrader::Input::Content::InputImage, OpenAI::Models::Responses::ResponseInputAudio, Array<Object>)]
|
176
179
|
|
177
180
|
# @type [OpenAI::Internal::Type::Converter]
|
178
|
-
|
181
|
+
AnArrayOfInputTextInputImageAndInputAudioArray =
|
182
|
+
OpenAI::Internal::Type::ArrayOf[OpenAI::Internal::Type::Unknown]
|
179
183
|
end
|
180
184
|
|
181
185
|
# The role of the message input. One of `user`, `assistant`, `system`, or
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
# @see OpenAI::Resources::Realtime::ClientSecrets#create
|
7
|
+
class ClientSecretCreateParams < OpenAI::Internal::Type::BaseModel
|
8
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
9
|
+
include OpenAI::Internal::Type::RequestParameters
|
10
|
+
|
11
|
+
# @!attribute expires_after
|
12
|
+
# Configuration for the ephemeral token expiration.
|
13
|
+
#
|
14
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter, nil]
|
15
|
+
optional :expires_after, -> { OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter }
|
16
|
+
|
17
|
+
# @!attribute session
|
18
|
+
# Session configuration to use for the client secret. Choose either a realtime
|
19
|
+
# session or a transcription session.
|
20
|
+
#
|
21
|
+
# @return [OpenAI::Models::Realtime::RealtimeSessionCreateRequest, OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest, nil]
|
22
|
+
optional :session, union: -> { OpenAI::Realtime::ClientSecretCreateParams::Session }
|
23
|
+
|
24
|
+
# @!method initialize(expires_after: nil, session: nil, request_options: {})
|
25
|
+
# Some parameter documentations has been truncated, see
|
26
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateParams} for more details.
|
27
|
+
#
|
28
|
+
# @param expires_after [OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter] Configuration for the ephemeral token expiration.
|
29
|
+
#
|
30
|
+
# @param session [OpenAI::Models::Realtime::RealtimeSessionCreateRequest, OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest] Session configuration to use for the client secret. Choose either a realtime
|
31
|
+
#
|
32
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
33
|
+
|
34
|
+
class ExpiresAfter < OpenAI::Internal::Type::BaseModel
|
35
|
+
# @!attribute anchor
|
36
|
+
# The anchor point for the ephemeral token expiration. Only `created_at` is
|
37
|
+
# currently supported.
|
38
|
+
#
|
39
|
+
# @return [Symbol, OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::Anchor, nil]
|
40
|
+
optional :anchor, enum: -> { OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter::Anchor }
|
41
|
+
|
42
|
+
# @!attribute seconds
|
43
|
+
# The number of seconds from the anchor point to the expiration. Select a value
|
44
|
+
# between `10` and `7200`.
|
45
|
+
#
|
46
|
+
# @return [Integer, nil]
|
47
|
+
optional :seconds, Integer
|
48
|
+
|
49
|
+
# @!method initialize(anchor: nil, seconds: nil)
|
50
|
+
# Some parameter documentations has been truncated, see
|
51
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter} for more
|
52
|
+
# details.
|
53
|
+
#
|
54
|
+
# Configuration for the ephemeral token expiration.
|
55
|
+
#
|
56
|
+
# @param anchor [Symbol, OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::Anchor] The anchor point for the ephemeral token expiration. Only `created_at` is curren
|
57
|
+
#
|
58
|
+
# @param seconds [Integer] The number of seconds from the anchor point to the expiration. Select a value be
|
59
|
+
|
60
|
+
# The anchor point for the ephemeral token expiration. Only `created_at` is
|
61
|
+
# currently supported.
|
62
|
+
#
|
63
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter#anchor
|
64
|
+
module Anchor
|
65
|
+
extend OpenAI::Internal::Type::Enum
|
66
|
+
|
67
|
+
CREATED_AT = :created_at
|
68
|
+
|
69
|
+
# @!method self.values
|
70
|
+
# @return [Array<Symbol>]
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# Session configuration to use for the client secret. Choose either a realtime
|
75
|
+
# session or a transcription session.
|
76
|
+
module Session
|
77
|
+
extend OpenAI::Internal::Type::Union
|
78
|
+
|
79
|
+
discriminator :type
|
80
|
+
|
81
|
+
# Realtime session object configuration.
|
82
|
+
variant :realtime, -> { OpenAI::Realtime::RealtimeSessionCreateRequest }
|
83
|
+
|
84
|
+
# Realtime transcription session object configuration.
|
85
|
+
variant :transcription, -> { OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest }
|
86
|
+
|
87
|
+
# @!method self.variants
|
88
|
+
# @return [Array(OpenAI::Models::Realtime::RealtimeSessionCreateRequest, OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest)]
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,300 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
# @see OpenAI::Resources::Realtime::ClientSecrets#create
|
7
|
+
class ClientSecretCreateResponse < OpenAI::Internal::Type::BaseModel
|
8
|
+
# @!attribute expires_at
|
9
|
+
# Expiration timestamp for the client secret, in seconds since epoch.
|
10
|
+
#
|
11
|
+
# @return [Integer]
|
12
|
+
required :expires_at, Integer
|
13
|
+
|
14
|
+
# @!attribute session
|
15
|
+
# The session configuration for either a realtime or transcription session.
|
16
|
+
#
|
17
|
+
# @return [OpenAI::Models::Realtime::RealtimeSessionCreateResponse, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse]
|
18
|
+
required :session, union: -> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session }
|
19
|
+
|
20
|
+
# @!attribute value
|
21
|
+
# The generated client secret value.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
required :value, String
|
25
|
+
|
26
|
+
# @!method initialize(expires_at:, session:, value:)
|
27
|
+
# Some parameter documentations has been truncated, see
|
28
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateResponse} for more details.
|
29
|
+
#
|
30
|
+
# Response from creating a session and client secret for the Realtime API.
|
31
|
+
#
|
32
|
+
# @param expires_at [Integer] Expiration timestamp for the client secret, in seconds since epoch.
|
33
|
+
#
|
34
|
+
# @param session [OpenAI::Models::Realtime::RealtimeSessionCreateResponse, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse] The session configuration for either a realtime or transcription session.
|
35
|
+
#
|
36
|
+
# @param value [String] The generated client secret value.
|
37
|
+
|
38
|
+
# The session configuration for either a realtime or transcription session.
|
39
|
+
#
|
40
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse#session
|
41
|
+
module Session
|
42
|
+
extend OpenAI::Internal::Type::Union
|
43
|
+
|
44
|
+
# A Realtime session configuration object.
|
45
|
+
variant -> { OpenAI::Realtime::RealtimeSessionCreateResponse }
|
46
|
+
|
47
|
+
# A Realtime transcription session configuration object.
|
48
|
+
variant -> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse }
|
49
|
+
|
50
|
+
class RealtimeTranscriptionSessionCreateResponse < OpenAI::Internal::Type::BaseModel
|
51
|
+
# @!attribute id
|
52
|
+
# Unique identifier for the session that looks like `sess_1234567890abcdef`.
|
53
|
+
#
|
54
|
+
# @return [String, nil]
|
55
|
+
optional :id, String
|
56
|
+
|
57
|
+
# @!attribute audio
|
58
|
+
# Configuration for input audio for the session.
|
59
|
+
#
|
60
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio, nil]
|
61
|
+
optional :audio,
|
62
|
+
-> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio }
|
63
|
+
|
64
|
+
# @!attribute expires_at
|
65
|
+
# Expiration timestamp for the session, in seconds since epoch.
|
66
|
+
#
|
67
|
+
# @return [Integer, nil]
|
68
|
+
optional :expires_at, Integer
|
69
|
+
|
70
|
+
# @!attribute include
|
71
|
+
# Additional fields to include in server outputs.
|
72
|
+
#
|
73
|
+
# - `item.input_audio_transcription.logprobs`: Include logprobs for input audio
|
74
|
+
# transcription.
|
75
|
+
#
|
76
|
+
# @return [Array<Symbol, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Include>, nil]
|
77
|
+
optional :include,
|
78
|
+
-> do
|
79
|
+
OpenAI::Internal::Type::ArrayOf[
|
80
|
+
enum: OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Include
|
81
|
+
]
|
82
|
+
end
|
83
|
+
|
84
|
+
# @!attribute object
|
85
|
+
# The object type. Always `realtime.transcription_session`.
|
86
|
+
#
|
87
|
+
# @return [String, nil]
|
88
|
+
optional :object, String
|
89
|
+
|
90
|
+
# @!method initialize(id: nil, audio: nil, expires_at: nil, include: nil, object: nil)
|
91
|
+
# Some parameter documentations has been truncated, see
|
92
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse}
|
93
|
+
# for more details.
|
94
|
+
#
|
95
|
+
# A Realtime transcription session configuration object.
|
96
|
+
#
|
97
|
+
# @param id [String] Unique identifier for the session that looks like `sess_1234567890abcdef`.
|
98
|
+
#
|
99
|
+
# @param audio [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio] Configuration for input audio for the session.
|
100
|
+
#
|
101
|
+
# @param expires_at [Integer] Expiration timestamp for the session, in seconds since epoch.
|
102
|
+
#
|
103
|
+
# @param include [Array<Symbol, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Include>] Additional fields to include in server outputs.
|
104
|
+
#
|
105
|
+
# @param object [String] The object type. Always `realtime.transcription_session`.
|
106
|
+
|
107
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse#audio
|
108
|
+
class Audio < OpenAI::Internal::Type::BaseModel
|
109
|
+
# @!attribute input
|
110
|
+
#
|
111
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input, nil]
|
112
|
+
optional :input,
|
113
|
+
-> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input }
|
114
|
+
|
115
|
+
# @!method initialize(input: nil)
|
116
|
+
# Configuration for input audio for the session.
|
117
|
+
#
|
118
|
+
# @param input [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input]
|
119
|
+
|
120
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio#input
|
121
|
+
class Input < OpenAI::Internal::Type::BaseModel
|
122
|
+
# @!attribute format_
|
123
|
+
# The format of input audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
|
124
|
+
#
|
125
|
+
# @return [String, nil]
|
126
|
+
optional :format_, String, api_name: :format
|
127
|
+
|
128
|
+
# @!attribute noise_reduction
|
129
|
+
# Configuration for input audio noise reduction.
|
130
|
+
#
|
131
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction, nil]
|
132
|
+
optional :noise_reduction,
|
133
|
+
-> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction }
|
134
|
+
|
135
|
+
# @!attribute transcription
|
136
|
+
# Configuration of the transcription model.
|
137
|
+
#
|
138
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription, nil]
|
139
|
+
optional :transcription,
|
140
|
+
-> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription }
|
141
|
+
|
142
|
+
# @!attribute turn_detection
|
143
|
+
# Configuration for turn detection.
|
144
|
+
#
|
145
|
+
# @return [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::TurnDetection, nil]
|
146
|
+
optional :turn_detection,
|
147
|
+
-> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::TurnDetection }
|
148
|
+
|
149
|
+
# @!method initialize(format_: nil, noise_reduction: nil, transcription: nil, turn_detection: nil)
|
150
|
+
# Some parameter documentations has been truncated, see
|
151
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input}
|
152
|
+
# for more details.
|
153
|
+
#
|
154
|
+
# @param format_ [String] The format of input audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
|
155
|
+
#
|
156
|
+
# @param noise_reduction [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction] Configuration for input audio noise reduction.
|
157
|
+
#
|
158
|
+
# @param transcription [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription] Configuration of the transcription model.
|
159
|
+
#
|
160
|
+
# @param turn_detection [OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::TurnDetection] Configuration for turn detection.
|
161
|
+
|
162
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input#noise_reduction
|
163
|
+
class NoiseReduction < OpenAI::Internal::Type::BaseModel
|
164
|
+
# @!attribute type
|
165
|
+
#
|
166
|
+
# @return [Symbol, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction::Type, nil]
|
167
|
+
optional :type,
|
168
|
+
enum: -> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction::Type }
|
169
|
+
|
170
|
+
# @!method initialize(type: nil)
|
171
|
+
# Configuration for input audio noise reduction.
|
172
|
+
#
|
173
|
+
# @param type [Symbol, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction::Type]
|
174
|
+
|
175
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction#type
|
176
|
+
module Type
|
177
|
+
extend OpenAI::Internal::Type::Enum
|
178
|
+
|
179
|
+
NEAR_FIELD = :near_field
|
180
|
+
FAR_FIELD = :far_field
|
181
|
+
|
182
|
+
# @!method self.values
|
183
|
+
# @return [Array<Symbol>]
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input#transcription
|
188
|
+
class Transcription < OpenAI::Internal::Type::BaseModel
|
189
|
+
# @!attribute language
|
190
|
+
# The language of the input audio. Supplying the input language in
|
191
|
+
# [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`)
|
192
|
+
# format will improve accuracy and latency.
|
193
|
+
#
|
194
|
+
# @return [String, nil]
|
195
|
+
optional :language, String
|
196
|
+
|
197
|
+
# @!attribute model
|
198
|
+
# The model to use for transcription. Can be `gpt-4o-transcribe`,
|
199
|
+
# `gpt-4o-mini-transcribe`, or `whisper-1`.
|
200
|
+
#
|
201
|
+
# @return [Symbol, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription::Model, nil]
|
202
|
+
optional :model,
|
203
|
+
enum: -> { OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription::Model }
|
204
|
+
|
205
|
+
# @!attribute prompt
|
206
|
+
# An optional text to guide the model's style or continue a previous audio
|
207
|
+
# segment. The
|
208
|
+
# [prompt](https://platform.openai.com/docs/guides/speech-to-text#prompting)
|
209
|
+
# should match the audio language.
|
210
|
+
#
|
211
|
+
# @return [String, nil]
|
212
|
+
optional :prompt, String
|
213
|
+
|
214
|
+
# @!method initialize(language: nil, model: nil, prompt: nil)
|
215
|
+
# Some parameter documentations has been truncated, see
|
216
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription}
|
217
|
+
# for more details.
|
218
|
+
#
|
219
|
+
# Configuration of the transcription model.
|
220
|
+
#
|
221
|
+
# @param language [String] The language of the input audio. Supplying the input language in
|
222
|
+
#
|
223
|
+
# @param model [Symbol, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription::Model] The model to use for transcription. Can be `gpt-4o-transcribe`, `gpt-4o-mini-tra
|
224
|
+
#
|
225
|
+
# @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
|
226
|
+
|
227
|
+
# The model to use for transcription. Can be `gpt-4o-transcribe`,
|
228
|
+
# `gpt-4o-mini-transcribe`, or `whisper-1`.
|
229
|
+
#
|
230
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::Transcription#model
|
231
|
+
module Model
|
232
|
+
extend OpenAI::Internal::Type::Enum
|
233
|
+
|
234
|
+
GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
|
235
|
+
GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
|
236
|
+
WHISPER_1 = :"whisper-1"
|
237
|
+
|
238
|
+
# @!method self.values
|
239
|
+
# @return [Array<Symbol>]
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
# @see OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input#turn_detection
|
244
|
+
class TurnDetection < OpenAI::Internal::Type::BaseModel
|
245
|
+
# @!attribute prefix_padding_ms
|
246
|
+
#
|
247
|
+
# @return [Integer, nil]
|
248
|
+
optional :prefix_padding_ms, Integer
|
249
|
+
|
250
|
+
# @!attribute silence_duration_ms
|
251
|
+
#
|
252
|
+
# @return [Integer, nil]
|
253
|
+
optional :silence_duration_ms, Integer
|
254
|
+
|
255
|
+
# @!attribute threshold
|
256
|
+
#
|
257
|
+
# @return [Float, nil]
|
258
|
+
optional :threshold, Float
|
259
|
+
|
260
|
+
# @!attribute type
|
261
|
+
# Type of turn detection, only `server_vad` is currently supported.
|
262
|
+
#
|
263
|
+
# @return [String, nil]
|
264
|
+
optional :type, String
|
265
|
+
|
266
|
+
# @!method initialize(prefix_padding_ms: nil, silence_duration_ms: nil, threshold: nil, type: nil)
|
267
|
+
# Some parameter documentations has been truncated, see
|
268
|
+
# {OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse::Audio::Input::TurnDetection}
|
269
|
+
# for more details.
|
270
|
+
#
|
271
|
+
# Configuration for turn detection.
|
272
|
+
#
|
273
|
+
# @param prefix_padding_ms [Integer]
|
274
|
+
#
|
275
|
+
# @param silence_duration_ms [Integer]
|
276
|
+
#
|
277
|
+
# @param threshold [Float]
|
278
|
+
#
|
279
|
+
# @param type [String] Type of turn detection, only `server_vad` is currently supported.
|
280
|
+
end
|
281
|
+
end
|
282
|
+
end
|
283
|
+
|
284
|
+
module Include
|
285
|
+
extend OpenAI::Internal::Type::Enum
|
286
|
+
|
287
|
+
ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS = :"item.input_audio_transcription.logprobs"
|
288
|
+
|
289
|
+
# @!method self.values
|
290
|
+
# @return [Array<Symbol>]
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
# @!method self.variants
|
295
|
+
# @return [Array(OpenAI::Models::Realtime::RealtimeSessionCreateResponse, OpenAI::Models::Realtime::ClientSecretCreateResponse::Session::RealtimeTranscriptionSessionCreateResponse)]
|
296
|
+
end
|
297
|
+
end
|
298
|
+
end
|
299
|
+
end
|
300
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationCreatedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute conversation
|
8
|
+
# The conversation resource.
|
9
|
+
#
|
10
|
+
# @return [OpenAI::Models::Realtime::ConversationCreatedEvent::Conversation]
|
11
|
+
required :conversation, -> { OpenAI::Realtime::ConversationCreatedEvent::Conversation }
|
12
|
+
|
13
|
+
# @!attribute event_id
|
14
|
+
# The unique ID of the server event.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
required :event_id, String
|
18
|
+
|
19
|
+
# @!attribute type
|
20
|
+
# The event type, must be `conversation.created`.
|
21
|
+
#
|
22
|
+
# @return [Symbol, :"conversation.created"]
|
23
|
+
required :type, const: :"conversation.created"
|
24
|
+
|
25
|
+
# @!method initialize(conversation:, event_id:, type: :"conversation.created")
|
26
|
+
# Returned when a conversation is created. Emitted right after session creation.
|
27
|
+
#
|
28
|
+
# @param conversation [OpenAI::Models::Realtime::ConversationCreatedEvent::Conversation] The conversation resource.
|
29
|
+
#
|
30
|
+
# @param event_id [String] The unique ID of the server event.
|
31
|
+
#
|
32
|
+
# @param type [Symbol, :"conversation.created"] The event type, must be `conversation.created`.
|
33
|
+
|
34
|
+
# @see OpenAI::Models::Realtime::ConversationCreatedEvent#conversation
|
35
|
+
class Conversation < OpenAI::Internal::Type::BaseModel
|
36
|
+
# @!attribute id
|
37
|
+
# The unique ID of the conversation.
|
38
|
+
#
|
39
|
+
# @return [String, nil]
|
40
|
+
optional :id, String
|
41
|
+
|
42
|
+
# @!attribute object
|
43
|
+
# The object type, must be `realtime.conversation`.
|
44
|
+
#
|
45
|
+
# @return [Symbol, OpenAI::Models::Realtime::ConversationCreatedEvent::Conversation::Object, nil]
|
46
|
+
optional :object, enum: -> { OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object }
|
47
|
+
|
48
|
+
# @!method initialize(id: nil, object: nil)
|
49
|
+
# The conversation resource.
|
50
|
+
#
|
51
|
+
# @param id [String] The unique ID of the conversation.
|
52
|
+
#
|
53
|
+
# @param object [Symbol, OpenAI::Models::Realtime::ConversationCreatedEvent::Conversation::Object] The object type, must be `realtime.conversation`.
|
54
|
+
|
55
|
+
# The object type, must be `realtime.conversation`.
|
56
|
+
#
|
57
|
+
# @see OpenAI::Models::Realtime::ConversationCreatedEvent::Conversation#object
|
58
|
+
module Object
|
59
|
+
extend OpenAI::Internal::Type::Enum
|
60
|
+
|
61
|
+
REALTIME_CONVERSATION = :"realtime.conversation"
|
62
|
+
|
63
|
+
# @!method self.values
|
64
|
+
# @return [Array<Symbol>]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
# A single item within a Realtime conversation.
|
7
|
+
module ConversationItem
|
8
|
+
extend OpenAI::Internal::Type::Union
|
9
|
+
|
10
|
+
discriminator :type
|
11
|
+
|
12
|
+
# A system message item in a Realtime conversation.
|
13
|
+
variant :message, -> { OpenAI::Realtime::RealtimeConversationItemSystemMessage }
|
14
|
+
|
15
|
+
# A user message item in a Realtime conversation.
|
16
|
+
variant :message, -> { OpenAI::Realtime::RealtimeConversationItemUserMessage }
|
17
|
+
|
18
|
+
# An assistant message item in a Realtime conversation.
|
19
|
+
variant :message, -> { OpenAI::Realtime::RealtimeConversationItemAssistantMessage }
|
20
|
+
|
21
|
+
# A function call item in a Realtime conversation.
|
22
|
+
variant :function_call, -> { OpenAI::Realtime::RealtimeConversationItemFunctionCall }
|
23
|
+
|
24
|
+
# A function call output item in a Realtime conversation.
|
25
|
+
variant :function_call_output, -> { OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput }
|
26
|
+
|
27
|
+
# A Realtime item responding to an MCP approval request.
|
28
|
+
variant :mcp_approval_response, -> { OpenAI::Realtime::RealtimeMcpApprovalResponse }
|
29
|
+
|
30
|
+
# A Realtime item listing tools available on an MCP server.
|
31
|
+
variant :mcp_list_tools, -> { OpenAI::Realtime::RealtimeMcpListTools }
|
32
|
+
|
33
|
+
# A Realtime item representing an invocation of a tool on an MCP server.
|
34
|
+
variant :mcp_tool_call, -> { OpenAI::Realtime::RealtimeMcpToolCall }
|
35
|
+
|
36
|
+
# A Realtime item requesting human approval of a tool invocation.
|
37
|
+
variant :mcp_approval_request, -> { OpenAI::Realtime::RealtimeMcpApprovalRequest }
|
38
|
+
|
39
|
+
# @!method self.variants
|
40
|
+
# @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)]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemAdded < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute event_id
|
8
|
+
# The unique ID of the server event.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
required :event_id, String
|
12
|
+
|
13
|
+
# @!attribute item
|
14
|
+
# A single item within a Realtime conversation.
|
15
|
+
#
|
16
|
+
# @return [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]
|
17
|
+
required :item, union: -> { OpenAI::Realtime::ConversationItem }
|
18
|
+
|
19
|
+
# @!attribute type
|
20
|
+
# The event type, must be `conversation.item.added`.
|
21
|
+
#
|
22
|
+
# @return [Symbol, :"conversation.item.added"]
|
23
|
+
required :type, const: :"conversation.item.added"
|
24
|
+
|
25
|
+
# @!attribute previous_item_id
|
26
|
+
# The ID of the item that precedes this one, if any. This is used to maintain
|
27
|
+
# ordering when items are inserted.
|
28
|
+
#
|
29
|
+
# @return [String, nil]
|
30
|
+
optional :previous_item_id, String, nil?: true
|
31
|
+
|
32
|
+
# @!method initialize(event_id:, item:, previous_item_id: nil, type: :"conversation.item.added")
|
33
|
+
# Some parameter documentations has been truncated, see
|
34
|
+
# {OpenAI::Models::Realtime::ConversationItemAdded} for more details.
|
35
|
+
#
|
36
|
+
# Returned when a conversation item is added.
|
37
|
+
#
|
38
|
+
# @param event_id [String] The unique ID of the server event.
|
39
|
+
#
|
40
|
+
# @param item [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] A single item within a Realtime conversation.
|
41
|
+
#
|
42
|
+
# @param previous_item_id [String, nil] The ID of the item that precedes this one, if any. This is used to
|
43
|
+
#
|
44
|
+
# @param type [Symbol, :"conversation.item.added"] The event type, must be `conversation.item.added`.
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemCreateEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
# @!attribute item
|
8
|
+
# A single item within a Realtime conversation.
|
9
|
+
#
|
10
|
+
# @return [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]
|
11
|
+
required :item, union: -> { OpenAI::Realtime::ConversationItem }
|
12
|
+
|
13
|
+
# @!attribute type
|
14
|
+
# The event type, must be `conversation.item.create`.
|
15
|
+
#
|
16
|
+
# @return [Symbol, :"conversation.item.create"]
|
17
|
+
required :type, const: :"conversation.item.create"
|
18
|
+
|
19
|
+
# @!attribute event_id
|
20
|
+
# Optional client-generated ID used to identify this event.
|
21
|
+
#
|
22
|
+
# @return [String, nil]
|
23
|
+
optional :event_id, String
|
24
|
+
|
25
|
+
# @!attribute previous_item_id
|
26
|
+
# The ID of the preceding item after which the new item will be inserted. If not
|
27
|
+
# set, the new item will be appended to the end of the conversation. If set to
|
28
|
+
# `root`, the new item will be added to the beginning of the conversation. If set
|
29
|
+
# to an existing ID, it allows an item to be inserted mid-conversation. If the ID
|
30
|
+
# cannot be found, an error will be returned and the item will not be added.
|
31
|
+
#
|
32
|
+
# @return [String, nil]
|
33
|
+
optional :previous_item_id, String
|
34
|
+
|
35
|
+
# @!method initialize(item:, event_id: nil, previous_item_id: nil, type: :"conversation.item.create")
|
36
|
+
# Some parameter documentations has been truncated, see
|
37
|
+
# {OpenAI::Models::Realtime::ConversationItemCreateEvent} for more details.
|
38
|
+
#
|
39
|
+
# Add a new Item to the Conversation's context, including messages, function
|
40
|
+
# calls, and function call responses. This event can be used both to populate a
|
41
|
+
# "history" of the conversation and to add new items mid-stream, but has the
|
42
|
+
# current limitation that it cannot populate assistant audio messages.
|
43
|
+
#
|
44
|
+
# If successful, the server will respond with a `conversation.item.created` event,
|
45
|
+
# otherwise an `error` event will be sent.
|
46
|
+
#
|
47
|
+
# @param item [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] A single item within a Realtime conversation.
|
48
|
+
#
|
49
|
+
# @param event_id [String] Optional client-generated ID used to identify this event.
|
50
|
+
#
|
51
|
+
# @param previous_item_id [String] The ID of the preceding item after which the new item will be inserted.
|
52
|
+
#
|
53
|
+
# @param type [Symbol, :"conversation.item.create"] The event type, must be `conversation.item.create`.
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|