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
@@ -36,6 +36,8 @@ module OpenAI
|
|
36
36
|
# Specify additional output data to include in the model response. Currently
|
37
37
|
# supported values are:
|
38
38
|
#
|
39
|
+
# - `web_search_call.action.sources`: Include the sources of the web search tool
|
40
|
+
# call.
|
39
41
|
# - `code_interpreter_call.outputs`: Includes the outputs of python code execution
|
40
42
|
# in code interpreter tool call items.
|
41
43
|
# - `computer_call_output.output.image_url`: Include image urls from the computer
|
@@ -302,7 +304,7 @@ module OpenAI
|
|
302
304
|
# An array of tools the model may call while generating a response. You can
|
303
305
|
# specify which tool to use by setting the `tool_choice` parameter.
|
304
306
|
#
|
305
|
-
#
|
307
|
+
# We support the following categories of tools:
|
306
308
|
#
|
307
309
|
# - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
|
308
310
|
# capabilities, like
|
@@ -310,6 +312,9 @@ module OpenAI
|
|
310
312
|
# [file search](https://platform.openai.com/docs/guides/tools-file-search).
|
311
313
|
# Learn more about
|
312
314
|
# [built-in tools](https://platform.openai.com/docs/guides/tools).
|
315
|
+
# - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
|
316
|
+
# predefined connectors such as Google Drive and Notion. Learn more about
|
317
|
+
# [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
|
313
318
|
# - **Function calls (custom tools)**: Functions that are defined by you, enabling
|
314
319
|
# the model to call your own code with strongly typed arguments and outputs.
|
315
320
|
# Learn more about
|
@@ -328,7 +333,8 @@ module OpenAI
|
|
328
333
|
OpenAI::Responses::Tool::ImageGeneration,
|
329
334
|
OpenAI::Responses::Tool::LocalShell,
|
330
335
|
OpenAI::Responses::CustomTool,
|
331
|
-
OpenAI::Responses::WebSearchTool
|
336
|
+
OpenAI::Responses::WebSearchTool,
|
337
|
+
OpenAI::Responses::WebSearchPreviewTool
|
332
338
|
)
|
333
339
|
]
|
334
340
|
)
|
@@ -349,7 +355,8 @@ module OpenAI
|
|
349
355
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
350
356
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
351
357
|
OpenAI::Responses::CustomTool::OrHash,
|
352
|
-
OpenAI::Responses::WebSearchTool::OrHash
|
358
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
359
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
353
360
|
)
|
354
361
|
]
|
355
362
|
).void
|
@@ -458,7 +465,8 @@ module OpenAI
|
|
458
465
|
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
459
466
|
OpenAI::Responses::Tool::LocalShell::OrHash,
|
460
467
|
OpenAI::Responses::CustomTool::OrHash,
|
461
|
-
OpenAI::Responses::WebSearchTool::OrHash
|
468
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
469
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
462
470
|
)
|
463
471
|
],
|
464
472
|
top_logprobs: T.nilable(Integer),
|
@@ -483,6 +491,8 @@ module OpenAI
|
|
483
491
|
# Specify additional output data to include in the model response. Currently
|
484
492
|
# supported values are:
|
485
493
|
#
|
494
|
+
# - `web_search_call.action.sources`: Include the sources of the web search tool
|
495
|
+
# call.
|
486
496
|
# - `code_interpreter_call.outputs`: Includes the outputs of python code execution
|
487
497
|
# in code interpreter tool call items.
|
488
498
|
# - `computer_call_output.output.image_url`: Include image urls from the computer
|
@@ -599,7 +609,7 @@ module OpenAI
|
|
599
609
|
# An array of tools the model may call while generating a response. You can
|
600
610
|
# specify which tool to use by setting the `tool_choice` parameter.
|
601
611
|
#
|
602
|
-
#
|
612
|
+
# We support the following categories of tools:
|
603
613
|
#
|
604
614
|
# - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
|
605
615
|
# capabilities, like
|
@@ -607,6 +617,9 @@ module OpenAI
|
|
607
617
|
# [file search](https://platform.openai.com/docs/guides/tools-file-search).
|
608
618
|
# Learn more about
|
609
619
|
# [built-in tools](https://platform.openai.com/docs/guides/tools).
|
620
|
+
# - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
|
621
|
+
# predefined connectors such as Google Drive and Notion. Learn more about
|
622
|
+
# [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
|
610
623
|
# - **Function calls (custom tools)**: Functions that are defined by you, enabling
|
611
624
|
# the model to call your own code with strongly typed arguments and outputs.
|
612
625
|
# Learn more about
|
@@ -700,7 +713,8 @@ module OpenAI
|
|
700
713
|
OpenAI::Responses::Tool::ImageGeneration,
|
701
714
|
OpenAI::Responses::Tool::LocalShell,
|
702
715
|
OpenAI::Responses::CustomTool,
|
703
|
-
OpenAI::Responses::WebSearchTool
|
716
|
+
OpenAI::Responses::WebSearchTool,
|
717
|
+
OpenAI::Responses::WebSearchPreviewTool
|
704
718
|
)
|
705
719
|
],
|
706
720
|
top_logprobs: T.nilable(Integer),
|
@@ -121,21 +121,97 @@ module OpenAI
|
|
121
121
|
sig { returns(Symbol) }
|
122
122
|
attr_accessor :type
|
123
123
|
|
124
|
+
# The sources used in the search.
|
125
|
+
sig do
|
126
|
+
returns(
|
127
|
+
T.nilable(
|
128
|
+
T::Array[
|
129
|
+
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source
|
130
|
+
]
|
131
|
+
)
|
132
|
+
)
|
133
|
+
end
|
134
|
+
attr_reader :sources
|
135
|
+
|
136
|
+
sig do
|
137
|
+
params(
|
138
|
+
sources:
|
139
|
+
T::Array[
|
140
|
+
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source::OrHash
|
141
|
+
]
|
142
|
+
).void
|
143
|
+
end
|
144
|
+
attr_writer :sources
|
145
|
+
|
124
146
|
# Action type "search" - Performs a web search query.
|
125
147
|
sig do
|
126
|
-
params(
|
148
|
+
params(
|
149
|
+
query: String,
|
150
|
+
sources:
|
151
|
+
T::Array[
|
152
|
+
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source::OrHash
|
153
|
+
],
|
154
|
+
type: Symbol
|
155
|
+
).returns(T.attached_class)
|
127
156
|
end
|
128
157
|
def self.new(
|
129
158
|
# The search query.
|
130
159
|
query:,
|
160
|
+
# The sources used in the search.
|
161
|
+
sources: nil,
|
131
162
|
# The action type.
|
132
163
|
type: :search
|
133
164
|
)
|
134
165
|
end
|
135
166
|
|
136
|
-
sig
|
167
|
+
sig do
|
168
|
+
override.returns(
|
169
|
+
{
|
170
|
+
query: String,
|
171
|
+
type: Symbol,
|
172
|
+
sources:
|
173
|
+
T::Array[
|
174
|
+
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source
|
175
|
+
]
|
176
|
+
}
|
177
|
+
)
|
178
|
+
end
|
137
179
|
def to_hash
|
138
180
|
end
|
181
|
+
|
182
|
+
class Source < OpenAI::Internal::Type::BaseModel
|
183
|
+
OrHash =
|
184
|
+
T.type_alias do
|
185
|
+
T.any(
|
186
|
+
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source,
|
187
|
+
OpenAI::Internal::AnyHash
|
188
|
+
)
|
189
|
+
end
|
190
|
+
|
191
|
+
# The type of source. Always `url`.
|
192
|
+
sig { returns(Symbol) }
|
193
|
+
attr_accessor :type
|
194
|
+
|
195
|
+
# The URL of the source.
|
196
|
+
sig { returns(String) }
|
197
|
+
attr_accessor :url
|
198
|
+
|
199
|
+
# A source used in the search.
|
200
|
+
sig do
|
201
|
+
params(url: String, type: Symbol).returns(T.attached_class)
|
202
|
+
end
|
203
|
+
def self.new(
|
204
|
+
# The URL of the source.
|
205
|
+
url:,
|
206
|
+
# The type of source. Always `url`.
|
207
|
+
type: :url
|
208
|
+
)
|
209
|
+
end
|
210
|
+
|
211
|
+
sig { override.returns({ type: Symbol, url: String }) }
|
212
|
+
def to_hash
|
213
|
+
end
|
214
|
+
end
|
139
215
|
end
|
140
216
|
|
141
217
|
class OpenPage < OpenAI::Internal::Type::BaseModel
|
@@ -6,6 +6,8 @@ module OpenAI
|
|
6
6
|
# Specify additional output data to include in the model response. Currently
|
7
7
|
# supported values are:
|
8
8
|
#
|
9
|
+
# - `web_search_call.action.sources`: Include the sources of the web search tool
|
10
|
+
# call.
|
9
11
|
# - `code_interpreter_call.outputs`: Includes the outputs of python code execution
|
10
12
|
# in code interpreter tool call items.
|
11
13
|
# - `computer_call_output.output.image_url`: Include image urls from the computer
|
@@ -18,7 +18,8 @@ module OpenAI
|
|
18
18
|
OpenAI::Responses::Tool::ImageGeneration,
|
19
19
|
OpenAI::Responses::Tool::LocalShell,
|
20
20
|
OpenAI::Responses::CustomTool,
|
21
|
-
OpenAI::Responses::WebSearchTool
|
21
|
+
OpenAI::Responses::WebSearchTool,
|
22
|
+
OpenAI::Responses::WebSearchPreviewTool
|
22
23
|
)
|
23
24
|
end
|
24
25
|
|
@@ -0,0 +1,245 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Responses
|
6
|
+
class WebSearchPreviewTool < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Responses::WebSearchPreviewTool,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The type of the web search tool. One of `web_search_preview` or
|
16
|
+
# `web_search_preview_2025_03_11`.
|
17
|
+
sig { returns(OpenAI::Responses::WebSearchPreviewTool::Type::OrSymbol) }
|
18
|
+
attr_accessor :type
|
19
|
+
|
20
|
+
# High level guidance for the amount of context window space to use for the
|
21
|
+
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
22
|
+
sig do
|
23
|
+
returns(
|
24
|
+
T.nilable(
|
25
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::OrSymbol
|
26
|
+
)
|
27
|
+
)
|
28
|
+
end
|
29
|
+
attr_reader :search_context_size
|
30
|
+
|
31
|
+
sig do
|
32
|
+
params(
|
33
|
+
search_context_size:
|
34
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::OrSymbol
|
35
|
+
).void
|
36
|
+
end
|
37
|
+
attr_writer :search_context_size
|
38
|
+
|
39
|
+
# The user's location.
|
40
|
+
sig do
|
41
|
+
returns(
|
42
|
+
T.nilable(OpenAI::Responses::WebSearchPreviewTool::UserLocation)
|
43
|
+
)
|
44
|
+
end
|
45
|
+
attr_reader :user_location
|
46
|
+
|
47
|
+
sig do
|
48
|
+
params(
|
49
|
+
user_location:
|
50
|
+
T.nilable(
|
51
|
+
OpenAI::Responses::WebSearchPreviewTool::UserLocation::OrHash
|
52
|
+
)
|
53
|
+
).void
|
54
|
+
end
|
55
|
+
attr_writer :user_location
|
56
|
+
|
57
|
+
# This tool searches the web for relevant results to use in a response. Learn more
|
58
|
+
# about the
|
59
|
+
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
60
|
+
sig do
|
61
|
+
params(
|
62
|
+
type: OpenAI::Responses::WebSearchPreviewTool::Type::OrSymbol,
|
63
|
+
search_context_size:
|
64
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::OrSymbol,
|
65
|
+
user_location:
|
66
|
+
T.nilable(
|
67
|
+
OpenAI::Responses::WebSearchPreviewTool::UserLocation::OrHash
|
68
|
+
)
|
69
|
+
).returns(T.attached_class)
|
70
|
+
end
|
71
|
+
def self.new(
|
72
|
+
# The type of the web search tool. One of `web_search_preview` or
|
73
|
+
# `web_search_preview_2025_03_11`.
|
74
|
+
type:,
|
75
|
+
# High level guidance for the amount of context window space to use for the
|
76
|
+
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
77
|
+
search_context_size: nil,
|
78
|
+
# The user's location.
|
79
|
+
user_location: nil
|
80
|
+
)
|
81
|
+
end
|
82
|
+
|
83
|
+
sig do
|
84
|
+
override.returns(
|
85
|
+
{
|
86
|
+
type: OpenAI::Responses::WebSearchPreviewTool::Type::OrSymbol,
|
87
|
+
search_context_size:
|
88
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::OrSymbol,
|
89
|
+
user_location:
|
90
|
+
T.nilable(OpenAI::Responses::WebSearchPreviewTool::UserLocation)
|
91
|
+
}
|
92
|
+
)
|
93
|
+
end
|
94
|
+
def to_hash
|
95
|
+
end
|
96
|
+
|
97
|
+
# The type of the web search tool. One of `web_search_preview` or
|
98
|
+
# `web_search_preview_2025_03_11`.
|
99
|
+
module Type
|
100
|
+
extend OpenAI::Internal::Type::Enum
|
101
|
+
|
102
|
+
TaggedSymbol =
|
103
|
+
T.type_alias do
|
104
|
+
T.all(Symbol, OpenAI::Responses::WebSearchPreviewTool::Type)
|
105
|
+
end
|
106
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
107
|
+
|
108
|
+
WEB_SEARCH_PREVIEW =
|
109
|
+
T.let(
|
110
|
+
:web_search_preview,
|
111
|
+
OpenAI::Responses::WebSearchPreviewTool::Type::TaggedSymbol
|
112
|
+
)
|
113
|
+
WEB_SEARCH_PREVIEW_2025_03_11 =
|
114
|
+
T.let(
|
115
|
+
:web_search_preview_2025_03_11,
|
116
|
+
OpenAI::Responses::WebSearchPreviewTool::Type::TaggedSymbol
|
117
|
+
)
|
118
|
+
|
119
|
+
sig do
|
120
|
+
override.returns(
|
121
|
+
T::Array[
|
122
|
+
OpenAI::Responses::WebSearchPreviewTool::Type::TaggedSymbol
|
123
|
+
]
|
124
|
+
)
|
125
|
+
end
|
126
|
+
def self.values
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# High level guidance for the amount of context window space to use for the
|
131
|
+
# search. One of `low`, `medium`, or `high`. `medium` is the default.
|
132
|
+
module SearchContextSize
|
133
|
+
extend OpenAI::Internal::Type::Enum
|
134
|
+
|
135
|
+
TaggedSymbol =
|
136
|
+
T.type_alias do
|
137
|
+
T.all(
|
138
|
+
Symbol,
|
139
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize
|
140
|
+
)
|
141
|
+
end
|
142
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
143
|
+
|
144
|
+
LOW =
|
145
|
+
T.let(
|
146
|
+
:low,
|
147
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::TaggedSymbol
|
148
|
+
)
|
149
|
+
MEDIUM =
|
150
|
+
T.let(
|
151
|
+
:medium,
|
152
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::TaggedSymbol
|
153
|
+
)
|
154
|
+
HIGH =
|
155
|
+
T.let(
|
156
|
+
:high,
|
157
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::TaggedSymbol
|
158
|
+
)
|
159
|
+
|
160
|
+
sig do
|
161
|
+
override.returns(
|
162
|
+
T::Array[
|
163
|
+
OpenAI::Responses::WebSearchPreviewTool::SearchContextSize::TaggedSymbol
|
164
|
+
]
|
165
|
+
)
|
166
|
+
end
|
167
|
+
def self.values
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
class UserLocation < OpenAI::Internal::Type::BaseModel
|
172
|
+
OrHash =
|
173
|
+
T.type_alias do
|
174
|
+
T.any(
|
175
|
+
OpenAI::Responses::WebSearchPreviewTool::UserLocation,
|
176
|
+
OpenAI::Internal::AnyHash
|
177
|
+
)
|
178
|
+
end
|
179
|
+
|
180
|
+
# The type of location approximation. Always `approximate`.
|
181
|
+
sig { returns(Symbol) }
|
182
|
+
attr_accessor :type
|
183
|
+
|
184
|
+
# Free text input for the city of the user, e.g. `San Francisco`.
|
185
|
+
sig { returns(T.nilable(String)) }
|
186
|
+
attr_accessor :city
|
187
|
+
|
188
|
+
# The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of
|
189
|
+
# the user, e.g. `US`.
|
190
|
+
sig { returns(T.nilable(String)) }
|
191
|
+
attr_accessor :country
|
192
|
+
|
193
|
+
# Free text input for the region of the user, e.g. `California`.
|
194
|
+
sig { returns(T.nilable(String)) }
|
195
|
+
attr_accessor :region
|
196
|
+
|
197
|
+
# The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the
|
198
|
+
# user, e.g. `America/Los_Angeles`.
|
199
|
+
sig { returns(T.nilable(String)) }
|
200
|
+
attr_accessor :timezone
|
201
|
+
|
202
|
+
# The user's location.
|
203
|
+
sig do
|
204
|
+
params(
|
205
|
+
city: T.nilable(String),
|
206
|
+
country: T.nilable(String),
|
207
|
+
region: T.nilable(String),
|
208
|
+
timezone: T.nilable(String),
|
209
|
+
type: Symbol
|
210
|
+
).returns(T.attached_class)
|
211
|
+
end
|
212
|
+
def self.new(
|
213
|
+
# Free text input for the city of the user, e.g. `San Francisco`.
|
214
|
+
city: nil,
|
215
|
+
# The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of
|
216
|
+
# the user, e.g. `US`.
|
217
|
+
country: nil,
|
218
|
+
# Free text input for the region of the user, e.g. `California`.
|
219
|
+
region: nil,
|
220
|
+
# The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the
|
221
|
+
# user, e.g. `America/Los_Angeles`.
|
222
|
+
timezone: nil,
|
223
|
+
# The type of location approximation. Always `approximate`.
|
224
|
+
type: :approximate
|
225
|
+
)
|
226
|
+
end
|
227
|
+
|
228
|
+
sig do
|
229
|
+
override.returns(
|
230
|
+
{
|
231
|
+
type: Symbol,
|
232
|
+
city: T.nilable(String),
|
233
|
+
country: T.nilable(String),
|
234
|
+
region: T.nilable(String),
|
235
|
+
timezone: T.nilable(String)
|
236
|
+
}
|
237
|
+
)
|
238
|
+
end
|
239
|
+
def to_hash
|
240
|
+
end
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|