openai 0.103.0 → 0.104.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 +81 -0
- data/README.md +23 -1
- data/lib/openai/client.rb +3 -386
- data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
- data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
- data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
- data/lib/openai/helpers/beta/agents/files.rb +41 -0
- data/lib/openai/helpers/client_runtime.rb +391 -0
- data/lib/openai/helpers/files.rb +47 -0
- data/lib/openai/helpers/live/websocket.rb +8 -57
- data/lib/openai/helpers/models/chat/parsed.rb +32 -0
- data/lib/openai/helpers/models/responses/parsed.rb +30 -0
- data/lib/openai/helpers/models/responses/response.rb +32 -0
- data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
- data/lib/openai/helpers/realtime/client_extension.rb +1 -2
- data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
- data/lib/openai/helpers/realtime/translation.rb +7 -50
- data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
- data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
- data/lib/openai/helpers/streaming/response_stream.rb +1 -16
- data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
- data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
- data/lib/openai/helpers/vector_stores/files.rb +198 -0
- data/lib/openai/helpers/websocket/client_request.rb +31 -6
- data/lib/openai/helpers/websocket/connection.rb +58 -0
- data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
- data/lib/openai/helpers/websocket/protocol.rb +2 -1
- data/lib/openai/helpers/websocket/resource.rb +54 -0
- data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
- data/lib/openai/helpers/websocket.rb +4 -0
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
- data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
- data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
- data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
- data/lib/openai/models/admin/organization/project_residency.rb +3 -0
- data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
- data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
- data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
- data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
- data/lib/openai/models/audio/speech_create_params.rb +6 -3
- data/lib/openai/models/audio/translation_create_response.rb +0 -1
- data/lib/openai/models/audio/voice.rb +17 -2
- data/lib/openai/models/audio/voice_create_params.rb +100 -3
- data/lib/openai/models/beta/agent_create_params.rb +4 -2
- data/lib/openai/models/beta/agent_list_params.rb +4 -4
- data/lib/openai/models/beta/agent_session.rb +37 -1
- data/lib/openai/models/beta/agent_update_params.rb +4 -2
- data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
- data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
- data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
- data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
- data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
- data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
- data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
- data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
- data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
- data/lib/openai/models/beta/beta_response.rb +23 -2
- data/lib/openai/models/beta/beta_response_error.rb +19 -1
- data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
- data/lib/openai/models/beta/beta_response_item.rb +107 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
- data/lib/openai/models/beta/response_compact_params.rb +21 -0
- data/lib/openai/models/beta/response_create_params.rb +23 -2
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
- data/lib/openai/models/chat/chat_completion_message.rb +0 -8
- data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
- data/lib/openai/models/chat/completion_create_params.rb +5 -12
- data/lib/openai/models/chat_model.rb +21 -0
- data/lib/openai/models/conversations/conversation_item.rb +107 -1
- data/lib/openai/models/decision.rb +17 -2
- data/lib/openai/models/decision_create_params.rb +29 -12
- data/lib/openai/models/decision_input_image.rb +4 -3
- data/lib/openai/models/decision_input_message.rb +4 -4
- data/lib/openai/models/decision_input_part.rb +3 -2
- data/lib/openai/models/image_edit_completed_event.rb +1 -2
- data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
- data/lib/openai/models/image_gen_completed_event.rb +1 -2
- data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
- data/lib/openai/models/images_response.rb +1 -2
- data/lib/openai/models/live/built_in_voice.rb +1 -0
- data/lib/openai/models/live/client_event.rb +14 -2
- data/lib/openai/models/live/decision_create_event.rb +26 -0
- data/lib/openai/models/live/decision_event.rb +117 -0
- data/lib/openai/models/live/decision_item_create_event.rb +194 -0
- data/lib/openai/models/live/decision_item_created_event.rb +202 -0
- data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
- data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
- data/lib/openai/models/live/decision_trigger.rb +244 -0
- data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
- data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
- data/lib/openai/models/live/delegation_created_event.rb +10 -10
- data/lib/openai/models/live/fork_client_event.rb +14 -2
- data/lib/openai/models/live/fork_server_event.rb +17 -2
- data/lib/openai/models/live/media_session_config.rb +47 -11
- data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
- data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
- data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
- data/lib/openai/models/live/server_event.rb +17 -2
- data/lib/openai/models/live/session_accept_params.rb +47 -11
- data/lib/openai/models/live/session_config.rb +47 -11
- data/lib/openai/models/live/session_resource.rb +47 -11
- data/lib/openai/models/live/session_update_config.rb +38 -6
- data/lib/openai/models/live/session_update_event.rb +8 -8
- data/lib/openai/models/live/sideband_client_event.rb +57 -0
- data/lib/openai/models/live/sideband_server_event.rb +78 -0
- data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
- data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
- data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
- data/lib/openai/models/response_format_json_schema.rb +1 -1
- data/lib/openai/models/responses/function_tool.rb +8 -6
- data/lib/openai/models/responses/response.rb +2 -23
- data/lib/openai/models/responses/response_compact_params.rb +21 -0
- data/lib/openai/models/responses/response_create_params.rb +3 -6
- data/lib/openai/models/responses/response_error.rb +19 -1
- data/lib/openai/models/responses/response_format_text_config.rb +0 -4
- data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
- data/lib/openai/models/responses/response_input_item.rb +107 -1
- data/lib/openai/models/responses/response_item.rb +107 -1
- data/lib/openai/models/responses/response_output_item.rb +107 -1
- data/lib/openai/models/responses/response_output_text.rb +0 -8
- data/lib/openai/models/responses/responses_client_event.rb +2 -2
- data/lib/openai/models/safety/safety_alert.rb +12 -1
- data/lib/openai/models/video_create_error.rb +19 -1
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
- data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
- data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
- data/lib/openai/resources/admin/organization/usage.rb +67 -0
- data/lib/openai/resources/audio/speech.rb +2 -1
- data/lib/openai/resources/audio/voices.rb +10 -10
- data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
- data/lib/openai/resources/beta/agents/environments.rb +3 -3
- data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
- data/lib/openai/resources/beta/agents/sessions.rb +20 -56
- data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
- data/lib/openai/resources/beta/agents/vaults.rb +45 -6
- data/lib/openai/resources/beta/agents.rb +6 -4
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/chat/completions.rb +11 -37
- data/lib/openai/resources/decisions.rb +9 -15
- data/lib/openai/resources/files.rb +0 -39
- data/lib/openai/resources/live/forks.rb +19 -0
- data/lib/openai/resources/live/sideband.rb +19 -0
- data/lib/openai/resources/live.rb +19 -0
- data/lib/openai/resources/realtime/translations.rb +19 -0
- data/lib/openai/resources/realtime.rb +19 -0
- data/lib/openai/resources/responses.rb +44 -95
- data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
- data/lib/openai/resources/vector_stores/files.rb +0 -188
- data/lib/openai/resources/webhooks.rb +13 -29
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +31 -0
- data/rbi/openai/client.rbi +0 -103
- data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
- data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
- data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
- data/rbi/openai/helpers/client_runtime.rbi +108 -0
- data/rbi/openai/helpers/files.rbi +25 -0
- data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
- data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
- data/rbi/openai/helpers/models/responses/response.rbi +15 -0
- data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
- data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
- data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
- data/rbi/openai/helpers/websocket.rbi +82 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
- data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
- data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
- data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
- data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
- data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
- data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
- data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
- data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
- data/rbi/openai/models/audio/voice.rbi +21 -2
- data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
- data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
- data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
- data/rbi/openai/models/beta/agent_session.rbi +64 -1
- data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
- data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
- data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
- data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
- data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
- data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
- data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
- data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
- data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
- data/rbi/openai/models/beta/beta_response.rbi +2 -2
- data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
- data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
- data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
- data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
- data/rbi/openai/models/beta/response_create_params.rbi +2 -2
- data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
- data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
- data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
- data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
- data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
- data/rbi/openai/models/decision.rbi +14 -1
- data/rbi/openai/models/decision_create_params.rbi +23 -12
- data/rbi/openai/models/decision_input_image.rbi +4 -3
- data/rbi/openai/models/decision_input_message.rbi +4 -4
- data/rbi/openai/models/decision_input_part.rbi +2 -1
- data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
- data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
- data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
- data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
- data/rbi/openai/models/images_response.rbi +1 -0
- data/rbi/openai/models/live/built_in_voice.rbi +1 -0
- data/rbi/openai/models/live/client_event.rbi +4 -0
- data/rbi/openai/models/live/decision_create_event.rbi +55 -0
- data/rbi/openai/models/live/decision_event.rbi +185 -0
- data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
- data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
- data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
- data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
- data/rbi/openai/models/live/decision_trigger.rbi +465 -0
- data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
- data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
- data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
- data/rbi/openai/models/live/fork_client_event.rbi +4 -0
- data/rbi/openai/models/live/fork_server_event.rbi +5 -0
- data/rbi/openai/models/live/media_session_config.rbi +95 -14
- data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
- data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
- data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
- data/rbi/openai/models/live/server_event.rbi +5 -0
- data/rbi/openai/models/live/session_accept_params.rbi +88 -12
- data/rbi/openai/models/live/session_config.rbi +100 -14
- data/rbi/openai/models/live/session_resource.rbi +81 -10
- data/rbi/openai/models/live/session_update_config.rbi +86 -9
- data/rbi/openai/models/live/session_update_event.rbi +8 -8
- data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
- data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
- data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
- data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
- data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
- data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
- data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
- data/rbi/openai/models/responses/response.rbi +2 -7
- data/rbi/openai/models/responses/response_create_params.rbi +5 -9
- data/rbi/openai/models/responses/response_error.rbi +24 -3
- data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
- data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
- data/rbi/openai/models/responses/response_input_item.rbi +191 -0
- data/rbi/openai/models/responses/response_item.rbi +189 -0
- data/rbi/openai/models/responses/response_output_item.rbi +191 -0
- data/rbi/openai/models/responses/response_output_text.rbi +0 -4
- data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
- data/rbi/openai/models/safety/safety_alert.rbi +13 -1
- data/rbi/openai/models/video_create_error.rbi +24 -3
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
- data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
- data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
- data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
- data/rbi/openai/resources/audio/speech.rbi +2 -1
- data/rbi/openai/resources/audio/voices.rbi +13 -10
- data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
- data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
- data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
- data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
- data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
- data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
- data/rbi/openai/resources/beta/agents.rbi +6 -4
- data/rbi/openai/resources/beta/responses.rbi +2 -2
- data/rbi/openai/resources/chat/completions.rbi +26 -29
- data/rbi/openai/resources/decisions.rbi +9 -15
- data/rbi/openai/resources/files.rbi +0 -18
- data/rbi/openai/resources/live/forks.rbi +17 -0
- data/rbi/openai/resources/live/sideband.rbi +17 -0
- data/rbi/openai/resources/live.rbi +17 -0
- data/rbi/openai/resources/realtime/translations.rbi +17 -0
- data/rbi/openai/resources/realtime.rbi +17 -0
- data/rbi/openai/resources/responses.rbi +41 -333
- data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
- data/rbi/openai/resources/vector_stores/files.rbi +0 -113
- data/rbi/openai/resources/webhooks.rbi +1 -1
- data/sig/openai/client.rbs +0 -50
- data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
- data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
- data/sig/openai/helpers/beta/agents/files.rbs +30 -0
- data/sig/openai/helpers/client_runtime.rbs +53 -0
- data/sig/openai/helpers/files.rbs +12 -0
- data/sig/openai/helpers/models/responses/response.rbs +9 -0
- data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
- data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
- data/sig/openai/helpers/vector_stores/files.rbs +43 -0
- data/sig/openai/helpers/websocket.rbs +40 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
- data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
- data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
- data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
- data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
- data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
- data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
- data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
- data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
- data/sig/openai/models/audio/speech_create_params.rbs +4 -2
- data/sig/openai/models/audio/voice.rbs +21 -3
- data/sig/openai/models/audio/voice_create_params.rbs +90 -1
- data/sig/openai/models/beta/agent_create_params.rbs +4 -2
- data/sig/openai/models/beta/agent_list_params.rbs +9 -6
- data/sig/openai/models/beta/agent_session.rbs +36 -2
- data/sig/openai/models/beta/agent_update_params.rbs +4 -2
- data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
- data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
- data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
- data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
- data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
- data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
- data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
- data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
- data/sig/openai/models/beta/beta_response.rbs +2 -2
- data/sig/openai/models/beta/beta_response_error.rbs +19 -3
- data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
- data/sig/openai/models/beta/beta_response_item.rbs +110 -0
- data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
- data/sig/openai/models/beta/response_create_params.rbs +2 -2
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
- data/sig/openai/models/chat/completion_create_params.rbs +2 -2
- data/sig/openai/models/conversations/conversation_item.rbs +110 -0
- data/sig/openai/models/decision.rbs +13 -0
- data/sig/openai/models/decision_create_params.rbs +19 -8
- data/sig/openai/models/decision_input_image.rbs +2 -2
- data/sig/openai/models/decision_input_message.rbs +2 -2
- data/sig/openai/models/live/built_in_voice.rbs +2 -0
- data/sig/openai/models/live/client_event.rbs +4 -0
- data/sig/openai/models/live/decision_create_event.rbs +18 -0
- data/sig/openai/models/live/decision_event.rbs +102 -0
- data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
- data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
- data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
- data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
- data/sig/openai/models/live/decision_trigger.rbs +234 -0
- data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
- data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
- data/sig/openai/models/live/delegation_created_event.rbs +6 -7
- data/sig/openai/models/live/fork_client_event.rbs +4 -0
- data/sig/openai/models/live/fork_server_event.rbs +5 -0
- data/sig/openai/models/live/media_session_config.rbs +58 -11
- data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
- data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
- data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
- data/sig/openai/models/live/server_event.rbs +5 -0
- data/sig/openai/models/live/session_accept_params.rbs +57 -10
- data/sig/openai/models/live/session_config.rbs +58 -11
- data/sig/openai/models/live/session_resource.rbs +57 -10
- data/sig/openai/models/live/session_update_config.rbs +54 -3
- data/sig/openai/models/live/session_update_event.rbs +6 -6
- data/sig/openai/models/live/sideband_client_event.rbs +26 -0
- data/sig/openai/models/live/sideband_server_event.rbs +33 -0
- data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
- data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
- data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
- data/sig/openai/models/responses/response.rbs +2 -4
- data/sig/openai/models/responses/response_create_params.rbs +2 -2
- data/sig/openai/models/responses/response_error.rbs +19 -3
- data/sig/openai/models/responses/response_input_item.rbs +110 -0
- data/sig/openai/models/responses/response_item.rbs +110 -0
- data/sig/openai/models/responses/response_output_item.rbs +110 -0
- data/sig/openai/models/responses/responses_client_event.rbs +2 -2
- data/sig/openai/models/safety/safety_alert.rbs +12 -2
- data/sig/openai/models/video_create_error.rbs +19 -3
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
- data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
- data/sig/openai/resources/admin/organization/usage.rbs +15 -0
- data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
- data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
- data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
- data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
- data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
- data/sig/openai/resources/beta/agents.rbs +1 -1
- data/sig/openai/resources/files.rbs +0 -7
- data/sig/openai/resources/live/forks.rbs +8 -0
- data/sig/openai/resources/live/sideband.rbs +8 -0
- data/sig/openai/resources/live.rbs +7 -0
- data/sig/openai/resources/realtime/translations.rbs +7 -0
- data/sig/openai/resources/realtime.rbs +7 -0
- data/sig/openai/resources/responses.rbs +7 -31
- data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
- data/sig/openai/resources/vector_stores/files.rbs +0 -36
- data/sig/openai/resources/webhooks.rbs +1 -1
- metadata +89 -1
|
@@ -38,8 +38,8 @@ module OpenAI
|
|
|
38
38
|
optional :client_event_id, String
|
|
39
39
|
|
|
40
40
|
# @!method initialize(delegation:, event_id:, offset_ms:, client_event_id: nil, type: :"session.delegation.created")
|
|
41
|
-
# Returned when the Live model delegates work to your application or
|
|
42
|
-
#
|
|
41
|
+
# Returned when the Live model delegates work to your application, Responses, or
|
|
42
|
+
# Decisions. Contains delegation metadata and the position on the session timeline
|
|
43
43
|
# where the work was delegated.
|
|
44
44
|
#
|
|
45
45
|
# @param delegation [OpenAI::Models::Live::DelegationCreatedEvent::Delegation]
|
|
@@ -64,14 +64,13 @@ module OpenAI
|
|
|
64
64
|
class Delegation < OpenAI::Internal::Type::BaseModel
|
|
65
65
|
# @!attribute id
|
|
66
66
|
# The unique ID of the delegation. Use this as delegation_id when replying to
|
|
67
|
-
# client-owned work or correlating
|
|
67
|
+
# client-owned work or correlating backend events.
|
|
68
68
|
#
|
|
69
69
|
# @return [String]
|
|
70
70
|
required :id, String
|
|
71
71
|
|
|
72
72
|
# @!attribute target
|
|
73
|
-
# Where the Live model delegated the work: `client`
|
|
74
|
-
# `responses` for the configured Responses backend.
|
|
73
|
+
# Where the Live model delegated the work: `client`, `responses`, or `decisions`.
|
|
75
74
|
#
|
|
76
75
|
# @return [Symbol, OpenAI::Models::Live::DelegationCreatedEvent::Delegation::Target]
|
|
77
76
|
required :target, union: -> { OpenAI::Live::DelegationCreatedEvent::Delegation::Target }
|
|
@@ -95,11 +94,10 @@ module OpenAI
|
|
|
95
94
|
#
|
|
96
95
|
# @param id [String]
|
|
97
96
|
# The unique ID of the delegation. Use this as delegation_id when replying to
|
|
98
|
-
# client-owned work or correlating
|
|
97
|
+
# client-owned work or correlating backend events.
|
|
99
98
|
#
|
|
100
99
|
# @param target [Symbol, OpenAI::Models::Live::DelegationCreatedEvent::Delegation::Target]
|
|
101
|
-
# Where the Live model delegated the work: `client`
|
|
102
|
-
# `responses` for the configured Responses backend.
|
|
100
|
+
# Where the Live model delegated the work: `client`, `responses`, or `decisions`.
|
|
103
101
|
#
|
|
104
102
|
# @param response_id [String]
|
|
105
103
|
# The ID of the Responses API response associated with a Responses delegation.
|
|
@@ -108,8 +106,7 @@ module OpenAI
|
|
|
108
106
|
# @param type [Symbol, :delegation]
|
|
109
107
|
# The object type, always `delegation`.
|
|
110
108
|
|
|
111
|
-
# Where the Live model delegated the work: `client`
|
|
112
|
-
# `responses` for the configured Responses backend.
|
|
109
|
+
# Where the Live model delegated the work: `client`, `responses`, or `decisions`.
|
|
113
110
|
#
|
|
114
111
|
# @see OpenAI::Models::Live::DelegationCreatedEvent::Delegation#target
|
|
115
112
|
module Target
|
|
@@ -119,6 +116,8 @@ module OpenAI
|
|
|
119
116
|
|
|
120
117
|
variant const: -> { OpenAI::Models::Live::DelegationCreatedEvent::Delegation::Target::RESPONSES }
|
|
121
118
|
|
|
119
|
+
variant const: -> { OpenAI::Models::Live::DelegationCreatedEvent::Delegation::Target::DECISIONS }
|
|
120
|
+
|
|
122
121
|
# @!method self.variants
|
|
123
122
|
# @return [Array(Symbol)]
|
|
124
123
|
|
|
@@ -130,6 +129,7 @@ module OpenAI
|
|
|
130
129
|
|
|
131
130
|
CLIENT = :client
|
|
132
131
|
RESPONSES = :responses
|
|
132
|
+
DECISIONS = :decisions
|
|
133
133
|
|
|
134
134
|
# @!endgroup
|
|
135
135
|
end
|
|
@@ -15,7 +15,7 @@ module OpenAI
|
|
|
15
15
|
# Start a Live session after connecting to a stored session’s fork WebSocket. Send an empty `session` object to use the stored configuration.
|
|
16
16
|
variant :"session.start", -> { OpenAI::Live::ForkSessionStartEvent }
|
|
17
17
|
|
|
18
|
-
# Update the delegation settings of an active Live session. The server acknowledges accepted changes with `session.updated`.
|
|
18
|
+
# Update the delegation settings or transcript triggers of an active Live session. The server acknowledges accepted changes with `session.updated`.
|
|
19
19
|
variant :"session.update", -> { OpenAI::Live::SessionUpdateEvent }
|
|
20
20
|
|
|
21
21
|
# Send audio to a Live session over its primary WebSocket. WebRTC and SIP sessions send audio over their media transport.
|
|
@@ -27,6 +27,9 @@ module OpenAI
|
|
|
27
27
|
# Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`.
|
|
28
28
|
variant :"session.input_audio.unmute", -> { OpenAI::Live::InputAudioUnmuteEvent }
|
|
29
29
|
|
|
30
|
+
# Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is interrupted and input is muted. Only one fixture can be active. fixture.playing acknowledges acceptance and fixture.played reports server mixer drain. These notifications are not exact transport-media boundaries. Input arriving during playback is dropped and not replayed.
|
|
31
|
+
variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
|
|
32
|
+
|
|
30
33
|
# Append instructions to the Live conversation while it is running, optionally associating them with an existing client delegation.
|
|
31
34
|
variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
|
|
32
35
|
|
|
@@ -36,6 +39,15 @@ module OpenAI
|
|
|
36
39
|
# Provide context the Live model can communicate to the user, optionally for an existing client delegation.
|
|
37
40
|
variant :"session.commentary.append", -> { OpenAI::Live::CommentaryAppendEvent }
|
|
38
41
|
|
|
42
|
+
# Evaluate the configured questions using the current conversation and Decision inputs. Reusing an event_id is rejected for the lifetime of the session.
|
|
43
|
+
variant :"decision.create", -> { OpenAI::Live::DecisionCreateEvent }
|
|
44
|
+
|
|
45
|
+
# Append an input item for future decisions without starting an evaluation or changing Live voice context.
|
|
46
|
+
variant :"decision.item.create", -> { OpenAI::Live::DecisionItemCreateEvent }
|
|
47
|
+
|
|
48
|
+
# Delete an input item from future decisions without starting an evaluation or changing Live voice context.
|
|
49
|
+
variant :"decision.item.delete", -> { OpenAI::Live::DecisionItemDeleteEvent }
|
|
50
|
+
|
|
39
51
|
# Add an input item to the Live session’s Responses backend. Requires Responses delegation; use `response.create` to request a response.
|
|
40
52
|
variant :"response.item.create", -> { OpenAI::Live::ResponseItemCreateEvent }
|
|
41
53
|
|
|
@@ -46,7 +58,7 @@ module OpenAI
|
|
|
46
58
|
variant :"session.close", -> { OpenAI::Live::SessionCloseEvent }
|
|
47
59
|
|
|
48
60
|
# @!method self.variants
|
|
49
|
-
# @return [Array(OpenAI::Models::Live::ForkSessionStartEvent, OpenAI::Models::Live::SessionUpdateEvent, OpenAI::Models::Live::InputAudioAppendEvent, OpenAI::Models::Live::InputAudioMuteEvent, OpenAI::Models::Live::InputAudioUnmuteEvent, OpenAI::Models::Live::InstructionsAppendEvent, OpenAI::Models::Live::ThinkingAppendEvent, OpenAI::Models::Live::CommentaryAppendEvent, OpenAI::Models::Live::ResponseItemCreateEvent, OpenAI::Models::Live::ResponseCreateEvent, OpenAI::Models::Live::SessionCloseEvent)]
|
|
61
|
+
# @return [Array(OpenAI::Models::Live::ForkSessionStartEvent, OpenAI::Models::Live::SessionUpdateEvent, OpenAI::Models::Live::InputAudioAppendEvent, OpenAI::Models::Live::InputAudioMuteEvent, OpenAI::Models::Live::InputAudioUnmuteEvent, OpenAI::Models::Live::OutputAudioFixturePlayEvent, OpenAI::Models::Live::InstructionsAppendEvent, OpenAI::Models::Live::ThinkingAppendEvent, OpenAI::Models::Live::CommentaryAppendEvent, OpenAI::Models::Live::DecisionCreateEvent, OpenAI::Models::Live::DecisionItemCreateEvent, OpenAI::Models::Live::DecisionItemDeleteEvent, OpenAI::Models::Live::ResponseItemCreateEvent, OpenAI::Models::Live::ResponseCreateEvent, OpenAI::Models::Live::SessionCloseEvent)]
|
|
50
62
|
end
|
|
51
63
|
end
|
|
52
64
|
end
|
|
@@ -25,6 +25,12 @@ module OpenAI
|
|
|
25
25
|
# Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
|
|
26
26
|
variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
|
|
27
27
|
|
|
28
|
+
# The existing playback path has accepted the validated audio fixture. This acknowledgment does not identify when the listener receives the first sample. The optional client_event_id echoes the play command.
|
|
29
|
+
variant :"session.output_audio.fixture.playing", -> { OpenAI::Live::OutputAudioFixturePlayingEvent }
|
|
30
|
+
|
|
31
|
+
# The complete audio fixture has drained from the server mixer and normal inference has resumed. Transport buffers may still contain audio; this event does not prove listener-side completion. The optional client_event_id echoes the play command. This event is not emitted for canceled or failed playback.
|
|
32
|
+
variant :"session.output_audio.fixture.played", -> { OpenAI::Live::OutputAudioFixturePlayedEvent }
|
|
33
|
+
|
|
28
34
|
# Returned when a session.instructions.append command is accepted into the Live session timeline. Acknowledges the appended instructions without guaranteeing that the model has acted on them.
|
|
29
35
|
variant :"session.instructions.appended", -> { OpenAI::Live::InstructionsAppendedEvent }
|
|
30
36
|
|
|
@@ -46,9 +52,18 @@ module OpenAI
|
|
|
46
52
|
# A transcript fragment for assistant output audio in the Live session. Accumulate fragments in delivery order; these events do not define complete turns or include a transcript-done event.
|
|
47
53
|
variant :"session.output_transcript.delta", -> { OpenAI::Live::OutputTranscriptDeltaEvent }
|
|
48
54
|
|
|
49
|
-
# Returned when the Live model delegates work to your application or
|
|
55
|
+
# Returned when the Live model delegates work to your application, Responses, or Decisions. Contains delegation metadata and the position on the session timeline where the work was delegated.
|
|
50
56
|
variant :"session.delegation.created", -> { OpenAI::Live::DelegationCreatedEvent }
|
|
51
57
|
|
|
58
|
+
# A Decision API event for a Live delegation or transcript trigger. For a trigger, source_event_id identifies the transcript delta that caused this evaluation.
|
|
59
|
+
variant :"decision.event", -> { OpenAI::Live::DecisionEvent }
|
|
60
|
+
|
|
61
|
+
# An input item was appended for future decisions.
|
|
62
|
+
variant :"decision.item.created", -> { OpenAI::Live::DecisionItemCreatedEvent }
|
|
63
|
+
|
|
64
|
+
# An input item was removed from future decisions.
|
|
65
|
+
variant :"decision.item.deleted", -> { OpenAI::Live::DecisionItemDeletedEvent }
|
|
66
|
+
|
|
52
67
|
# A streaming Responses API event from a backend delegated to by the Live session. Use the outer delegation_id to associate the nested stream with its Live delegation.
|
|
53
68
|
variant :"response.event", -> { OpenAI::Live::ResponseEvent }
|
|
54
69
|
|
|
@@ -299,7 +314,7 @@ module OpenAI
|
|
|
299
314
|
end
|
|
300
315
|
|
|
301
316
|
# @!method self.variants
|
|
302
|
-
# @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ForkServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ForkServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ForkServerEvent::TransportDtmfSend, OpenAI::Models::Live::ForkServerEvent::TransportRinging, OpenAI::Models::Live::ForkServerEvent::TransportAnswered, OpenAI::Models::Live::ForkServerEvent::TransportFailed)]
|
|
317
|
+
# @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ForkServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ForkServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ForkServerEvent::TransportDtmfSend, OpenAI::Models::Live::ForkServerEvent::TransportRinging, OpenAI::Models::Live::ForkServerEvent::TransportAnswered, OpenAI::Models::Live::ForkServerEvent::TransportFailed)]
|
|
303
318
|
end
|
|
304
319
|
end
|
|
305
320
|
end
|
|
@@ -27,15 +27,16 @@ module OpenAI
|
|
|
27
27
|
|
|
28
28
|
# @!attribute delegation
|
|
29
29
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
30
|
-
# application; use `responses`
|
|
30
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
31
|
+
# API.
|
|
31
32
|
#
|
|
32
|
-
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::MediaSessionConfig::Delegation::Responses, nil]
|
|
33
|
+
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::MediaSessionConfig::Delegation::Responses, OpenAI::Models::Live::MediaSessionConfig::Delegation::Decisions, nil]
|
|
33
34
|
optional :delegation, union: -> { OpenAI::Live::MediaSessionConfig::Delegation }, nil?: true
|
|
34
35
|
|
|
35
36
|
# @!attribute input
|
|
36
37
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
37
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
38
|
-
# rendered
|
|
38
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
39
|
+
# configured rendered-token limit (8,192 by default).
|
|
39
40
|
#
|
|
40
41
|
# @return [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>, nil]
|
|
41
42
|
optional :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::InitialItem] }
|
|
@@ -59,7 +60,16 @@ module OpenAI
|
|
|
59
60
|
# @return [Boolean, nil]
|
|
60
61
|
optional :store, OpenAI::Internal::Type::Boolean
|
|
61
62
|
|
|
62
|
-
# @!
|
|
63
|
+
# @!attribute triggers
|
|
64
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
65
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
66
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
67
|
+
# triggers.
|
|
68
|
+
#
|
|
69
|
+
# @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
|
|
70
|
+
optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
|
|
71
|
+
|
|
72
|
+
# @!method initialize(model:, audio: nil, client: nil, delegation: nil, input: nil, instructions: nil, store: nil, triggers: nil)
|
|
63
73
|
# Startup configuration for a Live media session. Follow the
|
|
64
74
|
# [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
65
75
|
# when writing frontend instructions and the backend prompt under
|
|
@@ -77,14 +87,15 @@ module OpenAI
|
|
|
77
87
|
# Startup-only capabilities for an untrusted frontend attached to a unified WebRTC
|
|
78
88
|
# session. Trusted sideband connections are unaffected.
|
|
79
89
|
#
|
|
80
|
-
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::MediaSessionConfig::Delegation::Responses, nil]
|
|
90
|
+
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::MediaSessionConfig::Delegation::Responses, OpenAI::Models::Live::MediaSessionConfig::Delegation::Decisions, nil]
|
|
81
91
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
82
|
-
# application; use `responses`
|
|
92
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
93
|
+
# API.
|
|
83
94
|
#
|
|
84
95
|
# @param input [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>]
|
|
85
96
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
86
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
87
|
-
# rendered
|
|
97
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
98
|
+
# configured rendered-token limit (8,192 by default).
|
|
88
99
|
#
|
|
89
100
|
# @param instructions [String, nil]
|
|
90
101
|
# Frontend instructions for voice, conversation, interruptions, and when to
|
|
@@ -98,6 +109,12 @@ module OpenAI
|
|
|
98
109
|
# @param store [Boolean]
|
|
99
110
|
# Whether to store the session for later forking and recording download. Defaults
|
|
100
111
|
# to false for new sessions.
|
|
112
|
+
#
|
|
113
|
+
# @param triggers [Array<OpenAI::Models::Live::DecisionTrigger>]
|
|
114
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
115
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
116
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
117
|
+
# triggers.
|
|
101
118
|
|
|
102
119
|
# The Live model. Required in the session configuration for every transport; do
|
|
103
120
|
# not pass it as a URL query parameter.
|
|
@@ -179,7 +196,8 @@ module OpenAI
|
|
|
179
196
|
end
|
|
180
197
|
|
|
181
198
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
182
|
-
# application; use `responses`
|
|
199
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
200
|
+
# API.
|
|
183
201
|
#
|
|
184
202
|
# @see OpenAI::Models::Live::MediaSessionConfig#delegation
|
|
185
203
|
module Delegation
|
|
@@ -193,6 +211,8 @@ module OpenAI
|
|
|
193
211
|
# Delegate tasks to a Responses model managed by the Live session.
|
|
194
212
|
variant :responses, -> { OpenAI::Live::MediaSessionConfig::Delegation::Responses }
|
|
195
213
|
|
|
214
|
+
variant :decisions, -> { OpenAI::Live::MediaSessionConfig::Delegation::Decisions }
|
|
215
|
+
|
|
196
216
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
197
217
|
# @!attribute responses
|
|
198
218
|
# Backend model, prompt, and tools used when the Live session delegates a task to
|
|
@@ -218,8 +238,24 @@ module OpenAI
|
|
|
218
238
|
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
219
239
|
end
|
|
220
240
|
|
|
241
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
242
|
+
# @!attribute decisions
|
|
243
|
+
#
|
|
244
|
+
# @return [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
245
|
+
required :decisions, -> { OpenAI::Live::DecisionsDelegationConfig }
|
|
246
|
+
|
|
247
|
+
# @!attribute type
|
|
248
|
+
#
|
|
249
|
+
# @return [Symbol, :decisions]
|
|
250
|
+
required :type, const: :decisions
|
|
251
|
+
|
|
252
|
+
# @!method initialize(decisions:, type: :decisions)
|
|
253
|
+
# @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
254
|
+
# @param type [Symbol, :decisions]
|
|
255
|
+
end
|
|
256
|
+
|
|
221
257
|
# @!method self.variants
|
|
222
|
-
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::MediaSessionConfig::Delegation::Responses)]
|
|
258
|
+
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::MediaSessionConfig::Delegation::Responses, OpenAI::Models::Live::MediaSessionConfig::Delegation::Decisions)]
|
|
223
259
|
end
|
|
224
260
|
end
|
|
225
261
|
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class OutputAudioFixturePlayEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute audio
|
|
8
|
+
# Base64-encoded raw mono PCM16 audio, little-endian, at 24 kHz. Do not include a
|
|
9
|
+
# WAV or other container header.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :audio, String
|
|
13
|
+
|
|
14
|
+
# @!attribute type
|
|
15
|
+
#
|
|
16
|
+
# @return [Symbol, :"session.output_audio.fixture.play"]
|
|
17
|
+
required :type, const: :"session.output_audio.fixture.play"
|
|
18
|
+
|
|
19
|
+
# @!attribute event_id
|
|
20
|
+
# Optional client identifier for correlating this command with a server event's
|
|
21
|
+
# client_event_id or error.client_event_id.
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :event_id, String, nil?: true
|
|
25
|
+
|
|
26
|
+
# @!method initialize(audio:, event_id: nil, type: :"session.output_audio.fixture.play")
|
|
27
|
+
# Play one complete audio fixture through the session output. Send this event over
|
|
28
|
+
# the primary WebSocket or a server sideband. Audio must be raw mono PCM16
|
|
29
|
+
# little-endian at 24 kHz, regardless of the session audio format, and at most 30
|
|
30
|
+
# seconds. The entire payload is validated before model speech is interrupted and
|
|
31
|
+
# input is muted. Only one fixture can be active. fixture.playing acknowledges
|
|
32
|
+
# acceptance and fixture.played reports server mixer drain. These notifications
|
|
33
|
+
# are not exact transport-media boundaries. Input arriving during playback is
|
|
34
|
+
# dropped and not replayed.
|
|
35
|
+
#
|
|
36
|
+
# @param audio [String]
|
|
37
|
+
# Base64-encoded raw mono PCM16 audio, little-endian, at 24 kHz. Do not include a
|
|
38
|
+
# WAV or other container header.
|
|
39
|
+
#
|
|
40
|
+
# @param event_id [String, nil]
|
|
41
|
+
# Optional client identifier for correlating this command with a server event's
|
|
42
|
+
# client_event_id or error.client_event_id.
|
|
43
|
+
#
|
|
44
|
+
# @param type [Symbol, :"session.output_audio.fixture.play"]
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class OutputAudioFixturePlayedEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute event_id
|
|
8
|
+
# The unique ID of the Live server event.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :event_id, String
|
|
12
|
+
|
|
13
|
+
# @!attribute type
|
|
14
|
+
#
|
|
15
|
+
# @return [Symbol, :"session.output_audio.fixture.played"]
|
|
16
|
+
required :type, const: :"session.output_audio.fixture.played"
|
|
17
|
+
|
|
18
|
+
# @!attribute client_event_id
|
|
19
|
+
# The event_id of the client command associated with this server event, when
|
|
20
|
+
# supplied.
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :client_event_id, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(event_id:, client_event_id: nil, type: :"session.output_audio.fixture.played")
|
|
26
|
+
# The complete audio fixture has drained from the server mixer and normal
|
|
27
|
+
# inference has resumed. Transport buffers may still contain audio; this event
|
|
28
|
+
# does not prove listener-side completion. The optional client_event_id echoes the
|
|
29
|
+
# play command. This event is not emitted for canceled or failed playback.
|
|
30
|
+
#
|
|
31
|
+
# @param event_id [String]
|
|
32
|
+
# The unique ID of the Live server event.
|
|
33
|
+
#
|
|
34
|
+
# @param client_event_id [String]
|
|
35
|
+
# The event_id of the client command associated with this server event, when
|
|
36
|
+
# supplied.
|
|
37
|
+
#
|
|
38
|
+
# @param type [Symbol, :"session.output_audio.fixture.played"]
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class OutputAudioFixturePlayingEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute event_id
|
|
8
|
+
# The unique ID of the Live server event.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :event_id, String
|
|
12
|
+
|
|
13
|
+
# @!attribute type
|
|
14
|
+
#
|
|
15
|
+
# @return [Symbol, :"session.output_audio.fixture.playing"]
|
|
16
|
+
required :type, const: :"session.output_audio.fixture.playing"
|
|
17
|
+
|
|
18
|
+
# @!attribute client_event_id
|
|
19
|
+
# The event_id of the client command associated with this server event, when
|
|
20
|
+
# supplied.
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :client_event_id, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(event_id:, client_event_id: nil, type: :"session.output_audio.fixture.playing")
|
|
26
|
+
# The existing playback path has accepted the validated audio fixture. This
|
|
27
|
+
# acknowledgment does not identify when the listener receives the first sample.
|
|
28
|
+
# The optional client_event_id echoes the play command.
|
|
29
|
+
#
|
|
30
|
+
# @param event_id [String]
|
|
31
|
+
# The unique ID of the Live server event.
|
|
32
|
+
#
|
|
33
|
+
# @param client_event_id [String]
|
|
34
|
+
# The event_id of the client command associated with this server event, when
|
|
35
|
+
# supplied.
|
|
36
|
+
#
|
|
37
|
+
# @param type [Symbol, :"session.output_audio.fixture.playing"]
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -25,6 +25,12 @@ module OpenAI
|
|
|
25
25
|
# Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
|
|
26
26
|
variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
|
|
27
27
|
|
|
28
|
+
# The existing playback path has accepted the validated audio fixture. This acknowledgment does not identify when the listener receives the first sample. The optional client_event_id echoes the play command.
|
|
29
|
+
variant :"session.output_audio.fixture.playing", -> { OpenAI::Live::OutputAudioFixturePlayingEvent }
|
|
30
|
+
|
|
31
|
+
# The complete audio fixture has drained from the server mixer and normal inference has resumed. Transport buffers may still contain audio; this event does not prove listener-side completion. The optional client_event_id echoes the play command. This event is not emitted for canceled or failed playback.
|
|
32
|
+
variant :"session.output_audio.fixture.played", -> { OpenAI::Live::OutputAudioFixturePlayedEvent }
|
|
33
|
+
|
|
28
34
|
# Returned when a session.instructions.append command is accepted into the Live session timeline. Acknowledges the appended instructions without guaranteeing that the model has acted on them.
|
|
29
35
|
variant :"session.instructions.appended", -> { OpenAI::Live::InstructionsAppendedEvent }
|
|
30
36
|
|
|
@@ -46,9 +52,18 @@ module OpenAI
|
|
|
46
52
|
# A transcript fragment for assistant output audio in the Live session. Accumulate fragments in delivery order; these events do not define complete turns or include a transcript-done event.
|
|
47
53
|
variant :"session.output_transcript.delta", -> { OpenAI::Live::OutputTranscriptDeltaEvent }
|
|
48
54
|
|
|
49
|
-
# Returned when the Live model delegates work to your application or
|
|
55
|
+
# Returned when the Live model delegates work to your application, Responses, or Decisions. Contains delegation metadata and the position on the session timeline where the work was delegated.
|
|
50
56
|
variant :"session.delegation.created", -> { OpenAI::Live::DelegationCreatedEvent }
|
|
51
57
|
|
|
58
|
+
# A Decision API event for a Live delegation or transcript trigger. For a trigger, source_event_id identifies the transcript delta that caused this evaluation.
|
|
59
|
+
variant :"decision.event", -> { OpenAI::Live::DecisionEvent }
|
|
60
|
+
|
|
61
|
+
# An input item was appended for future decisions.
|
|
62
|
+
variant :"decision.item.created", -> { OpenAI::Live::DecisionItemCreatedEvent }
|
|
63
|
+
|
|
64
|
+
# An input item was removed from future decisions.
|
|
65
|
+
variant :"decision.item.deleted", -> { OpenAI::Live::DecisionItemDeletedEvent }
|
|
66
|
+
|
|
52
67
|
# A streaming Responses API event from a backend delegated to by the Live session. Use the outer delegation_id to associate the nested stream with its Live delegation.
|
|
53
68
|
variant :"response.event", -> { OpenAI::Live::ResponseEvent }
|
|
54
69
|
|
|
@@ -299,7 +314,7 @@ module OpenAI
|
|
|
299
314
|
end
|
|
300
315
|
|
|
301
316
|
# @!method self.variants
|
|
302
|
-
# @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ServerEvent::TransportDtmfSend, OpenAI::Models::Live::ServerEvent::TransportRinging, OpenAI::Models::Live::ServerEvent::TransportAnswered, OpenAI::Models::Live::ServerEvent::TransportFailed)]
|
|
317
|
+
# @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ServerEvent::TransportDtmfSend, OpenAI::Models::Live::ServerEvent::TransportRinging, OpenAI::Models::Live::ServerEvent::TransportAnswered, OpenAI::Models::Live::ServerEvent::TransportFailed)]
|
|
303
318
|
end
|
|
304
319
|
end
|
|
305
320
|
end
|
|
@@ -52,9 +52,10 @@ module OpenAI
|
|
|
52
52
|
|
|
53
53
|
# @!attribute delegation
|
|
54
54
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
55
|
-
# application; use `responses`
|
|
55
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
56
|
+
# API.
|
|
56
57
|
#
|
|
57
|
-
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Responses, nil]
|
|
58
|
+
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Responses, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Decisions, nil]
|
|
58
59
|
optional(
|
|
59
60
|
:delegation,
|
|
60
61
|
union: -> {
|
|
@@ -65,8 +66,8 @@ module OpenAI
|
|
|
65
66
|
|
|
66
67
|
# @!attribute input
|
|
67
68
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
68
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
69
|
-
# rendered
|
|
69
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
70
|
+
# configured rendered-token limit (8,192 by default).
|
|
70
71
|
#
|
|
71
72
|
# @return [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>, nil]
|
|
72
73
|
optional :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::InitialItem] }
|
|
@@ -90,7 +91,16 @@ module OpenAI
|
|
|
90
91
|
# @return [Boolean, nil]
|
|
91
92
|
optional :store, OpenAI::Internal::Type::Boolean
|
|
92
93
|
|
|
93
|
-
# @!
|
|
94
|
+
# @!attribute triggers
|
|
95
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
96
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
97
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
98
|
+
# triggers.
|
|
99
|
+
#
|
|
100
|
+
# @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
|
|
101
|
+
optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
|
|
102
|
+
|
|
103
|
+
# @!method initialize(model:, audio: nil, delegation: nil, input: nil, instructions: nil, store: nil, triggers: nil, type: :live)
|
|
94
104
|
# Model and startup configuration for the Live session that answers the incoming
|
|
95
105
|
# SIP call.
|
|
96
106
|
#
|
|
@@ -102,14 +112,15 @@ module OpenAI
|
|
|
102
112
|
# audio.format is only accepted for primary WebSockets. Voice cannot change after
|
|
103
113
|
# startup.
|
|
104
114
|
#
|
|
105
|
-
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Responses, nil]
|
|
115
|
+
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Responses, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Decisions, nil]
|
|
106
116
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
107
|
-
# application; use `responses`
|
|
117
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
118
|
+
# API.
|
|
108
119
|
#
|
|
109
120
|
# @param input [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>]
|
|
110
121
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
111
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
112
|
-
# rendered
|
|
122
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
123
|
+
# configured rendered-token limit (8,192 by default).
|
|
113
124
|
#
|
|
114
125
|
# @param instructions [String, nil]
|
|
115
126
|
# Frontend instructions for voice, conversation, interruptions, and when to
|
|
@@ -124,6 +135,12 @@ module OpenAI
|
|
|
124
135
|
# Whether to store the session for later forking and recording download. Defaults
|
|
125
136
|
# to false for new sessions.
|
|
126
137
|
#
|
|
138
|
+
# @param triggers [Array<OpenAI::Models::Live::DecisionTrigger>]
|
|
139
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
140
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
141
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
142
|
+
# triggers.
|
|
143
|
+
#
|
|
127
144
|
# @param type [Symbol, :live]
|
|
128
145
|
# The session type. Always `live`.
|
|
129
146
|
|
|
@@ -208,7 +225,8 @@ module OpenAI
|
|
|
208
225
|
end
|
|
209
226
|
|
|
210
227
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
211
|
-
# application; use `responses`
|
|
228
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
229
|
+
# API.
|
|
212
230
|
#
|
|
213
231
|
# @see OpenAI::Models::Live::SessionAcceptParams::Session#delegation
|
|
214
232
|
module Delegation
|
|
@@ -222,6 +240,8 @@ module OpenAI
|
|
|
222
240
|
# Delegate tasks to a Responses model managed by the Live session.
|
|
223
241
|
variant :responses, -> { OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses }
|
|
224
242
|
|
|
243
|
+
variant :decisions, -> { OpenAI::Live::SessionAcceptParams::Session::Delegation::Decisions }
|
|
244
|
+
|
|
225
245
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
226
246
|
# @!attribute responses
|
|
227
247
|
# Backend model, prompt, and tools used when the Live session delegates a task to
|
|
@@ -247,8 +267,24 @@ module OpenAI
|
|
|
247
267
|
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
248
268
|
end
|
|
249
269
|
|
|
270
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
271
|
+
# @!attribute decisions
|
|
272
|
+
#
|
|
273
|
+
# @return [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
274
|
+
required :decisions, -> { OpenAI::Live::DecisionsDelegationConfig }
|
|
275
|
+
|
|
276
|
+
# @!attribute type
|
|
277
|
+
#
|
|
278
|
+
# @return [Symbol, :decisions]
|
|
279
|
+
required :type, const: :decisions
|
|
280
|
+
|
|
281
|
+
# @!method initialize(decisions:, type: :decisions)
|
|
282
|
+
# @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
283
|
+
# @param type [Symbol, :decisions]
|
|
284
|
+
end
|
|
285
|
+
|
|
250
286
|
# @!method self.variants
|
|
251
|
-
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Responses)]
|
|
287
|
+
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Responses, OpenAI::Models::Live::SessionAcceptParams::Session::Delegation::Decisions)]
|
|
252
288
|
end
|
|
253
289
|
end
|
|
254
290
|
end
|