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