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,379 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
# Give the model access to additional tools via remote Model Context Protocol
|
7
|
+
# (MCP) servers.
|
8
|
+
# [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
|
9
|
+
module RealtimeToolsConfigUnion
|
10
|
+
extend OpenAI::Internal::Type::Union
|
11
|
+
|
12
|
+
discriminator :type
|
13
|
+
|
14
|
+
variant :function, -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Function }
|
15
|
+
|
16
|
+
# Give the model access to additional tools via remote Model Context Protocol
|
17
|
+
# (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
|
18
|
+
variant :mcp, -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp }
|
19
|
+
|
20
|
+
class Function < OpenAI::Internal::Type::BaseModel
|
21
|
+
# @!attribute description
|
22
|
+
# The description of the function, including guidance on when and how to call it,
|
23
|
+
# and guidance about what to tell the user when calling (if anything).
|
24
|
+
#
|
25
|
+
# @return [String, nil]
|
26
|
+
optional :description, String
|
27
|
+
|
28
|
+
# @!attribute name
|
29
|
+
# The name of the function.
|
30
|
+
#
|
31
|
+
# @return [String, nil]
|
32
|
+
optional :name, String
|
33
|
+
|
34
|
+
# @!attribute parameters
|
35
|
+
# Parameters of the function in JSON Schema.
|
36
|
+
#
|
37
|
+
# @return [Object, nil]
|
38
|
+
optional :parameters, OpenAI::Internal::Type::Unknown
|
39
|
+
|
40
|
+
# @!attribute type
|
41
|
+
# The type of the tool, i.e. `function`.
|
42
|
+
#
|
43
|
+
# @return [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::Type, nil]
|
44
|
+
optional :type, enum: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Function::Type }
|
45
|
+
|
46
|
+
# @!method initialize(description: nil, name: nil, parameters: nil, type: nil)
|
47
|
+
# Some parameter documentations has been truncated, see
|
48
|
+
# {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function} for more details.
|
49
|
+
#
|
50
|
+
# @param description [String] The description of the function, including guidance on when and how
|
51
|
+
#
|
52
|
+
# @param name [String] The name of the function.
|
53
|
+
#
|
54
|
+
# @param parameters [Object] Parameters of the function in JSON Schema.
|
55
|
+
#
|
56
|
+
# @param type [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::Type] The type of the tool, i.e. `function`.
|
57
|
+
|
58
|
+
# The type of the tool, i.e. `function`.
|
59
|
+
#
|
60
|
+
# @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function#type
|
61
|
+
module Type
|
62
|
+
extend OpenAI::Internal::Type::Enum
|
63
|
+
|
64
|
+
FUNCTION = :function
|
65
|
+
|
66
|
+
# @!method self.values
|
67
|
+
# @return [Array<Symbol>]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
class Mcp < OpenAI::Internal::Type::BaseModel
|
72
|
+
# @!attribute server_label
|
73
|
+
# A label for this MCP server, used to identify it in tool calls.
|
74
|
+
#
|
75
|
+
# @return [String]
|
76
|
+
required :server_label, String
|
77
|
+
|
78
|
+
# @!attribute type
|
79
|
+
# The type of the MCP tool. Always `mcp`.
|
80
|
+
#
|
81
|
+
# @return [Symbol, :mcp]
|
82
|
+
required :type, const: :mcp
|
83
|
+
|
84
|
+
# @!attribute allowed_tools
|
85
|
+
# List of allowed tool names or a filter object.
|
86
|
+
#
|
87
|
+
# @return [Array<String>, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter, nil]
|
88
|
+
optional :allowed_tools,
|
89
|
+
union: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools },
|
90
|
+
nil?: true
|
91
|
+
|
92
|
+
# @!attribute authorization
|
93
|
+
# An OAuth access token that can be used with a remote MCP server, either with a
|
94
|
+
# custom MCP server URL or a service connector. Your application must handle the
|
95
|
+
# OAuth authorization flow and provide the token here.
|
96
|
+
#
|
97
|
+
# @return [String, nil]
|
98
|
+
optional :authorization, String
|
99
|
+
|
100
|
+
# @!attribute connector_id
|
101
|
+
# Identifier for service connectors, like those available in ChatGPT. One of
|
102
|
+
# `server_url` or `connector_id` must be provided. Learn more about service
|
103
|
+
# connectors
|
104
|
+
# [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
|
105
|
+
#
|
106
|
+
# Currently supported `connector_id` values are:
|
107
|
+
#
|
108
|
+
# - Dropbox: `connector_dropbox`
|
109
|
+
# - Gmail: `connector_gmail`
|
110
|
+
# - Google Calendar: `connector_googlecalendar`
|
111
|
+
# - Google Drive: `connector_googledrive`
|
112
|
+
# - Microsoft Teams: `connector_microsoftteams`
|
113
|
+
# - Outlook Calendar: `connector_outlookcalendar`
|
114
|
+
# - Outlook Email: `connector_outlookemail`
|
115
|
+
# - SharePoint: `connector_sharepoint`
|
116
|
+
#
|
117
|
+
# @return [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID, nil]
|
118
|
+
optional :connector_id, enum: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID }
|
119
|
+
|
120
|
+
# @!attribute headers
|
121
|
+
# Optional HTTP headers to send to the MCP server. Use for authentication or other
|
122
|
+
# purposes.
|
123
|
+
#
|
124
|
+
# @return [Hash{Symbol=>String}, nil]
|
125
|
+
optional :headers, OpenAI::Internal::Type::HashOf[String], nil?: true
|
126
|
+
|
127
|
+
# @!attribute require_approval
|
128
|
+
# Specify which of the MCP server's tools require approval.
|
129
|
+
#
|
130
|
+
# @return [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting, nil]
|
131
|
+
optional :require_approval,
|
132
|
+
union: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval },
|
133
|
+
nil?: true
|
134
|
+
|
135
|
+
# @!attribute server_description
|
136
|
+
# Optional description of the MCP server, used to provide more context.
|
137
|
+
#
|
138
|
+
# @return [String, nil]
|
139
|
+
optional :server_description, String
|
140
|
+
|
141
|
+
# @!attribute server_url
|
142
|
+
# The URL for the MCP server. One of `server_url` or `connector_id` must be
|
143
|
+
# provided.
|
144
|
+
#
|
145
|
+
# @return [String, nil]
|
146
|
+
optional :server_url, String
|
147
|
+
|
148
|
+
# @!method initialize(server_label:, allowed_tools: nil, authorization: nil, connector_id: nil, headers: nil, require_approval: nil, server_description: nil, server_url: nil, type: :mcp)
|
149
|
+
# Some parameter documentations has been truncated, see
|
150
|
+
# {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp} for more details.
|
151
|
+
#
|
152
|
+
# Give the model access to additional tools via remote Model Context Protocol
|
153
|
+
# (MCP) servers.
|
154
|
+
# [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
|
155
|
+
#
|
156
|
+
# @param server_label [String] A label for this MCP server, used to identify it in tool calls.
|
157
|
+
#
|
158
|
+
# @param allowed_tools [Array<String>, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter, nil] List of allowed tool names or a filter object.
|
159
|
+
#
|
160
|
+
# @param authorization [String] An OAuth access token that can be used with a remote MCP server, either
|
161
|
+
#
|
162
|
+
# @param connector_id [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID] Identifier for service connectors, like those available in ChatGPT. One of
|
163
|
+
#
|
164
|
+
# @param headers [Hash{Symbol=>String}, nil] Optional HTTP headers to send to the MCP server. Use for authentication
|
165
|
+
#
|
166
|
+
# @param require_approval [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting, nil] Specify which of the MCP server's tools require approval.
|
167
|
+
#
|
168
|
+
# @param server_description [String] Optional description of the MCP server, used to provide more context.
|
169
|
+
#
|
170
|
+
# @param server_url [String] The URL for the MCP server. One of `server_url` or `connector_id` must be
|
171
|
+
#
|
172
|
+
# @param type [Symbol, :mcp] The type of the MCP tool. Always `mcp`.
|
173
|
+
|
174
|
+
# List of allowed tool names or a filter object.
|
175
|
+
#
|
176
|
+
# @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp#allowed_tools
|
177
|
+
module AllowedTools
|
178
|
+
extend OpenAI::Internal::Type::Union
|
179
|
+
|
180
|
+
# A string array of allowed tool names
|
181
|
+
variant -> { OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::StringArray }
|
182
|
+
|
183
|
+
# A filter object to specify which tools are allowed.
|
184
|
+
variant -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter }
|
185
|
+
|
186
|
+
class McpToolFilter < OpenAI::Internal::Type::BaseModel
|
187
|
+
# @!attribute read_only
|
188
|
+
# Indicates whether or not a tool modifies data or is read-only. If an MCP server
|
189
|
+
# is
|
190
|
+
# [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
|
191
|
+
# it will match this filter.
|
192
|
+
#
|
193
|
+
# @return [Boolean, nil]
|
194
|
+
optional :read_only, OpenAI::Internal::Type::Boolean
|
195
|
+
|
196
|
+
# @!attribute tool_names
|
197
|
+
# List of allowed tool names.
|
198
|
+
#
|
199
|
+
# @return [Array<String>, nil]
|
200
|
+
optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
|
201
|
+
|
202
|
+
# @!method initialize(read_only: nil, tool_names: nil)
|
203
|
+
# Some parameter documentations has been truncated, see
|
204
|
+
# {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter}
|
205
|
+
# for more details.
|
206
|
+
#
|
207
|
+
# A filter object to specify which tools are allowed.
|
208
|
+
#
|
209
|
+
# @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
|
210
|
+
#
|
211
|
+
# @param tool_names [Array<String>] List of allowed tool names.
|
212
|
+
end
|
213
|
+
|
214
|
+
# @!method self.variants
|
215
|
+
# @return [Array(Array<String>, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter)]
|
216
|
+
|
217
|
+
# @type [OpenAI::Internal::Type::Converter]
|
218
|
+
StringArray = OpenAI::Internal::Type::ArrayOf[String]
|
219
|
+
end
|
220
|
+
|
221
|
+
# Identifier for service connectors, like those available in ChatGPT. One of
|
222
|
+
# `server_url` or `connector_id` must be provided. Learn more about service
|
223
|
+
# connectors
|
224
|
+
# [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
|
225
|
+
#
|
226
|
+
# Currently supported `connector_id` values are:
|
227
|
+
#
|
228
|
+
# - Dropbox: `connector_dropbox`
|
229
|
+
# - Gmail: `connector_gmail`
|
230
|
+
# - Google Calendar: `connector_googlecalendar`
|
231
|
+
# - Google Drive: `connector_googledrive`
|
232
|
+
# - Microsoft Teams: `connector_microsoftteams`
|
233
|
+
# - Outlook Calendar: `connector_outlookcalendar`
|
234
|
+
# - Outlook Email: `connector_outlookemail`
|
235
|
+
# - SharePoint: `connector_sharepoint`
|
236
|
+
#
|
237
|
+
# @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp#connector_id
|
238
|
+
module ConnectorID
|
239
|
+
extend OpenAI::Internal::Type::Enum
|
240
|
+
|
241
|
+
CONNECTOR_DROPBOX = :connector_dropbox
|
242
|
+
CONNECTOR_GMAIL = :connector_gmail
|
243
|
+
CONNECTOR_GOOGLECALENDAR = :connector_googlecalendar
|
244
|
+
CONNECTOR_GOOGLEDRIVE = :connector_googledrive
|
245
|
+
CONNECTOR_MICROSOFTTEAMS = :connector_microsoftteams
|
246
|
+
CONNECTOR_OUTLOOKCALENDAR = :connector_outlookcalendar
|
247
|
+
CONNECTOR_OUTLOOKEMAIL = :connector_outlookemail
|
248
|
+
CONNECTOR_SHAREPOINT = :connector_sharepoint
|
249
|
+
|
250
|
+
# @!method self.values
|
251
|
+
# @return [Array<Symbol>]
|
252
|
+
end
|
253
|
+
|
254
|
+
# Specify which of the MCP server's tools require approval.
|
255
|
+
#
|
256
|
+
# @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp#require_approval
|
257
|
+
module RequireApproval
|
258
|
+
extend OpenAI::Internal::Type::Union
|
259
|
+
|
260
|
+
# Specify which of the MCP server's tools require approval. Can be
|
261
|
+
# `always`, `never`, or a filter object associated with tools
|
262
|
+
# that require approval.
|
263
|
+
variant -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter }
|
264
|
+
|
265
|
+
# Specify a single approval policy for all tools. One of `always` or
|
266
|
+
# `never`. When set to `always`, all tools will require approval. When
|
267
|
+
# set to `never`, all tools will not require approval.
|
268
|
+
variant enum: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting }
|
269
|
+
|
270
|
+
class McpToolApprovalFilter < OpenAI::Internal::Type::BaseModel
|
271
|
+
# @!attribute always
|
272
|
+
# A filter object to specify which tools are allowed.
|
273
|
+
#
|
274
|
+
# @return [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always, nil]
|
275
|
+
optional :always,
|
276
|
+
-> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always }
|
277
|
+
|
278
|
+
# @!attribute never
|
279
|
+
# A filter object to specify which tools are allowed.
|
280
|
+
#
|
281
|
+
# @return [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never, nil]
|
282
|
+
optional :never,
|
283
|
+
-> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never }
|
284
|
+
|
285
|
+
# @!method initialize(always: nil, never: nil)
|
286
|
+
# Some parameter documentations has been truncated, see
|
287
|
+
# {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter}
|
288
|
+
# for more details.
|
289
|
+
#
|
290
|
+
# Specify which of the MCP server's tools require approval. Can be `always`,
|
291
|
+
# `never`, or a filter object associated with tools that require approval.
|
292
|
+
#
|
293
|
+
# @param always [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always] A filter object to specify which tools are allowed.
|
294
|
+
#
|
295
|
+
# @param never [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never] A filter object to specify which tools are allowed.
|
296
|
+
|
297
|
+
# @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter#always
|
298
|
+
class Always < OpenAI::Internal::Type::BaseModel
|
299
|
+
# @!attribute read_only
|
300
|
+
# Indicates whether or not a tool modifies data or is read-only. If an MCP server
|
301
|
+
# is
|
302
|
+
# [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
|
303
|
+
# it will match this filter.
|
304
|
+
#
|
305
|
+
# @return [Boolean, nil]
|
306
|
+
optional :read_only, OpenAI::Internal::Type::Boolean
|
307
|
+
|
308
|
+
# @!attribute tool_names
|
309
|
+
# List of allowed tool names.
|
310
|
+
#
|
311
|
+
# @return [Array<String>, nil]
|
312
|
+
optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
|
313
|
+
|
314
|
+
# @!method initialize(read_only: nil, tool_names: nil)
|
315
|
+
# Some parameter documentations has been truncated, see
|
316
|
+
# {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always}
|
317
|
+
# for more details.
|
318
|
+
#
|
319
|
+
# A filter object to specify which tools are allowed.
|
320
|
+
#
|
321
|
+
# @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
|
322
|
+
#
|
323
|
+
# @param tool_names [Array<String>] List of allowed tool names.
|
324
|
+
end
|
325
|
+
|
326
|
+
# @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter#never
|
327
|
+
class Never < OpenAI::Internal::Type::BaseModel
|
328
|
+
# @!attribute read_only
|
329
|
+
# Indicates whether or not a tool modifies data or is read-only. If an MCP server
|
330
|
+
# is
|
331
|
+
# [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
|
332
|
+
# it will match this filter.
|
333
|
+
#
|
334
|
+
# @return [Boolean, nil]
|
335
|
+
optional :read_only, OpenAI::Internal::Type::Boolean
|
336
|
+
|
337
|
+
# @!attribute tool_names
|
338
|
+
# List of allowed tool names.
|
339
|
+
#
|
340
|
+
# @return [Array<String>, nil]
|
341
|
+
optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
|
342
|
+
|
343
|
+
# @!method initialize(read_only: nil, tool_names: nil)
|
344
|
+
# Some parameter documentations has been truncated, see
|
345
|
+
# {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never}
|
346
|
+
# for more details.
|
347
|
+
#
|
348
|
+
# A filter object to specify which tools are allowed.
|
349
|
+
#
|
350
|
+
# @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
|
351
|
+
#
|
352
|
+
# @param tool_names [Array<String>] List of allowed tool names.
|
353
|
+
end
|
354
|
+
end
|
355
|
+
|
356
|
+
# Specify a single approval policy for all tools. One of `always` or `never`. When
|
357
|
+
# set to `always`, all tools will require approval. When set to `never`, all tools
|
358
|
+
# will not require approval.
|
359
|
+
module McpToolApprovalSetting
|
360
|
+
extend OpenAI::Internal::Type::Enum
|
361
|
+
|
362
|
+
ALWAYS = :always
|
363
|
+
NEVER = :never
|
364
|
+
|
365
|
+
# @!method self.values
|
366
|
+
# @return [Array<Symbol>]
|
367
|
+
end
|
368
|
+
|
369
|
+
# @!method self.variants
|
370
|
+
# @return [Array(OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting)]
|
371
|
+
end
|
372
|
+
end
|
373
|
+
|
374
|
+
# @!method self.variants
|
375
|
+
# @return [Array(OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp)]
|
376
|
+
end
|
377
|
+
end
|
378
|
+
end
|
379
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
# Configuration options for tracing. Set to null to disable tracing. Once tracing
|
7
|
+
# is enabled for a session, the configuration cannot be modified.
|
8
|
+
#
|
9
|
+
# `auto` will create a trace for the session with default values for the workflow
|
10
|
+
# name, group id, and metadata.
|
11
|
+
module RealtimeTracingConfig
|
12
|
+
extend OpenAI::Internal::Type::Union
|
13
|
+
|
14
|
+
# Default tracing mode for the session.
|
15
|
+
variant const: :auto
|
16
|
+
|
17
|
+
# Granular configuration for tracing.
|
18
|
+
variant -> { OpenAI::Realtime::RealtimeTracingConfig::TracingConfiguration }
|
19
|
+
|
20
|
+
class TracingConfiguration < OpenAI::Internal::Type::BaseModel
|
21
|
+
# @!attribute group_id
|
22
|
+
# The group id to attach to this trace to enable filtering and grouping in the
|
23
|
+
# traces dashboard.
|
24
|
+
#
|
25
|
+
# @return [String, nil]
|
26
|
+
optional :group_id, String
|
27
|
+
|
28
|
+
# @!attribute metadata
|
29
|
+
# The arbitrary metadata to attach to this trace to enable filtering in the traces
|
30
|
+
# dashboard.
|
31
|
+
#
|
32
|
+
# @return [Object, nil]
|
33
|
+
optional :metadata, OpenAI::Internal::Type::Unknown
|
34
|
+
|
35
|
+
# @!attribute workflow_name
|
36
|
+
# The name of the workflow to attach to this trace. This is used to name the trace
|
37
|
+
# in the traces dashboard.
|
38
|
+
#
|
39
|
+
# @return [String, nil]
|
40
|
+
optional :workflow_name, String
|
41
|
+
|
42
|
+
# @!method initialize(group_id: nil, metadata: nil, workflow_name: nil)
|
43
|
+
# Some parameter documentations has been truncated, see
|
44
|
+
# {OpenAI::Models::Realtime::RealtimeTracingConfig::TracingConfiguration} for more
|
45
|
+
# details.
|
46
|
+
#
|
47
|
+
# Granular configuration for tracing.
|
48
|
+
#
|
49
|
+
# @param group_id [String] The group id to attach to this trace to enable filtering and
|
50
|
+
#
|
51
|
+
# @param metadata [Object] The arbitrary metadata to attach to this trace to enable
|
52
|
+
#
|
53
|
+
# @param workflow_name [String] The name of the workflow to attach to this trace. This is used to
|
54
|
+
end
|
55
|
+
|
56
|
+
# @!method self.variants
|
57
|
+
# @return [Array(Symbol, :auto, OpenAI::Models::Realtime::RealtimeTracingConfig::TracingConfiguration)]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|