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,105 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemDone < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemDone,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The unique ID of the server event.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :event_id
|
18
|
+
|
19
|
+
# A single item within a Realtime conversation.
|
20
|
+
sig do
|
21
|
+
returns(
|
22
|
+
T.any(
|
23
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
24
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
25
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
26
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
27
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
28
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
29
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
30
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
31
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
32
|
+
)
|
33
|
+
)
|
34
|
+
end
|
35
|
+
attr_accessor :item
|
36
|
+
|
37
|
+
# The event type, must be `conversation.item.done`.
|
38
|
+
sig { returns(Symbol) }
|
39
|
+
attr_accessor :type
|
40
|
+
|
41
|
+
# The ID of the item that precedes this one, if any. This is used to maintain
|
42
|
+
# ordering when items are inserted.
|
43
|
+
sig { returns(T.nilable(String)) }
|
44
|
+
attr_accessor :previous_item_id
|
45
|
+
|
46
|
+
# Returned when a conversation item is finalized.
|
47
|
+
sig do
|
48
|
+
params(
|
49
|
+
event_id: String,
|
50
|
+
item:
|
51
|
+
T.any(
|
52
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage::OrHash,
|
53
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage::OrHash,
|
54
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage::OrHash,
|
55
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall::OrHash,
|
56
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput::OrHash,
|
57
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse::OrHash,
|
58
|
+
OpenAI::Realtime::RealtimeMcpListTools::OrHash,
|
59
|
+
OpenAI::Realtime::RealtimeMcpToolCall::OrHash,
|
60
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest::OrHash
|
61
|
+
),
|
62
|
+
previous_item_id: T.nilable(String),
|
63
|
+
type: Symbol
|
64
|
+
).returns(T.attached_class)
|
65
|
+
end
|
66
|
+
def self.new(
|
67
|
+
# The unique ID of the server event.
|
68
|
+
event_id:,
|
69
|
+
# A single item within a Realtime conversation.
|
70
|
+
item:,
|
71
|
+
# The ID of the item that precedes this one, if any. This is used to maintain
|
72
|
+
# ordering when items are inserted.
|
73
|
+
previous_item_id: nil,
|
74
|
+
# The event type, must be `conversation.item.done`.
|
75
|
+
type: :"conversation.item.done"
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
sig do
|
80
|
+
override.returns(
|
81
|
+
{
|
82
|
+
event_id: String,
|
83
|
+
item:
|
84
|
+
T.any(
|
85
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
86
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
87
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
88
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
89
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
90
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
91
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
92
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
93
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
94
|
+
),
|
95
|
+
type: Symbol,
|
96
|
+
previous_item_id: T.nilable(String)
|
97
|
+
}
|
98
|
+
)
|
99
|
+
end
|
100
|
+
def to_hash
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi
ADDED
@@ -0,0 +1,305 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemInputAudioTranscriptionCompletedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The index of the content part containing the audio.
|
16
|
+
sig { returns(Integer) }
|
17
|
+
attr_accessor :content_index
|
18
|
+
|
19
|
+
# The unique ID of the server event.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :event_id
|
22
|
+
|
23
|
+
# The ID of the user message item containing the audio.
|
24
|
+
sig { returns(String) }
|
25
|
+
attr_accessor :item_id
|
26
|
+
|
27
|
+
# The transcribed text.
|
28
|
+
sig { returns(String) }
|
29
|
+
attr_accessor :transcript
|
30
|
+
|
31
|
+
# The event type, must be `conversation.item.input_audio_transcription.completed`.
|
32
|
+
sig { returns(Symbol) }
|
33
|
+
attr_accessor :type
|
34
|
+
|
35
|
+
# Usage statistics for the transcription.
|
36
|
+
sig do
|
37
|
+
returns(
|
38
|
+
T.any(
|
39
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens,
|
40
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration
|
41
|
+
)
|
42
|
+
)
|
43
|
+
end
|
44
|
+
attr_accessor :usage
|
45
|
+
|
46
|
+
# The log probabilities of the transcription.
|
47
|
+
sig do
|
48
|
+
returns(T.nilable(T::Array[OpenAI::Realtime::LogProbProperties]))
|
49
|
+
end
|
50
|
+
attr_accessor :logprobs
|
51
|
+
|
52
|
+
# This event is the output of audio transcription for user audio written to the
|
53
|
+
# user audio buffer. Transcription begins when the input audio buffer is committed
|
54
|
+
# by the client or server (in `server_vad` mode). Transcription runs
|
55
|
+
# asynchronously with Response creation, so this event may come before or after
|
56
|
+
# the Response events.
|
57
|
+
#
|
58
|
+
# Realtime API models accept audio natively, and thus input transcription is a
|
59
|
+
# separate process run on a separate ASR (Automatic Speech Recognition) model. The
|
60
|
+
# transcript may diverge somewhat from the model's interpretation, and should be
|
61
|
+
# treated as a rough guide.
|
62
|
+
sig do
|
63
|
+
params(
|
64
|
+
content_index: Integer,
|
65
|
+
event_id: String,
|
66
|
+
item_id: String,
|
67
|
+
transcript: String,
|
68
|
+
usage:
|
69
|
+
T.any(
|
70
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::OrHash,
|
71
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration::OrHash
|
72
|
+
),
|
73
|
+
logprobs:
|
74
|
+
T.nilable(T::Array[OpenAI::Realtime::LogProbProperties::OrHash]),
|
75
|
+
type: Symbol
|
76
|
+
).returns(T.attached_class)
|
77
|
+
end
|
78
|
+
def self.new(
|
79
|
+
# The index of the content part containing the audio.
|
80
|
+
content_index:,
|
81
|
+
# The unique ID of the server event.
|
82
|
+
event_id:,
|
83
|
+
# The ID of the user message item containing the audio.
|
84
|
+
item_id:,
|
85
|
+
# The transcribed text.
|
86
|
+
transcript:,
|
87
|
+
# Usage statistics for the transcription.
|
88
|
+
usage:,
|
89
|
+
# The log probabilities of the transcription.
|
90
|
+
logprobs: nil,
|
91
|
+
# The event type, must be `conversation.item.input_audio_transcription.completed`.
|
92
|
+
type: :"conversation.item.input_audio_transcription.completed"
|
93
|
+
)
|
94
|
+
end
|
95
|
+
|
96
|
+
sig do
|
97
|
+
override.returns(
|
98
|
+
{
|
99
|
+
content_index: Integer,
|
100
|
+
event_id: String,
|
101
|
+
item_id: String,
|
102
|
+
transcript: String,
|
103
|
+
type: Symbol,
|
104
|
+
usage:
|
105
|
+
T.any(
|
106
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens,
|
107
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration
|
108
|
+
),
|
109
|
+
logprobs: T.nilable(T::Array[OpenAI::Realtime::LogProbProperties])
|
110
|
+
}
|
111
|
+
)
|
112
|
+
end
|
113
|
+
def to_hash
|
114
|
+
end
|
115
|
+
|
116
|
+
# Usage statistics for the transcription.
|
117
|
+
module Usage
|
118
|
+
extend OpenAI::Internal::Type::Union
|
119
|
+
|
120
|
+
Variants =
|
121
|
+
T.type_alias do
|
122
|
+
T.any(
|
123
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens,
|
124
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration
|
125
|
+
)
|
126
|
+
end
|
127
|
+
|
128
|
+
class TranscriptTextUsageTokens < OpenAI::Internal::Type::BaseModel
|
129
|
+
OrHash =
|
130
|
+
T.type_alias do
|
131
|
+
T.any(
|
132
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens,
|
133
|
+
OpenAI::Internal::AnyHash
|
134
|
+
)
|
135
|
+
end
|
136
|
+
|
137
|
+
# Number of input tokens billed for this request.
|
138
|
+
sig { returns(Integer) }
|
139
|
+
attr_accessor :input_tokens
|
140
|
+
|
141
|
+
# Number of output tokens generated.
|
142
|
+
sig { returns(Integer) }
|
143
|
+
attr_accessor :output_tokens
|
144
|
+
|
145
|
+
# Total number of tokens used (input + output).
|
146
|
+
sig { returns(Integer) }
|
147
|
+
attr_accessor :total_tokens
|
148
|
+
|
149
|
+
# The type of the usage object. Always `tokens` for this variant.
|
150
|
+
sig { returns(Symbol) }
|
151
|
+
attr_accessor :type
|
152
|
+
|
153
|
+
# Details about the input tokens billed for this request.
|
154
|
+
sig do
|
155
|
+
returns(
|
156
|
+
T.nilable(
|
157
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails
|
158
|
+
)
|
159
|
+
)
|
160
|
+
end
|
161
|
+
attr_reader :input_token_details
|
162
|
+
|
163
|
+
sig do
|
164
|
+
params(
|
165
|
+
input_token_details:
|
166
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails::OrHash
|
167
|
+
).void
|
168
|
+
end
|
169
|
+
attr_writer :input_token_details
|
170
|
+
|
171
|
+
# Usage statistics for models billed by token usage.
|
172
|
+
sig do
|
173
|
+
params(
|
174
|
+
input_tokens: Integer,
|
175
|
+
output_tokens: Integer,
|
176
|
+
total_tokens: Integer,
|
177
|
+
input_token_details:
|
178
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails::OrHash,
|
179
|
+
type: Symbol
|
180
|
+
).returns(T.attached_class)
|
181
|
+
end
|
182
|
+
def self.new(
|
183
|
+
# Number of input tokens billed for this request.
|
184
|
+
input_tokens:,
|
185
|
+
# Number of output tokens generated.
|
186
|
+
output_tokens:,
|
187
|
+
# Total number of tokens used (input + output).
|
188
|
+
total_tokens:,
|
189
|
+
# Details about the input tokens billed for this request.
|
190
|
+
input_token_details: nil,
|
191
|
+
# The type of the usage object. Always `tokens` for this variant.
|
192
|
+
type: :tokens
|
193
|
+
)
|
194
|
+
end
|
195
|
+
|
196
|
+
sig do
|
197
|
+
override.returns(
|
198
|
+
{
|
199
|
+
input_tokens: Integer,
|
200
|
+
output_tokens: Integer,
|
201
|
+
total_tokens: Integer,
|
202
|
+
type: Symbol,
|
203
|
+
input_token_details:
|
204
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails
|
205
|
+
}
|
206
|
+
)
|
207
|
+
end
|
208
|
+
def to_hash
|
209
|
+
end
|
210
|
+
|
211
|
+
class InputTokenDetails < OpenAI::Internal::Type::BaseModel
|
212
|
+
OrHash =
|
213
|
+
T.type_alias do
|
214
|
+
T.any(
|
215
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails,
|
216
|
+
OpenAI::Internal::AnyHash
|
217
|
+
)
|
218
|
+
end
|
219
|
+
|
220
|
+
# Number of audio tokens billed for this request.
|
221
|
+
sig { returns(T.nilable(Integer)) }
|
222
|
+
attr_reader :audio_tokens
|
223
|
+
|
224
|
+
sig { params(audio_tokens: Integer).void }
|
225
|
+
attr_writer :audio_tokens
|
226
|
+
|
227
|
+
# Number of text tokens billed for this request.
|
228
|
+
sig { returns(T.nilable(Integer)) }
|
229
|
+
attr_reader :text_tokens
|
230
|
+
|
231
|
+
sig { params(text_tokens: Integer).void }
|
232
|
+
attr_writer :text_tokens
|
233
|
+
|
234
|
+
# Details about the input tokens billed for this request.
|
235
|
+
sig do
|
236
|
+
params(audio_tokens: Integer, text_tokens: Integer).returns(
|
237
|
+
T.attached_class
|
238
|
+
)
|
239
|
+
end
|
240
|
+
def self.new(
|
241
|
+
# Number of audio tokens billed for this request.
|
242
|
+
audio_tokens: nil,
|
243
|
+
# Number of text tokens billed for this request.
|
244
|
+
text_tokens: nil
|
245
|
+
)
|
246
|
+
end
|
247
|
+
|
248
|
+
sig do
|
249
|
+
override.returns(
|
250
|
+
{ audio_tokens: Integer, text_tokens: Integer }
|
251
|
+
)
|
252
|
+
end
|
253
|
+
def to_hash
|
254
|
+
end
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
class TranscriptTextUsageDuration < OpenAI::Internal::Type::BaseModel
|
259
|
+
OrHash =
|
260
|
+
T.type_alias do
|
261
|
+
T.any(
|
262
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration,
|
263
|
+
OpenAI::Internal::AnyHash
|
264
|
+
)
|
265
|
+
end
|
266
|
+
|
267
|
+
# Duration of the input audio in seconds.
|
268
|
+
sig { returns(Float) }
|
269
|
+
attr_accessor :seconds
|
270
|
+
|
271
|
+
# The type of the usage object. Always `duration` for this variant.
|
272
|
+
sig { returns(Symbol) }
|
273
|
+
attr_accessor :type
|
274
|
+
|
275
|
+
# Usage statistics for models billed by audio input duration.
|
276
|
+
sig do
|
277
|
+
params(seconds: Float, type: Symbol).returns(T.attached_class)
|
278
|
+
end
|
279
|
+
def self.new(
|
280
|
+
# Duration of the input audio in seconds.
|
281
|
+
seconds:,
|
282
|
+
# The type of the usage object. Always `duration` for this variant.
|
283
|
+
type: :duration
|
284
|
+
)
|
285
|
+
end
|
286
|
+
|
287
|
+
sig { override.returns({ seconds: Float, type: Symbol }) }
|
288
|
+
def to_hash
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
sig do
|
293
|
+
override.returns(
|
294
|
+
T::Array[
|
295
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::Variants
|
296
|
+
]
|
297
|
+
)
|
298
|
+
end
|
299
|
+
def self.variants
|
300
|
+
end
|
301
|
+
end
|
302
|
+
end
|
303
|
+
end
|
304
|
+
end
|
305
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemInputAudioTranscriptionDeltaEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionDeltaEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The unique ID of the server event.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :event_id
|
18
|
+
|
19
|
+
# The ID of the item.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :item_id
|
22
|
+
|
23
|
+
# The event type, must be `conversation.item.input_audio_transcription.delta`.
|
24
|
+
sig { returns(Symbol) }
|
25
|
+
attr_accessor :type
|
26
|
+
|
27
|
+
# The index of the content part in the item's content array.
|
28
|
+
sig { returns(T.nilable(Integer)) }
|
29
|
+
attr_reader :content_index
|
30
|
+
|
31
|
+
sig { params(content_index: Integer).void }
|
32
|
+
attr_writer :content_index
|
33
|
+
|
34
|
+
# The text delta.
|
35
|
+
sig { returns(T.nilable(String)) }
|
36
|
+
attr_reader :delta
|
37
|
+
|
38
|
+
sig { params(delta: String).void }
|
39
|
+
attr_writer :delta
|
40
|
+
|
41
|
+
# The log probabilities of the transcription.
|
42
|
+
sig do
|
43
|
+
returns(T.nilable(T::Array[OpenAI::Realtime::LogProbProperties]))
|
44
|
+
end
|
45
|
+
attr_accessor :logprobs
|
46
|
+
|
47
|
+
# Returned when the text value of an input audio transcription content part is
|
48
|
+
# updated.
|
49
|
+
sig do
|
50
|
+
params(
|
51
|
+
event_id: String,
|
52
|
+
item_id: String,
|
53
|
+
content_index: Integer,
|
54
|
+
delta: String,
|
55
|
+
logprobs:
|
56
|
+
T.nilable(T::Array[OpenAI::Realtime::LogProbProperties::OrHash]),
|
57
|
+
type: Symbol
|
58
|
+
).returns(T.attached_class)
|
59
|
+
end
|
60
|
+
def self.new(
|
61
|
+
# The unique ID of the server event.
|
62
|
+
event_id:,
|
63
|
+
# The ID of the item.
|
64
|
+
item_id:,
|
65
|
+
# The index of the content part in the item's content array.
|
66
|
+
content_index: nil,
|
67
|
+
# The text delta.
|
68
|
+
delta: nil,
|
69
|
+
# The log probabilities of the transcription.
|
70
|
+
logprobs: nil,
|
71
|
+
# The event type, must be `conversation.item.input_audio_transcription.delta`.
|
72
|
+
type: :"conversation.item.input_audio_transcription.delta"
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
sig do
|
77
|
+
override.returns(
|
78
|
+
{
|
79
|
+
event_id: String,
|
80
|
+
item_id: String,
|
81
|
+
type: Symbol,
|
82
|
+
content_index: Integer,
|
83
|
+
delta: String,
|
84
|
+
logprobs: T.nilable(T::Array[OpenAI::Realtime::LogProbProperties])
|
85
|
+
}
|
86
|
+
)
|
87
|
+
end
|
88
|
+
def to_hash
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,158 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemInputAudioTranscriptionFailedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The index of the content part containing the audio.
|
16
|
+
sig { returns(Integer) }
|
17
|
+
attr_accessor :content_index
|
18
|
+
|
19
|
+
# Details of the transcription error.
|
20
|
+
sig do
|
21
|
+
returns(
|
22
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error
|
23
|
+
)
|
24
|
+
end
|
25
|
+
attr_reader :error
|
26
|
+
|
27
|
+
sig do
|
28
|
+
params(
|
29
|
+
error:
|
30
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error::OrHash
|
31
|
+
).void
|
32
|
+
end
|
33
|
+
attr_writer :error
|
34
|
+
|
35
|
+
# The unique ID of the server event.
|
36
|
+
sig { returns(String) }
|
37
|
+
attr_accessor :event_id
|
38
|
+
|
39
|
+
# The ID of the user message item.
|
40
|
+
sig { returns(String) }
|
41
|
+
attr_accessor :item_id
|
42
|
+
|
43
|
+
# The event type, must be `conversation.item.input_audio_transcription.failed`.
|
44
|
+
sig { returns(Symbol) }
|
45
|
+
attr_accessor :type
|
46
|
+
|
47
|
+
# Returned when input audio transcription is configured, and a transcription
|
48
|
+
# request for a user message failed. These events are separate from other `error`
|
49
|
+
# events so that the client can identify the related Item.
|
50
|
+
sig do
|
51
|
+
params(
|
52
|
+
content_index: Integer,
|
53
|
+
error:
|
54
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error::OrHash,
|
55
|
+
event_id: String,
|
56
|
+
item_id: String,
|
57
|
+
type: Symbol
|
58
|
+
).returns(T.attached_class)
|
59
|
+
end
|
60
|
+
def self.new(
|
61
|
+
# The index of the content part containing the audio.
|
62
|
+
content_index:,
|
63
|
+
# Details of the transcription error.
|
64
|
+
error:,
|
65
|
+
# The unique ID of the server event.
|
66
|
+
event_id:,
|
67
|
+
# The ID of the user message item.
|
68
|
+
item_id:,
|
69
|
+
# The event type, must be `conversation.item.input_audio_transcription.failed`.
|
70
|
+
type: :"conversation.item.input_audio_transcription.failed"
|
71
|
+
)
|
72
|
+
end
|
73
|
+
|
74
|
+
sig do
|
75
|
+
override.returns(
|
76
|
+
{
|
77
|
+
content_index: Integer,
|
78
|
+
error:
|
79
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error,
|
80
|
+
event_id: String,
|
81
|
+
item_id: String,
|
82
|
+
type: Symbol
|
83
|
+
}
|
84
|
+
)
|
85
|
+
end
|
86
|
+
def to_hash
|
87
|
+
end
|
88
|
+
|
89
|
+
class Error < OpenAI::Internal::Type::BaseModel
|
90
|
+
OrHash =
|
91
|
+
T.type_alias do
|
92
|
+
T.any(
|
93
|
+
OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error,
|
94
|
+
OpenAI::Internal::AnyHash
|
95
|
+
)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Error code, if any.
|
99
|
+
sig { returns(T.nilable(String)) }
|
100
|
+
attr_reader :code
|
101
|
+
|
102
|
+
sig { params(code: String).void }
|
103
|
+
attr_writer :code
|
104
|
+
|
105
|
+
# A human-readable error message.
|
106
|
+
sig { returns(T.nilable(String)) }
|
107
|
+
attr_reader :message
|
108
|
+
|
109
|
+
sig { params(message: String).void }
|
110
|
+
attr_writer :message
|
111
|
+
|
112
|
+
# Parameter related to the error, if any.
|
113
|
+
sig { returns(T.nilable(String)) }
|
114
|
+
attr_reader :param
|
115
|
+
|
116
|
+
sig { params(param: String).void }
|
117
|
+
attr_writer :param
|
118
|
+
|
119
|
+
# The type of error.
|
120
|
+
sig { returns(T.nilable(String)) }
|
121
|
+
attr_reader :type
|
122
|
+
|
123
|
+
sig { params(type: String).void }
|
124
|
+
attr_writer :type
|
125
|
+
|
126
|
+
# Details of the transcription error.
|
127
|
+
sig do
|
128
|
+
params(
|
129
|
+
code: String,
|
130
|
+
message: String,
|
131
|
+
param: String,
|
132
|
+
type: String
|
133
|
+
).returns(T.attached_class)
|
134
|
+
end
|
135
|
+
def self.new(
|
136
|
+
# Error code, if any.
|
137
|
+
code: nil,
|
138
|
+
# A human-readable error message.
|
139
|
+
message: nil,
|
140
|
+
# Parameter related to the error, if any.
|
141
|
+
param: nil,
|
142
|
+
# The type of error.
|
143
|
+
type: nil
|
144
|
+
)
|
145
|
+
end
|
146
|
+
|
147
|
+
sig do
|
148
|
+
override.returns(
|
149
|
+
{ code: String, message: String, param: String, type: String }
|
150
|
+
)
|
151
|
+
end
|
152
|
+
def to_hash
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|