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,549 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemWithReference < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemWithReference,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# For an item of type (`message` | `function_call` | `function_call_output`) this
|
16
|
+
# field allows the client to assign the unique ID of the item. It is not required
|
17
|
+
# because the server will generate one if not provided.
|
18
|
+
#
|
19
|
+
# For an item of type `item_reference`, this field is required and is a reference
|
20
|
+
# to any item that has previously existed in the conversation.
|
21
|
+
sig { returns(T.nilable(String)) }
|
22
|
+
attr_reader :id
|
23
|
+
|
24
|
+
sig { params(id: String).void }
|
25
|
+
attr_writer :id
|
26
|
+
|
27
|
+
# The arguments of the function call (for `function_call` items).
|
28
|
+
sig { returns(T.nilable(String)) }
|
29
|
+
attr_reader :arguments
|
30
|
+
|
31
|
+
sig { params(arguments: String).void }
|
32
|
+
attr_writer :arguments
|
33
|
+
|
34
|
+
# The ID of the function call (for `function_call` and `function_call_output`
|
35
|
+
# items). If passed on a `function_call_output` item, the server will check that a
|
36
|
+
# `function_call` item with the same ID exists in the conversation history.
|
37
|
+
sig { returns(T.nilable(String)) }
|
38
|
+
attr_reader :call_id
|
39
|
+
|
40
|
+
sig { params(call_id: String).void }
|
41
|
+
attr_writer :call_id
|
42
|
+
|
43
|
+
# The content of the message, applicable for `message` items.
|
44
|
+
#
|
45
|
+
# - Message items of role `system` support only `input_text` content
|
46
|
+
# - Message items of role `user` support `input_text` and `input_audio` content
|
47
|
+
# - Message items of role `assistant` support `text` content.
|
48
|
+
sig do
|
49
|
+
returns(
|
50
|
+
T.nilable(
|
51
|
+
T::Array[OpenAI::Realtime::ConversationItemWithReference::Content]
|
52
|
+
)
|
53
|
+
)
|
54
|
+
end
|
55
|
+
attr_reader :content
|
56
|
+
|
57
|
+
sig do
|
58
|
+
params(
|
59
|
+
content:
|
60
|
+
T::Array[
|
61
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::OrHash
|
62
|
+
]
|
63
|
+
).void
|
64
|
+
end
|
65
|
+
attr_writer :content
|
66
|
+
|
67
|
+
# The name of the function being called (for `function_call` items).
|
68
|
+
sig { returns(T.nilable(String)) }
|
69
|
+
attr_reader :name
|
70
|
+
|
71
|
+
sig { params(name: String).void }
|
72
|
+
attr_writer :name
|
73
|
+
|
74
|
+
# Identifier for the API object being returned - always `realtime.item`.
|
75
|
+
sig do
|
76
|
+
returns(
|
77
|
+
T.nilable(
|
78
|
+
OpenAI::Realtime::ConversationItemWithReference::Object::OrSymbol
|
79
|
+
)
|
80
|
+
)
|
81
|
+
end
|
82
|
+
attr_reader :object
|
83
|
+
|
84
|
+
sig do
|
85
|
+
params(
|
86
|
+
object:
|
87
|
+
OpenAI::Realtime::ConversationItemWithReference::Object::OrSymbol
|
88
|
+
).void
|
89
|
+
end
|
90
|
+
attr_writer :object
|
91
|
+
|
92
|
+
# The output of the function call (for `function_call_output` items).
|
93
|
+
sig { returns(T.nilable(String)) }
|
94
|
+
attr_reader :output
|
95
|
+
|
96
|
+
sig { params(output: String).void }
|
97
|
+
attr_writer :output
|
98
|
+
|
99
|
+
# The role of the message sender (`user`, `assistant`, `system`), only applicable
|
100
|
+
# for `message` items.
|
101
|
+
sig do
|
102
|
+
returns(
|
103
|
+
T.nilable(
|
104
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::OrSymbol
|
105
|
+
)
|
106
|
+
)
|
107
|
+
end
|
108
|
+
attr_reader :role
|
109
|
+
|
110
|
+
sig do
|
111
|
+
params(
|
112
|
+
role:
|
113
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::OrSymbol
|
114
|
+
).void
|
115
|
+
end
|
116
|
+
attr_writer :role
|
117
|
+
|
118
|
+
# The status of the item (`completed`, `incomplete`, `in_progress`). These have no
|
119
|
+
# effect on the conversation, but are accepted for consistency with the
|
120
|
+
# `conversation.item.created` event.
|
121
|
+
sig do
|
122
|
+
returns(
|
123
|
+
T.nilable(
|
124
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::OrSymbol
|
125
|
+
)
|
126
|
+
)
|
127
|
+
end
|
128
|
+
attr_reader :status
|
129
|
+
|
130
|
+
sig do
|
131
|
+
params(
|
132
|
+
status:
|
133
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::OrSymbol
|
134
|
+
).void
|
135
|
+
end
|
136
|
+
attr_writer :status
|
137
|
+
|
138
|
+
# The type of the item (`message`, `function_call`, `function_call_output`,
|
139
|
+
# `item_reference`).
|
140
|
+
sig do
|
141
|
+
returns(
|
142
|
+
T.nilable(
|
143
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::OrSymbol
|
144
|
+
)
|
145
|
+
)
|
146
|
+
end
|
147
|
+
attr_reader :type
|
148
|
+
|
149
|
+
sig do
|
150
|
+
params(
|
151
|
+
type:
|
152
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::OrSymbol
|
153
|
+
).void
|
154
|
+
end
|
155
|
+
attr_writer :type
|
156
|
+
|
157
|
+
# The item to add to the conversation.
|
158
|
+
sig do
|
159
|
+
params(
|
160
|
+
id: String,
|
161
|
+
arguments: String,
|
162
|
+
call_id: String,
|
163
|
+
content:
|
164
|
+
T::Array[
|
165
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::OrHash
|
166
|
+
],
|
167
|
+
name: String,
|
168
|
+
object:
|
169
|
+
OpenAI::Realtime::ConversationItemWithReference::Object::OrSymbol,
|
170
|
+
output: String,
|
171
|
+
role:
|
172
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::OrSymbol,
|
173
|
+
status:
|
174
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::OrSymbol,
|
175
|
+
type:
|
176
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::OrSymbol
|
177
|
+
).returns(T.attached_class)
|
178
|
+
end
|
179
|
+
def self.new(
|
180
|
+
# For an item of type (`message` | `function_call` | `function_call_output`) this
|
181
|
+
# field allows the client to assign the unique ID of the item. It is not required
|
182
|
+
# because the server will generate one if not provided.
|
183
|
+
#
|
184
|
+
# For an item of type `item_reference`, this field is required and is a reference
|
185
|
+
# to any item that has previously existed in the conversation.
|
186
|
+
id: nil,
|
187
|
+
# The arguments of the function call (for `function_call` items).
|
188
|
+
arguments: nil,
|
189
|
+
# The ID of the function call (for `function_call` and `function_call_output`
|
190
|
+
# items). If passed on a `function_call_output` item, the server will check that a
|
191
|
+
# `function_call` item with the same ID exists in the conversation history.
|
192
|
+
call_id: nil,
|
193
|
+
# The content of the message, applicable for `message` items.
|
194
|
+
#
|
195
|
+
# - Message items of role `system` support only `input_text` content
|
196
|
+
# - Message items of role `user` support `input_text` and `input_audio` content
|
197
|
+
# - Message items of role `assistant` support `text` content.
|
198
|
+
content: nil,
|
199
|
+
# The name of the function being called (for `function_call` items).
|
200
|
+
name: nil,
|
201
|
+
# Identifier for the API object being returned - always `realtime.item`.
|
202
|
+
object: nil,
|
203
|
+
# The output of the function call (for `function_call_output` items).
|
204
|
+
output: nil,
|
205
|
+
# The role of the message sender (`user`, `assistant`, `system`), only applicable
|
206
|
+
# for `message` items.
|
207
|
+
role: nil,
|
208
|
+
# The status of the item (`completed`, `incomplete`, `in_progress`). These have no
|
209
|
+
# effect on the conversation, but are accepted for consistency with the
|
210
|
+
# `conversation.item.created` event.
|
211
|
+
status: nil,
|
212
|
+
# The type of the item (`message`, `function_call`, `function_call_output`,
|
213
|
+
# `item_reference`).
|
214
|
+
type: nil
|
215
|
+
)
|
216
|
+
end
|
217
|
+
|
218
|
+
sig do
|
219
|
+
override.returns(
|
220
|
+
{
|
221
|
+
id: String,
|
222
|
+
arguments: String,
|
223
|
+
call_id: String,
|
224
|
+
content:
|
225
|
+
T::Array[
|
226
|
+
OpenAI::Realtime::ConversationItemWithReference::Content
|
227
|
+
],
|
228
|
+
name: String,
|
229
|
+
object:
|
230
|
+
OpenAI::Realtime::ConversationItemWithReference::Object::OrSymbol,
|
231
|
+
output: String,
|
232
|
+
role:
|
233
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::OrSymbol,
|
234
|
+
status:
|
235
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::OrSymbol,
|
236
|
+
type:
|
237
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::OrSymbol
|
238
|
+
}
|
239
|
+
)
|
240
|
+
end
|
241
|
+
def to_hash
|
242
|
+
end
|
243
|
+
|
244
|
+
class Content < OpenAI::Internal::Type::BaseModel
|
245
|
+
OrHash =
|
246
|
+
T.type_alias do
|
247
|
+
T.any(
|
248
|
+
OpenAI::Realtime::ConversationItemWithReference::Content,
|
249
|
+
OpenAI::Internal::AnyHash
|
250
|
+
)
|
251
|
+
end
|
252
|
+
|
253
|
+
# ID of a previous conversation item to reference (for `item_reference` content
|
254
|
+
# types in `response.create` events). These can reference both client and server
|
255
|
+
# created items.
|
256
|
+
sig { returns(T.nilable(String)) }
|
257
|
+
attr_reader :id
|
258
|
+
|
259
|
+
sig { params(id: String).void }
|
260
|
+
attr_writer :id
|
261
|
+
|
262
|
+
# Base64-encoded audio bytes, used for `input_audio` content type.
|
263
|
+
sig { returns(T.nilable(String)) }
|
264
|
+
attr_reader :audio
|
265
|
+
|
266
|
+
sig { params(audio: String).void }
|
267
|
+
attr_writer :audio
|
268
|
+
|
269
|
+
# The text content, used for `input_text` and `text` content types.
|
270
|
+
sig { returns(T.nilable(String)) }
|
271
|
+
attr_reader :text
|
272
|
+
|
273
|
+
sig { params(text: String).void }
|
274
|
+
attr_writer :text
|
275
|
+
|
276
|
+
# The transcript of the audio, used for `input_audio` content type.
|
277
|
+
sig { returns(T.nilable(String)) }
|
278
|
+
attr_reader :transcript
|
279
|
+
|
280
|
+
sig { params(transcript: String).void }
|
281
|
+
attr_writer :transcript
|
282
|
+
|
283
|
+
# The content type (`input_text`, `input_audio`, `item_reference`, `text`).
|
284
|
+
sig do
|
285
|
+
returns(
|
286
|
+
T.nilable(
|
287
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::OrSymbol
|
288
|
+
)
|
289
|
+
)
|
290
|
+
end
|
291
|
+
attr_reader :type
|
292
|
+
|
293
|
+
sig do
|
294
|
+
params(
|
295
|
+
type:
|
296
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::OrSymbol
|
297
|
+
).void
|
298
|
+
end
|
299
|
+
attr_writer :type
|
300
|
+
|
301
|
+
sig do
|
302
|
+
params(
|
303
|
+
id: String,
|
304
|
+
audio: String,
|
305
|
+
text: String,
|
306
|
+
transcript: String,
|
307
|
+
type:
|
308
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::OrSymbol
|
309
|
+
).returns(T.attached_class)
|
310
|
+
end
|
311
|
+
def self.new(
|
312
|
+
# ID of a previous conversation item to reference (for `item_reference` content
|
313
|
+
# types in `response.create` events). These can reference both client and server
|
314
|
+
# created items.
|
315
|
+
id: nil,
|
316
|
+
# Base64-encoded audio bytes, used for `input_audio` content type.
|
317
|
+
audio: nil,
|
318
|
+
# The text content, used for `input_text` and `text` content types.
|
319
|
+
text: nil,
|
320
|
+
# The transcript of the audio, used for `input_audio` content type.
|
321
|
+
transcript: nil,
|
322
|
+
# The content type (`input_text`, `input_audio`, `item_reference`, `text`).
|
323
|
+
type: nil
|
324
|
+
)
|
325
|
+
end
|
326
|
+
|
327
|
+
sig do
|
328
|
+
override.returns(
|
329
|
+
{
|
330
|
+
id: String,
|
331
|
+
audio: String,
|
332
|
+
text: String,
|
333
|
+
transcript: String,
|
334
|
+
type:
|
335
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::OrSymbol
|
336
|
+
}
|
337
|
+
)
|
338
|
+
end
|
339
|
+
def to_hash
|
340
|
+
end
|
341
|
+
|
342
|
+
# The content type (`input_text`, `input_audio`, `item_reference`, `text`).
|
343
|
+
module Type
|
344
|
+
extend OpenAI::Internal::Type::Enum
|
345
|
+
|
346
|
+
TaggedSymbol =
|
347
|
+
T.type_alias do
|
348
|
+
T.all(
|
349
|
+
Symbol,
|
350
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type
|
351
|
+
)
|
352
|
+
end
|
353
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
354
|
+
|
355
|
+
INPUT_TEXT =
|
356
|
+
T.let(
|
357
|
+
:input_text,
|
358
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::TaggedSymbol
|
359
|
+
)
|
360
|
+
INPUT_AUDIO =
|
361
|
+
T.let(
|
362
|
+
:input_audio,
|
363
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::TaggedSymbol
|
364
|
+
)
|
365
|
+
ITEM_REFERENCE =
|
366
|
+
T.let(
|
367
|
+
:item_reference,
|
368
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::TaggedSymbol
|
369
|
+
)
|
370
|
+
TEXT =
|
371
|
+
T.let(
|
372
|
+
:text,
|
373
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::TaggedSymbol
|
374
|
+
)
|
375
|
+
|
376
|
+
sig do
|
377
|
+
override.returns(
|
378
|
+
T::Array[
|
379
|
+
OpenAI::Realtime::ConversationItemWithReference::Content::Type::TaggedSymbol
|
380
|
+
]
|
381
|
+
)
|
382
|
+
end
|
383
|
+
def self.values
|
384
|
+
end
|
385
|
+
end
|
386
|
+
end
|
387
|
+
|
388
|
+
# Identifier for the API object being returned - always `realtime.item`.
|
389
|
+
module Object
|
390
|
+
extend OpenAI::Internal::Type::Enum
|
391
|
+
|
392
|
+
TaggedSymbol =
|
393
|
+
T.type_alias do
|
394
|
+
T.all(
|
395
|
+
Symbol,
|
396
|
+
OpenAI::Realtime::ConversationItemWithReference::Object
|
397
|
+
)
|
398
|
+
end
|
399
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
400
|
+
|
401
|
+
REALTIME_ITEM =
|
402
|
+
T.let(
|
403
|
+
:"realtime.item",
|
404
|
+
OpenAI::Realtime::ConversationItemWithReference::Object::TaggedSymbol
|
405
|
+
)
|
406
|
+
|
407
|
+
sig do
|
408
|
+
override.returns(
|
409
|
+
T::Array[
|
410
|
+
OpenAI::Realtime::ConversationItemWithReference::Object::TaggedSymbol
|
411
|
+
]
|
412
|
+
)
|
413
|
+
end
|
414
|
+
def self.values
|
415
|
+
end
|
416
|
+
end
|
417
|
+
|
418
|
+
# The role of the message sender (`user`, `assistant`, `system`), only applicable
|
419
|
+
# for `message` items.
|
420
|
+
module Role
|
421
|
+
extend OpenAI::Internal::Type::Enum
|
422
|
+
|
423
|
+
TaggedSymbol =
|
424
|
+
T.type_alias do
|
425
|
+
T.all(
|
426
|
+
Symbol,
|
427
|
+
OpenAI::Realtime::ConversationItemWithReference::Role
|
428
|
+
)
|
429
|
+
end
|
430
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
431
|
+
|
432
|
+
USER =
|
433
|
+
T.let(
|
434
|
+
:user,
|
435
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::TaggedSymbol
|
436
|
+
)
|
437
|
+
ASSISTANT =
|
438
|
+
T.let(
|
439
|
+
:assistant,
|
440
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::TaggedSymbol
|
441
|
+
)
|
442
|
+
SYSTEM =
|
443
|
+
T.let(
|
444
|
+
:system,
|
445
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::TaggedSymbol
|
446
|
+
)
|
447
|
+
|
448
|
+
sig do
|
449
|
+
override.returns(
|
450
|
+
T::Array[
|
451
|
+
OpenAI::Realtime::ConversationItemWithReference::Role::TaggedSymbol
|
452
|
+
]
|
453
|
+
)
|
454
|
+
end
|
455
|
+
def self.values
|
456
|
+
end
|
457
|
+
end
|
458
|
+
|
459
|
+
# The status of the item (`completed`, `incomplete`, `in_progress`). These have no
|
460
|
+
# effect on the conversation, but are accepted for consistency with the
|
461
|
+
# `conversation.item.created` event.
|
462
|
+
module Status
|
463
|
+
extend OpenAI::Internal::Type::Enum
|
464
|
+
|
465
|
+
TaggedSymbol =
|
466
|
+
T.type_alias do
|
467
|
+
T.all(
|
468
|
+
Symbol,
|
469
|
+
OpenAI::Realtime::ConversationItemWithReference::Status
|
470
|
+
)
|
471
|
+
end
|
472
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
473
|
+
|
474
|
+
COMPLETED =
|
475
|
+
T.let(
|
476
|
+
:completed,
|
477
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::TaggedSymbol
|
478
|
+
)
|
479
|
+
INCOMPLETE =
|
480
|
+
T.let(
|
481
|
+
:incomplete,
|
482
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::TaggedSymbol
|
483
|
+
)
|
484
|
+
IN_PROGRESS =
|
485
|
+
T.let(
|
486
|
+
:in_progress,
|
487
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::TaggedSymbol
|
488
|
+
)
|
489
|
+
|
490
|
+
sig do
|
491
|
+
override.returns(
|
492
|
+
T::Array[
|
493
|
+
OpenAI::Realtime::ConversationItemWithReference::Status::TaggedSymbol
|
494
|
+
]
|
495
|
+
)
|
496
|
+
end
|
497
|
+
def self.values
|
498
|
+
end
|
499
|
+
end
|
500
|
+
|
501
|
+
# The type of the item (`message`, `function_call`, `function_call_output`,
|
502
|
+
# `item_reference`).
|
503
|
+
module Type
|
504
|
+
extend OpenAI::Internal::Type::Enum
|
505
|
+
|
506
|
+
TaggedSymbol =
|
507
|
+
T.type_alias do
|
508
|
+
T.all(
|
509
|
+
Symbol,
|
510
|
+
OpenAI::Realtime::ConversationItemWithReference::Type
|
511
|
+
)
|
512
|
+
end
|
513
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
514
|
+
|
515
|
+
MESSAGE =
|
516
|
+
T.let(
|
517
|
+
:message,
|
518
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::TaggedSymbol
|
519
|
+
)
|
520
|
+
FUNCTION_CALL =
|
521
|
+
T.let(
|
522
|
+
:function_call,
|
523
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::TaggedSymbol
|
524
|
+
)
|
525
|
+
FUNCTION_CALL_OUTPUT =
|
526
|
+
T.let(
|
527
|
+
:function_call_output,
|
528
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::TaggedSymbol
|
529
|
+
)
|
530
|
+
ITEM_REFERENCE =
|
531
|
+
T.let(
|
532
|
+
:item_reference,
|
533
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::TaggedSymbol
|
534
|
+
)
|
535
|
+
|
536
|
+
sig do
|
537
|
+
override.returns(
|
538
|
+
T::Array[
|
539
|
+
OpenAI::Realtime::ConversationItemWithReference::Type::TaggedSymbol
|
540
|
+
]
|
541
|
+
)
|
542
|
+
end
|
543
|
+
def self.values
|
544
|
+
end
|
545
|
+
end
|
546
|
+
end
|
547
|
+
end
|
548
|
+
end
|
549
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferAppendEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferAppendEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Base64-encoded audio bytes. This must be in the format specified by the
|
16
|
+
# `input_audio_format` field in the session configuration.
|
17
|
+
sig { returns(String) }
|
18
|
+
attr_accessor :audio
|
19
|
+
|
20
|
+
# The event type, must be `input_audio_buffer.append`.
|
21
|
+
sig { returns(Symbol) }
|
22
|
+
attr_accessor :type
|
23
|
+
|
24
|
+
# Optional client-generated ID used to identify this event.
|
25
|
+
sig { returns(T.nilable(String)) }
|
26
|
+
attr_reader :event_id
|
27
|
+
|
28
|
+
sig { params(event_id: String).void }
|
29
|
+
attr_writer :event_id
|
30
|
+
|
31
|
+
# Send this event to append audio bytes to the input audio buffer. The audio
|
32
|
+
# buffer is temporary storage you can write to and later commit. In Server VAD
|
33
|
+
# mode, the audio buffer is used to detect speech and the server will decide when
|
34
|
+
# to commit. When Server VAD is disabled, you must commit the audio buffer
|
35
|
+
# manually.
|
36
|
+
#
|
37
|
+
# The client may choose how much audio to place in each event up to a maximum of
|
38
|
+
# 15 MiB, for example streaming smaller chunks from the client may allow the VAD
|
39
|
+
# to be more responsive. Unlike made other client events, the server will not send
|
40
|
+
# a confirmation response to this event.
|
41
|
+
sig do
|
42
|
+
params(audio: String, event_id: String, type: Symbol).returns(
|
43
|
+
T.attached_class
|
44
|
+
)
|
45
|
+
end
|
46
|
+
def self.new(
|
47
|
+
# Base64-encoded audio bytes. This must be in the format specified by the
|
48
|
+
# `input_audio_format` field in the session configuration.
|
49
|
+
audio:,
|
50
|
+
# Optional client-generated ID used to identify this event.
|
51
|
+
event_id: nil,
|
52
|
+
# The event type, must be `input_audio_buffer.append`.
|
53
|
+
type: :"input_audio_buffer.append"
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
sig do
|
58
|
+
override.returns({ audio: String, type: Symbol, event_id: String })
|
59
|
+
end
|
60
|
+
def to_hash
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferClearEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferClearEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The event type, must be `input_audio_buffer.clear`.
|
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 clear the audio bytes in the buffer. The server will respond
|
27
|
+
# with an `input_audio_buffer.cleared` event.
|
28
|
+
sig { params(event_id: String, type: Symbol).returns(T.attached_class) }
|
29
|
+
def self.new(
|
30
|
+
# Optional client-generated ID used to identify this event.
|
31
|
+
event_id: nil,
|
32
|
+
# The event type, must be `input_audio_buffer.clear`.
|
33
|
+
type: :"input_audio_buffer.clear"
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
sig { override.returns({ type: Symbol, event_id: String }) }
|
38
|
+
def to_hash
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class InputAudioBufferClearedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::InputAudioBufferClearedEvent,
|
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 event type, must be `input_audio_buffer.cleared`.
|
20
|
+
sig { returns(Symbol) }
|
21
|
+
attr_accessor :type
|
22
|
+
|
23
|
+
# Returned when the input audio buffer is cleared by the client with a
|
24
|
+
# `input_audio_buffer.clear` event.
|
25
|
+
sig { params(event_id: String, type: Symbol).returns(T.attached_class) }
|
26
|
+
def self.new(
|
27
|
+
# The unique ID of the server event.
|
28
|
+
event_id:,
|
29
|
+
# The event type, must be `input_audio_buffer.cleared`.
|
30
|
+
type: :"input_audio_buffer.cleared"
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
sig { override.returns({ event_id: String, type: Symbol }) }
|
35
|
+
def to_hash
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|