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,49 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferCommitEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferCommitEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The event type, must be `input_audio_buffer.commit`.
|
16
|
+
sig { returns(Symbol) }
|
17
|
+
attr_accessor :type
|
18
|
+
|
19
|
+
# Optional client-generated ID used to identify this event.
|
20
|
+
sig { returns(T.nilable(String)) }
|
21
|
+
attr_reader :event_id
|
22
|
+
|
23
|
+
sig { params(event_id: String).void }
|
24
|
+
attr_writer :event_id
|
25
|
+
|
26
|
+
# Send this event to commit the user input audio buffer, which will create a new
|
27
|
+
# user message item in the conversation. This event will produce an error if the
|
28
|
+
# input audio buffer is empty. When in Server VAD mode, the client does not need
|
29
|
+
# to send this event, the server will commit the audio buffer automatically.
|
30
|
+
#
|
31
|
+
# Committing the input audio buffer will trigger input audio transcription (if
|
32
|
+
# enabled in session configuration), but it will not create a response from the
|
33
|
+
# model. The server will respond with an `input_audio_buffer.committed` event.
|
34
|
+
sig { params(event_id: String, type: Symbol).returns(T.attached_class) }
|
35
|
+
def self.new(
|
36
|
+
# Optional client-generated ID used to identify this event.
|
37
|
+
event_id: nil,
|
38
|
+
# The event type, must be `input_audio_buffer.commit`.
|
39
|
+
type: :"input_audio_buffer.commit"
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
sig { override.returns({ type: Symbol, event_id: String }) }
|
44
|
+
def to_hash
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferCommittedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferCommittedEvent,
|
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 user message item that will be created.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :item_id
|
22
|
+
|
23
|
+
# The event type, must be `input_audio_buffer.committed`.
|
24
|
+
sig { returns(Symbol) }
|
25
|
+
attr_accessor :type
|
26
|
+
|
27
|
+
# The ID of the preceding item after which the new item will be inserted. Can be
|
28
|
+
# `null` if the item has no predecessor.
|
29
|
+
sig { returns(T.nilable(String)) }
|
30
|
+
attr_accessor :previous_item_id
|
31
|
+
|
32
|
+
# Returned when an input audio buffer is committed, either by the client or
|
33
|
+
# automatically in server VAD mode. The `item_id` property is the ID of the user
|
34
|
+
# message item that will be created, thus a `conversation.item.created` event will
|
35
|
+
# also be sent to the client.
|
36
|
+
sig do
|
37
|
+
params(
|
38
|
+
event_id: String,
|
39
|
+
item_id: String,
|
40
|
+
previous_item_id: T.nilable(String),
|
41
|
+
type: Symbol
|
42
|
+
).returns(T.attached_class)
|
43
|
+
end
|
44
|
+
def self.new(
|
45
|
+
# The unique ID of the server event.
|
46
|
+
event_id:,
|
47
|
+
# The ID of the user message item that will be created.
|
48
|
+
item_id:,
|
49
|
+
# The ID of the preceding item after which the new item will be inserted. Can be
|
50
|
+
# `null` if the item has no predecessor.
|
51
|
+
previous_item_id: nil,
|
52
|
+
# The event type, must be `input_audio_buffer.committed`.
|
53
|
+
type: :"input_audio_buffer.committed"
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
sig do
|
58
|
+
override.returns(
|
59
|
+
{
|
60
|
+
event_id: String,
|
61
|
+
item_id: String,
|
62
|
+
type: Symbol,
|
63
|
+
previous_item_id: T.nilable(String)
|
64
|
+
}
|
65
|
+
)
|
66
|
+
end
|
67
|
+
def to_hash
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferSpeechStartedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferSpeechStartedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Milliseconds from the start of all audio written to the buffer during the
|
16
|
+
# session when speech was first detected. This will correspond to the beginning of
|
17
|
+
# audio sent to the model, and thus includes the `prefix_padding_ms` configured in
|
18
|
+
# the Session.
|
19
|
+
sig { returns(Integer) }
|
20
|
+
attr_accessor :audio_start_ms
|
21
|
+
|
22
|
+
# The unique ID of the server event.
|
23
|
+
sig { returns(String) }
|
24
|
+
attr_accessor :event_id
|
25
|
+
|
26
|
+
# The ID of the user message item that will be created when speech stops.
|
27
|
+
sig { returns(String) }
|
28
|
+
attr_accessor :item_id
|
29
|
+
|
30
|
+
# The event type, must be `input_audio_buffer.speech_started`.
|
31
|
+
sig { returns(Symbol) }
|
32
|
+
attr_accessor :type
|
33
|
+
|
34
|
+
# Sent by the server when in `server_vad` mode to indicate that speech has been
|
35
|
+
# detected in the audio buffer. This can happen any time audio is added to the
|
36
|
+
# buffer (unless speech is already detected). The client may want to use this
|
37
|
+
# event to interrupt audio playback or provide visual feedback to the user.
|
38
|
+
#
|
39
|
+
# The client should expect to receive a `input_audio_buffer.speech_stopped` event
|
40
|
+
# when speech stops. The `item_id` property is the ID of the user message item
|
41
|
+
# that will be created when speech stops and will also be included in the
|
42
|
+
# `input_audio_buffer.speech_stopped` event (unless the client manually commits
|
43
|
+
# the audio buffer during VAD activation).
|
44
|
+
sig do
|
45
|
+
params(
|
46
|
+
audio_start_ms: Integer,
|
47
|
+
event_id: String,
|
48
|
+
item_id: String,
|
49
|
+
type: Symbol
|
50
|
+
).returns(T.attached_class)
|
51
|
+
end
|
52
|
+
def self.new(
|
53
|
+
# Milliseconds from the start of all audio written to the buffer during the
|
54
|
+
# session when speech was first detected. This will correspond to the beginning of
|
55
|
+
# audio sent to the model, and thus includes the `prefix_padding_ms` configured in
|
56
|
+
# the Session.
|
57
|
+
audio_start_ms:,
|
58
|
+
# The unique ID of the server event.
|
59
|
+
event_id:,
|
60
|
+
# The ID of the user message item that will be created when speech stops.
|
61
|
+
item_id:,
|
62
|
+
# The event type, must be `input_audio_buffer.speech_started`.
|
63
|
+
type: :"input_audio_buffer.speech_started"
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
sig do
|
68
|
+
override.returns(
|
69
|
+
{
|
70
|
+
audio_start_ms: Integer,
|
71
|
+
event_id: String,
|
72
|
+
item_id: String,
|
73
|
+
type: Symbol
|
74
|
+
}
|
75
|
+
)
|
76
|
+
end
|
77
|
+
def to_hash
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferSpeechStoppedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferSpeechStoppedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Milliseconds since the session started when speech stopped. This will correspond
|
16
|
+
# to the end of audio sent to the model, and thus includes the
|
17
|
+
# `min_silence_duration_ms` configured in the Session.
|
18
|
+
sig { returns(Integer) }
|
19
|
+
attr_accessor :audio_end_ms
|
20
|
+
|
21
|
+
# The unique ID of the server event.
|
22
|
+
sig { returns(String) }
|
23
|
+
attr_accessor :event_id
|
24
|
+
|
25
|
+
# The ID of the user message item that will be created.
|
26
|
+
sig { returns(String) }
|
27
|
+
attr_accessor :item_id
|
28
|
+
|
29
|
+
# The event type, must be `input_audio_buffer.speech_stopped`.
|
30
|
+
sig { returns(Symbol) }
|
31
|
+
attr_accessor :type
|
32
|
+
|
33
|
+
# Returned in `server_vad` mode when the server detects the end of speech in the
|
34
|
+
# audio buffer. The server will also send an `conversation.item.created` event
|
35
|
+
# with the user message item that is created from the audio buffer.
|
36
|
+
sig do
|
37
|
+
params(
|
38
|
+
audio_end_ms: Integer,
|
39
|
+
event_id: String,
|
40
|
+
item_id: String,
|
41
|
+
type: Symbol
|
42
|
+
).returns(T.attached_class)
|
43
|
+
end
|
44
|
+
def self.new(
|
45
|
+
# Milliseconds since the session started when speech stopped. This will correspond
|
46
|
+
# to the end of audio sent to the model, and thus includes the
|
47
|
+
# `min_silence_duration_ms` configured in the Session.
|
48
|
+
audio_end_ms:,
|
49
|
+
# The unique ID of the server event.
|
50
|
+
event_id:,
|
51
|
+
# The ID of the user message item that will be created.
|
52
|
+
item_id:,
|
53
|
+
# The event type, must be `input_audio_buffer.speech_stopped`.
|
54
|
+
type: :"input_audio_buffer.speech_stopped"
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
sig do
|
59
|
+
override.returns(
|
60
|
+
{
|
61
|
+
audio_end_ms: Integer,
|
62
|
+
event_id: String,
|
63
|
+
item_id: String,
|
64
|
+
type: Symbol
|
65
|
+
}
|
66
|
+
)
|
67
|
+
end
|
68
|
+
def to_hash
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferTimeoutTriggered < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferTimeoutTriggered,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Millisecond offset where speech ended within the buffered audio.
|
16
|
+
sig { returns(Integer) }
|
17
|
+
attr_accessor :audio_end_ms
|
18
|
+
|
19
|
+
# Millisecond offset where speech started within the buffered audio.
|
20
|
+
sig { returns(Integer) }
|
21
|
+
attr_accessor :audio_start_ms
|
22
|
+
|
23
|
+
# The unique ID of the server event.
|
24
|
+
sig { returns(String) }
|
25
|
+
attr_accessor :event_id
|
26
|
+
|
27
|
+
# The ID of the item associated with this segment.
|
28
|
+
sig { returns(String) }
|
29
|
+
attr_accessor :item_id
|
30
|
+
|
31
|
+
# The event type, must be `input_audio_buffer.timeout_triggered`.
|
32
|
+
sig { returns(Symbol) }
|
33
|
+
attr_accessor :type
|
34
|
+
|
35
|
+
# Returned when the server VAD timeout is triggered for the input audio buffer.
|
36
|
+
sig do
|
37
|
+
params(
|
38
|
+
audio_end_ms: Integer,
|
39
|
+
audio_start_ms: Integer,
|
40
|
+
event_id: String,
|
41
|
+
item_id: String,
|
42
|
+
type: Symbol
|
43
|
+
).returns(T.attached_class)
|
44
|
+
end
|
45
|
+
def self.new(
|
46
|
+
# Millisecond offset where speech ended within the buffered audio.
|
47
|
+
audio_end_ms:,
|
48
|
+
# Millisecond offset where speech started within the buffered audio.
|
49
|
+
audio_start_ms:,
|
50
|
+
# The unique ID of the server event.
|
51
|
+
event_id:,
|
52
|
+
# The ID of the item associated with this segment.
|
53
|
+
item_id:,
|
54
|
+
# The event type, must be `input_audio_buffer.timeout_triggered`.
|
55
|
+
type: :"input_audio_buffer.timeout_triggered"
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
sig do
|
60
|
+
override.returns(
|
61
|
+
{
|
62
|
+
audio_end_ms: Integer,
|
63
|
+
audio_start_ms: Integer,
|
64
|
+
event_id: String,
|
65
|
+
item_id: String,
|
66
|
+
type: Symbol
|
67
|
+
}
|
68
|
+
)
|
69
|
+
end
|
70
|
+
def to_hash
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class LogProbProperties < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::LogProbProperties,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The token that was used to generate the log probability.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :token
|
18
|
+
|
19
|
+
# The bytes that were used to generate the log probability.
|
20
|
+
sig { returns(T::Array[Integer]) }
|
21
|
+
attr_accessor :bytes
|
22
|
+
|
23
|
+
# The log probability of the token.
|
24
|
+
sig { returns(Float) }
|
25
|
+
attr_accessor :logprob
|
26
|
+
|
27
|
+
# A log probability object.
|
28
|
+
sig do
|
29
|
+
params(
|
30
|
+
token: String,
|
31
|
+
bytes: T::Array[Integer],
|
32
|
+
logprob: Float
|
33
|
+
).returns(T.attached_class)
|
34
|
+
end
|
35
|
+
def self.new(
|
36
|
+
# The token that was used to generate the log probability.
|
37
|
+
token:,
|
38
|
+
# The bytes that were used to generate the log probability.
|
39
|
+
bytes:,
|
40
|
+
# The log probability of the token.
|
41
|
+
logprob:
|
42
|
+
)
|
43
|
+
end
|
44
|
+
|
45
|
+
sig do
|
46
|
+
override.returns(
|
47
|
+
{ token: String, bytes: T::Array[Integer], logprob: Float }
|
48
|
+
)
|
49
|
+
end
|
50
|
+
def to_hash
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class McpListToolsCompleted < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::McpListToolsCompleted,
|
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 MCP list tools item.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :item_id
|
22
|
+
|
23
|
+
# The event type, must be `mcp_list_tools.completed`.
|
24
|
+
sig { returns(Symbol) }
|
25
|
+
attr_accessor :type
|
26
|
+
|
27
|
+
# Returned when listing MCP tools has completed for an item.
|
28
|
+
sig do
|
29
|
+
params(event_id: String, item_id: String, type: Symbol).returns(
|
30
|
+
T.attached_class
|
31
|
+
)
|
32
|
+
end
|
33
|
+
def self.new(
|
34
|
+
# The unique ID of the server event.
|
35
|
+
event_id:,
|
36
|
+
# The ID of the MCP list tools item.
|
37
|
+
item_id:,
|
38
|
+
# The event type, must be `mcp_list_tools.completed`.
|
39
|
+
type: :"mcp_list_tools.completed"
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
sig do
|
44
|
+
override.returns({ event_id: String, item_id: String, type: Symbol })
|
45
|
+
end
|
46
|
+
def to_hash
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class McpListToolsFailed < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::McpListToolsFailed,
|
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 MCP list tools item.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :item_id
|
22
|
+
|
23
|
+
# The event type, must be `mcp_list_tools.failed`.
|
24
|
+
sig { returns(Symbol) }
|
25
|
+
attr_accessor :type
|
26
|
+
|
27
|
+
# Returned when listing MCP tools has failed for an item.
|
28
|
+
sig do
|
29
|
+
params(event_id: String, item_id: String, type: Symbol).returns(
|
30
|
+
T.attached_class
|
31
|
+
)
|
32
|
+
end
|
33
|
+
def self.new(
|
34
|
+
# The unique ID of the server event.
|
35
|
+
event_id:,
|
36
|
+
# The ID of the MCP list tools item.
|
37
|
+
item_id:,
|
38
|
+
# The event type, must be `mcp_list_tools.failed`.
|
39
|
+
type: :"mcp_list_tools.failed"
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
sig do
|
44
|
+
override.returns({ event_id: String, item_id: String, type: Symbol })
|
45
|
+
end
|
46
|
+
def to_hash
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class McpListToolsInProgress < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::McpListToolsInProgress,
|
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 MCP list tools item.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :item_id
|
22
|
+
|
23
|
+
# The event type, must be `mcp_list_tools.in_progress`.
|
24
|
+
sig { returns(Symbol) }
|
25
|
+
attr_accessor :type
|
26
|
+
|
27
|
+
# Returned when listing MCP tools is in progress for an item.
|
28
|
+
sig do
|
29
|
+
params(event_id: String, item_id: String, type: Symbol).returns(
|
30
|
+
T.attached_class
|
31
|
+
)
|
32
|
+
end
|
33
|
+
def self.new(
|
34
|
+
# The unique ID of the server event.
|
35
|
+
event_id:,
|
36
|
+
# The ID of the MCP list tools item.
|
37
|
+
item_id:,
|
38
|
+
# The event type, must be `mcp_list_tools.in_progress`.
|
39
|
+
type: :"mcp_list_tools.in_progress"
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
sig do
|
44
|
+
override.returns({ event_id: String, item_id: String, type: Symbol })
|
45
|
+
end
|
46
|
+
def to_hash
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class OutputAudioBufferClearEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::OutputAudioBufferClearEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The event type, must be `output_audio_buffer.clear`.
|
16
|
+
sig { returns(Symbol) }
|
17
|
+
attr_accessor :type
|
18
|
+
|
19
|
+
# The unique ID of the client event used for error handling.
|
20
|
+
sig { returns(T.nilable(String)) }
|
21
|
+
attr_reader :event_id
|
22
|
+
|
23
|
+
sig { params(event_id: String).void }
|
24
|
+
attr_writer :event_id
|
25
|
+
|
26
|
+
# **WebRTC Only:** Emit to cut off the current audio response. This will trigger
|
27
|
+
# the server to stop generating audio and emit a `output_audio_buffer.cleared`
|
28
|
+
# event. This event should be preceded by a `response.cancel` client event to stop
|
29
|
+
# the generation of the current response.
|
30
|
+
# [Learn more](https://platform.openai.com/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc).
|
31
|
+
sig { params(event_id: String, type: Symbol).returns(T.attached_class) }
|
32
|
+
def self.new(
|
33
|
+
# The unique ID of the client event used for error handling.
|
34
|
+
event_id: nil,
|
35
|
+
# The event type, must be `output_audio_buffer.clear`.
|
36
|
+
type: :"output_audio_buffer.clear"
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
sig { override.returns({ type: Symbol, event_id: String }) }
|
41
|
+
def to_hash
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|