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,164 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationCreatedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationCreatedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The conversation resource.
|
16
|
+
sig do
|
17
|
+
returns(OpenAI::Realtime::ConversationCreatedEvent::Conversation)
|
18
|
+
end
|
19
|
+
attr_reader :conversation
|
20
|
+
|
21
|
+
sig do
|
22
|
+
params(
|
23
|
+
conversation:
|
24
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::OrHash
|
25
|
+
).void
|
26
|
+
end
|
27
|
+
attr_writer :conversation
|
28
|
+
|
29
|
+
# The unique ID of the server event.
|
30
|
+
sig { returns(String) }
|
31
|
+
attr_accessor :event_id
|
32
|
+
|
33
|
+
# The event type, must be `conversation.created`.
|
34
|
+
sig { returns(Symbol) }
|
35
|
+
attr_accessor :type
|
36
|
+
|
37
|
+
# Returned when a conversation is created. Emitted right after session creation.
|
38
|
+
sig do
|
39
|
+
params(
|
40
|
+
conversation:
|
41
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::OrHash,
|
42
|
+
event_id: String,
|
43
|
+
type: Symbol
|
44
|
+
).returns(T.attached_class)
|
45
|
+
end
|
46
|
+
def self.new(
|
47
|
+
# The conversation resource.
|
48
|
+
conversation:,
|
49
|
+
# The unique ID of the server event.
|
50
|
+
event_id:,
|
51
|
+
# The event type, must be `conversation.created`.
|
52
|
+
type: :"conversation.created"
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
sig do
|
57
|
+
override.returns(
|
58
|
+
{
|
59
|
+
conversation:
|
60
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation,
|
61
|
+
event_id: String,
|
62
|
+
type: Symbol
|
63
|
+
}
|
64
|
+
)
|
65
|
+
end
|
66
|
+
def to_hash
|
67
|
+
end
|
68
|
+
|
69
|
+
class Conversation < OpenAI::Internal::Type::BaseModel
|
70
|
+
OrHash =
|
71
|
+
T.type_alias do
|
72
|
+
T.any(
|
73
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation,
|
74
|
+
OpenAI::Internal::AnyHash
|
75
|
+
)
|
76
|
+
end
|
77
|
+
|
78
|
+
# The unique ID of the conversation.
|
79
|
+
sig { returns(T.nilable(String)) }
|
80
|
+
attr_reader :id
|
81
|
+
|
82
|
+
sig { params(id: String).void }
|
83
|
+
attr_writer :id
|
84
|
+
|
85
|
+
# The object type, must be `realtime.conversation`.
|
86
|
+
sig do
|
87
|
+
returns(
|
88
|
+
T.nilable(
|
89
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object::OrSymbol
|
90
|
+
)
|
91
|
+
)
|
92
|
+
end
|
93
|
+
attr_reader :object
|
94
|
+
|
95
|
+
sig do
|
96
|
+
params(
|
97
|
+
object:
|
98
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object::OrSymbol
|
99
|
+
).void
|
100
|
+
end
|
101
|
+
attr_writer :object
|
102
|
+
|
103
|
+
# The conversation resource.
|
104
|
+
sig do
|
105
|
+
params(
|
106
|
+
id: String,
|
107
|
+
object:
|
108
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object::OrSymbol
|
109
|
+
).returns(T.attached_class)
|
110
|
+
end
|
111
|
+
def self.new(
|
112
|
+
# The unique ID of the conversation.
|
113
|
+
id: nil,
|
114
|
+
# The object type, must be `realtime.conversation`.
|
115
|
+
object: nil
|
116
|
+
)
|
117
|
+
end
|
118
|
+
|
119
|
+
sig do
|
120
|
+
override.returns(
|
121
|
+
{
|
122
|
+
id: String,
|
123
|
+
object:
|
124
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object::OrSymbol
|
125
|
+
}
|
126
|
+
)
|
127
|
+
end
|
128
|
+
def to_hash
|
129
|
+
end
|
130
|
+
|
131
|
+
# The object type, must be `realtime.conversation`.
|
132
|
+
module Object
|
133
|
+
extend OpenAI::Internal::Type::Enum
|
134
|
+
|
135
|
+
TaggedSymbol =
|
136
|
+
T.type_alias do
|
137
|
+
T.all(
|
138
|
+
Symbol,
|
139
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object
|
140
|
+
)
|
141
|
+
end
|
142
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
143
|
+
|
144
|
+
REALTIME_CONVERSATION =
|
145
|
+
T.let(
|
146
|
+
:"realtime.conversation",
|
147
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object::TaggedSymbol
|
148
|
+
)
|
149
|
+
|
150
|
+
sig do
|
151
|
+
override.returns(
|
152
|
+
T::Array[
|
153
|
+
OpenAI::Realtime::ConversationCreatedEvent::Conversation::Object::TaggedSymbol
|
154
|
+
]
|
155
|
+
)
|
156
|
+
end
|
157
|
+
def self.values
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
# A single item within a Realtime conversation.
|
7
|
+
module ConversationItem
|
8
|
+
extend OpenAI::Internal::Type::Union
|
9
|
+
|
10
|
+
Variants =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
14
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
15
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
16
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
17
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
18
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
19
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
20
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
21
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
sig do
|
26
|
+
override.returns(
|
27
|
+
T::Array[OpenAI::Realtime::ConversationItem::Variants]
|
28
|
+
)
|
29
|
+
end
|
30
|
+
def self.variants
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemAdded < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemAdded,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The unique ID of the server event.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :event_id
|
18
|
+
|
19
|
+
# A single item within a Realtime conversation.
|
20
|
+
sig do
|
21
|
+
returns(
|
22
|
+
T.any(
|
23
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
24
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
25
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
26
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
27
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
28
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
29
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
30
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
31
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
32
|
+
)
|
33
|
+
)
|
34
|
+
end
|
35
|
+
attr_accessor :item
|
36
|
+
|
37
|
+
# The event type, must be `conversation.item.added`.
|
38
|
+
sig { returns(Symbol) }
|
39
|
+
attr_accessor :type
|
40
|
+
|
41
|
+
# The ID of the item that precedes this one, if any. This is used to maintain
|
42
|
+
# ordering when items are inserted.
|
43
|
+
sig { returns(T.nilable(String)) }
|
44
|
+
attr_accessor :previous_item_id
|
45
|
+
|
46
|
+
# Returned when a conversation item is added.
|
47
|
+
sig do
|
48
|
+
params(
|
49
|
+
event_id: String,
|
50
|
+
item:
|
51
|
+
T.any(
|
52
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage::OrHash,
|
53
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage::OrHash,
|
54
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage::OrHash,
|
55
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall::OrHash,
|
56
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput::OrHash,
|
57
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse::OrHash,
|
58
|
+
OpenAI::Realtime::RealtimeMcpListTools::OrHash,
|
59
|
+
OpenAI::Realtime::RealtimeMcpToolCall::OrHash,
|
60
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest::OrHash
|
61
|
+
),
|
62
|
+
previous_item_id: T.nilable(String),
|
63
|
+
type: Symbol
|
64
|
+
).returns(T.attached_class)
|
65
|
+
end
|
66
|
+
def self.new(
|
67
|
+
# The unique ID of the server event.
|
68
|
+
event_id:,
|
69
|
+
# A single item within a Realtime conversation.
|
70
|
+
item:,
|
71
|
+
# The ID of the item that precedes this one, if any. This is used to maintain
|
72
|
+
# ordering when items are inserted.
|
73
|
+
previous_item_id: nil,
|
74
|
+
# The event type, must be `conversation.item.added`.
|
75
|
+
type: :"conversation.item.added"
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
sig do
|
80
|
+
override.returns(
|
81
|
+
{
|
82
|
+
event_id: String,
|
83
|
+
item:
|
84
|
+
T.any(
|
85
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
86
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
87
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
88
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
89
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
90
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
91
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
92
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
93
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
94
|
+
),
|
95
|
+
type: Symbol,
|
96
|
+
previous_item_id: T.nilable(String)
|
97
|
+
}
|
98
|
+
)
|
99
|
+
end
|
100
|
+
def to_hash
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemCreateEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemCreateEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# A single item within a Realtime conversation.
|
16
|
+
sig do
|
17
|
+
returns(
|
18
|
+
T.any(
|
19
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
20
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
21
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
22
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
23
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
24
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
25
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
26
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
27
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
28
|
+
)
|
29
|
+
)
|
30
|
+
end
|
31
|
+
attr_accessor :item
|
32
|
+
|
33
|
+
# The event type, must be `conversation.item.create`.
|
34
|
+
sig { returns(Symbol) }
|
35
|
+
attr_accessor :type
|
36
|
+
|
37
|
+
# Optional client-generated ID used to identify this event.
|
38
|
+
sig { returns(T.nilable(String)) }
|
39
|
+
attr_reader :event_id
|
40
|
+
|
41
|
+
sig { params(event_id: String).void }
|
42
|
+
attr_writer :event_id
|
43
|
+
|
44
|
+
# The ID of the preceding item after which the new item will be inserted. If not
|
45
|
+
# set, the new item will be appended to the end of the conversation. If set to
|
46
|
+
# `root`, the new item will be added to the beginning of the conversation. If set
|
47
|
+
# to an existing ID, it allows an item to be inserted mid-conversation. If the ID
|
48
|
+
# cannot be found, an error will be returned and the item will not be added.
|
49
|
+
sig { returns(T.nilable(String)) }
|
50
|
+
attr_reader :previous_item_id
|
51
|
+
|
52
|
+
sig { params(previous_item_id: String).void }
|
53
|
+
attr_writer :previous_item_id
|
54
|
+
|
55
|
+
# Add a new Item to the Conversation's context, including messages, function
|
56
|
+
# calls, and function call responses. This event can be used both to populate a
|
57
|
+
# "history" of the conversation and to add new items mid-stream, but has the
|
58
|
+
# current limitation that it cannot populate assistant audio messages.
|
59
|
+
#
|
60
|
+
# If successful, the server will respond with a `conversation.item.created` event,
|
61
|
+
# otherwise an `error` event will be sent.
|
62
|
+
sig do
|
63
|
+
params(
|
64
|
+
item:
|
65
|
+
T.any(
|
66
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage::OrHash,
|
67
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage::OrHash,
|
68
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage::OrHash,
|
69
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall::OrHash,
|
70
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput::OrHash,
|
71
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse::OrHash,
|
72
|
+
OpenAI::Realtime::RealtimeMcpListTools::OrHash,
|
73
|
+
OpenAI::Realtime::RealtimeMcpToolCall::OrHash,
|
74
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest::OrHash
|
75
|
+
),
|
76
|
+
event_id: String,
|
77
|
+
previous_item_id: String,
|
78
|
+
type: Symbol
|
79
|
+
).returns(T.attached_class)
|
80
|
+
end
|
81
|
+
def self.new(
|
82
|
+
# A single item within a Realtime conversation.
|
83
|
+
item:,
|
84
|
+
# Optional client-generated ID used to identify this event.
|
85
|
+
event_id: nil,
|
86
|
+
# The ID of the preceding item after which the new item will be inserted. If not
|
87
|
+
# set, the new item will be appended to the end of the conversation. If set to
|
88
|
+
# `root`, the new item will be added to the beginning of the conversation. If set
|
89
|
+
# to an existing ID, it allows an item to be inserted mid-conversation. If the ID
|
90
|
+
# cannot be found, an error will be returned and the item will not be added.
|
91
|
+
previous_item_id: nil,
|
92
|
+
# The event type, must be `conversation.item.create`.
|
93
|
+
type: :"conversation.item.create"
|
94
|
+
)
|
95
|
+
end
|
96
|
+
|
97
|
+
sig do
|
98
|
+
override.returns(
|
99
|
+
{
|
100
|
+
item:
|
101
|
+
T.any(
|
102
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
103
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
104
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
105
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
106
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
107
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
108
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
109
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
110
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
111
|
+
),
|
112
|
+
type: Symbol,
|
113
|
+
event_id: String,
|
114
|
+
previous_item_id: String
|
115
|
+
}
|
116
|
+
)
|
117
|
+
end
|
118
|
+
def to_hash
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemCreatedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemCreatedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The unique ID of the server event.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :event_id
|
18
|
+
|
19
|
+
# A single item within a Realtime conversation.
|
20
|
+
sig do
|
21
|
+
returns(
|
22
|
+
T.any(
|
23
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
24
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
25
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
26
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
27
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
28
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
29
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
30
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
31
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
32
|
+
)
|
33
|
+
)
|
34
|
+
end
|
35
|
+
attr_accessor :item
|
36
|
+
|
37
|
+
# The event type, must be `conversation.item.created`.
|
38
|
+
sig { returns(Symbol) }
|
39
|
+
attr_accessor :type
|
40
|
+
|
41
|
+
# The ID of the preceding item in the Conversation context, allows the client to
|
42
|
+
# understand the order of the conversation. Can be `null` if the item has no
|
43
|
+
# predecessor.
|
44
|
+
sig { returns(T.nilable(String)) }
|
45
|
+
attr_accessor :previous_item_id
|
46
|
+
|
47
|
+
# Returned when a conversation item is created. There are several scenarios that
|
48
|
+
# produce this event:
|
49
|
+
#
|
50
|
+
# - The server is generating a Response, which if successful will produce either
|
51
|
+
# one or two Items, which will be of type `message` (role `assistant`) or type
|
52
|
+
# `function_call`.
|
53
|
+
# - The input audio buffer has been committed, either by the client or the server
|
54
|
+
# (in `server_vad` mode). The server will take the content of the input audio
|
55
|
+
# buffer and add it to a new user message Item.
|
56
|
+
# - The client has sent a `conversation.item.create` event to add a new Item to
|
57
|
+
# the Conversation.
|
58
|
+
sig do
|
59
|
+
params(
|
60
|
+
event_id: String,
|
61
|
+
item:
|
62
|
+
T.any(
|
63
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage::OrHash,
|
64
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage::OrHash,
|
65
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage::OrHash,
|
66
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall::OrHash,
|
67
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput::OrHash,
|
68
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse::OrHash,
|
69
|
+
OpenAI::Realtime::RealtimeMcpListTools::OrHash,
|
70
|
+
OpenAI::Realtime::RealtimeMcpToolCall::OrHash,
|
71
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest::OrHash
|
72
|
+
),
|
73
|
+
previous_item_id: T.nilable(String),
|
74
|
+
type: Symbol
|
75
|
+
).returns(T.attached_class)
|
76
|
+
end
|
77
|
+
def self.new(
|
78
|
+
# The unique ID of the server event.
|
79
|
+
event_id:,
|
80
|
+
# A single item within a Realtime conversation.
|
81
|
+
item:,
|
82
|
+
# The ID of the preceding item in the Conversation context, allows the client to
|
83
|
+
# understand the order of the conversation. Can be `null` if the item has no
|
84
|
+
# predecessor.
|
85
|
+
previous_item_id: nil,
|
86
|
+
# The event type, must be `conversation.item.created`.
|
87
|
+
type: :"conversation.item.created"
|
88
|
+
)
|
89
|
+
end
|
90
|
+
|
91
|
+
sig do
|
92
|
+
override.returns(
|
93
|
+
{
|
94
|
+
event_id: String,
|
95
|
+
item:
|
96
|
+
T.any(
|
97
|
+
OpenAI::Realtime::RealtimeConversationItemSystemMessage,
|
98
|
+
OpenAI::Realtime::RealtimeConversationItemUserMessage,
|
99
|
+
OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
|
100
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCall,
|
101
|
+
OpenAI::Realtime::RealtimeConversationItemFunctionCallOutput,
|
102
|
+
OpenAI::Realtime::RealtimeMcpApprovalResponse,
|
103
|
+
OpenAI::Realtime::RealtimeMcpListTools,
|
104
|
+
OpenAI::Realtime::RealtimeMcpToolCall,
|
105
|
+
OpenAI::Realtime::RealtimeMcpApprovalRequest
|
106
|
+
),
|
107
|
+
type: Symbol,
|
108
|
+
previous_item_id: T.nilable(String)
|
109
|
+
}
|
110
|
+
)
|
111
|
+
end
|
112
|
+
def to_hash
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemDeleteEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemDeleteEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The ID of the item to delete.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :item_id
|
18
|
+
|
19
|
+
# The event type, must be `conversation.item.delete`.
|
20
|
+
sig { returns(Symbol) }
|
21
|
+
attr_accessor :type
|
22
|
+
|
23
|
+
# Optional client-generated ID used to identify this event.
|
24
|
+
sig { returns(T.nilable(String)) }
|
25
|
+
attr_reader :event_id
|
26
|
+
|
27
|
+
sig { params(event_id: String).void }
|
28
|
+
attr_writer :event_id
|
29
|
+
|
30
|
+
# Send this event when you want to remove any item from the conversation history.
|
31
|
+
# The server will respond with a `conversation.item.deleted` event, unless the
|
32
|
+
# item does not exist in the conversation history, in which case the server will
|
33
|
+
# respond with an error.
|
34
|
+
sig do
|
35
|
+
params(item_id: String, event_id: String, type: Symbol).returns(
|
36
|
+
T.attached_class
|
37
|
+
)
|
38
|
+
end
|
39
|
+
def self.new(
|
40
|
+
# The ID of the item to delete.
|
41
|
+
item_id:,
|
42
|
+
# Optional client-generated ID used to identify this event.
|
43
|
+
event_id: nil,
|
44
|
+
# The event type, must be `conversation.item.delete`.
|
45
|
+
type: :"conversation.item.delete"
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
sig do
|
50
|
+
override.returns({ item_id: String, type: Symbol, event_id: String })
|
51
|
+
end
|
52
|
+
def to_hash
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module OpenAI
|
4
|
+
module Models
|
5
|
+
module Realtime
|
6
|
+
class ConversationItemDeletedEvent < OpenAI::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
OpenAI::Realtime::ConversationItemDeletedEvent,
|
11
|
+
OpenAI::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The unique ID of the server event.
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :event_id
|
18
|
+
|
19
|
+
# The ID of the item that was deleted.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :item_id
|
22
|
+
|
23
|
+
# The event type, must be `conversation.item.deleted`.
|
24
|
+
sig { returns(Symbol) }
|
25
|
+
attr_accessor :type
|
26
|
+
|
27
|
+
# Returned when an item in the conversation is deleted by the client with a
|
28
|
+
# `conversation.item.delete` event. This event is used to synchronize the server's
|
29
|
+
# understanding of the conversation history with the client's view.
|
30
|
+
sig do
|
31
|
+
params(event_id: String, item_id: String, type: Symbol).returns(
|
32
|
+
T.attached_class
|
33
|
+
)
|
34
|
+
end
|
35
|
+
def self.new(
|
36
|
+
# The unique ID of the server event.
|
37
|
+
event_id:,
|
38
|
+
# The ID of the item that was deleted.
|
39
|
+
item_id:,
|
40
|
+
# The event type, must be `conversation.item.deleted`.
|
41
|
+
type: :"conversation.item.deleted"
|
42
|
+
)
|
43
|
+
end
|
44
|
+
|
45
|
+
sig do
|
46
|
+
override.returns({ event_id: String, item_id: String, type: Symbol })
|
47
|
+
end
|
48
|
+
def to_hash
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|