openai 0.102.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 +88 -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_session_environment_expired_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_environment_state.rb +6 -0
- data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_event.rb +7 -1
- data/lib/openai/models/beta/agent_update_params.rb +4 -2
- data/lib/openai/models/beta/agents/environment_info.rb +3 -0
- 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/agent_environment_expired_webhook_event.rb +72 -0
- data/lib/openai/models/webhooks/agent_environment_suspended_webhook_event.rb +72 -0
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +8 -3
- data/lib/openai/models/webhooks/webhook_create_params.rb +2 -0
- data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
- data/lib/openai/models/webhooks/webhook_test_params.rb +2 -0
- data/lib/openai/models/webhooks/webhook_update_params.rb +2 -0
- 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/events.rb +1 -1
- 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 +35 -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_session_environment_expired_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_environment_state.rbi +6 -0
- data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_event.rbi +2 -0
- data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
- data/rbi/openai/models/beta/agents/environment_info.rbi +3 -0
- 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/agent_environment_expired_webhook_event.rbi +133 -0
- data/rbi/openai/models/webhooks/agent_environment_suspended_webhook_event.rbi +133 -0
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -2
- data/rbi/openai/models/webhooks/webhook_create_params.rbi +8 -0
- data/rbi/openai/models/webhooks/webhook_test_params.rbi +8 -0
- data/rbi/openai/models/webhooks/webhook_update_params.rbi +8 -0
- 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 +2 -0
- 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_session_environment_expired_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_environment_state.rbs +14 -1
- data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_event.rbs +2 -0
- data/sig/openai/models/beta/agent_update_params.rbs +4 -2
- data/sig/openai/models/beta/agents/environment_info.rbs +11 -1
- 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/agent_environment_expired_webhook_event.rbs +70 -0
- data/sig/openai/models/webhooks/agent_environment_suspended_webhook_event.rbs +70 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +3 -1
- data/sig/openai/models/webhooks/webhook_create_params.rbs +4 -0
- data/sig/openai/models/webhooks/webhook_test_params.rbs +4 -0
- data/sig/openai/models/webhooks/webhook_update_params.rbs +4 -0
- 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 +3 -1
- metadata +101 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class OutputAudioFixturePlayEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::OutputAudioFixturePlayEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Base64-encoded raw mono PCM16 audio, little-endian, at 24 kHz. Do not include a
|
|
18
|
+
# WAV or other container header.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :audio
|
|
21
|
+
|
|
22
|
+
sig { returns(Symbol) }
|
|
23
|
+
attr_accessor :type
|
|
24
|
+
|
|
25
|
+
# Optional client identifier for correlating this command with a server event's
|
|
26
|
+
# client_event_id or error.client_event_id.
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_accessor :event_id
|
|
29
|
+
|
|
30
|
+
# Play one complete audio fixture through the session output. Send this event over
|
|
31
|
+
# the primary WebSocket or a server sideband. Audio must be raw mono PCM16
|
|
32
|
+
# little-endian at 24 kHz, regardless of the session audio format, and at most 30
|
|
33
|
+
# seconds. The entire payload is validated before model speech is interrupted and
|
|
34
|
+
# input is muted. Only one fixture can be active. fixture.playing acknowledges
|
|
35
|
+
# acceptance and fixture.played reports server mixer drain. These notifications
|
|
36
|
+
# are not exact transport-media boundaries. Input arriving during playback is
|
|
37
|
+
# dropped and not replayed.
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
|
|
41
|
+
audio: String,
|
|
42
|
+
|
|
43
|
+
event_id: T.nilable(String),
|
|
44
|
+
|
|
45
|
+
type: Symbol
|
|
46
|
+
)
|
|
47
|
+
.returns(T.attached_class)
|
|
48
|
+
end
|
|
49
|
+
def self.new(
|
|
50
|
+
|
|
51
|
+
# Base64-encoded raw mono PCM16 audio, little-endian, at 24 kHz. Do not include a
|
|
52
|
+
# WAV or other container header.
|
|
53
|
+
audio:,
|
|
54
|
+
|
|
55
|
+
# Optional client identifier for correlating this command with a server event's
|
|
56
|
+
# client_event_id or error.client_event_id.
|
|
57
|
+
event_id: nil,
|
|
58
|
+
|
|
59
|
+
type: :"session.output_audio.fixture.play"
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
sig do
|
|
64
|
+
override.returns(
|
|
65
|
+
{audio: String, type: Symbol, event_id: T.nilable(String)}
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
def to_hash
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class OutputAudioFixturePlayedEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::OutputAudioFixturePlayedEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The unique ID of the Live server event.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :event_id
|
|
20
|
+
|
|
21
|
+
sig { returns(Symbol) }
|
|
22
|
+
attr_accessor :type
|
|
23
|
+
|
|
24
|
+
# The event_id of the client command associated with this server event, when
|
|
25
|
+
# supplied.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :client_event_id
|
|
28
|
+
|
|
29
|
+
sig { params(client_event_id: String).void }
|
|
30
|
+
attr_writer :client_event_id
|
|
31
|
+
|
|
32
|
+
# The complete audio fixture has drained from the server mixer and normal
|
|
33
|
+
# inference has resumed. Transport buffers may still contain audio; this event
|
|
34
|
+
# does not prove listener-side completion. The optional client_event_id echoes the
|
|
35
|
+
# play command. This event is not emitted for canceled or failed playback.
|
|
36
|
+
sig do
|
|
37
|
+
params(
|
|
38
|
+
|
|
39
|
+
event_id: String,
|
|
40
|
+
|
|
41
|
+
client_event_id: String,
|
|
42
|
+
|
|
43
|
+
type: Symbol
|
|
44
|
+
)
|
|
45
|
+
.returns(T.attached_class)
|
|
46
|
+
end
|
|
47
|
+
def self.new(
|
|
48
|
+
|
|
49
|
+
# The unique ID of the Live server event.
|
|
50
|
+
event_id:,
|
|
51
|
+
|
|
52
|
+
# The event_id of the client command associated with this server event, when
|
|
53
|
+
# supplied.
|
|
54
|
+
client_event_id: nil,
|
|
55
|
+
|
|
56
|
+
type: :"session.output_audio.fixture.played"
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
sig do
|
|
61
|
+
override.returns(
|
|
62
|
+
{event_id: String, type: Symbol, client_event_id: T.nilable(String)}
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
def to_hash
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class OutputAudioFixturePlayingEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::OutputAudioFixturePlayingEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The unique ID of the Live server event.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :event_id
|
|
20
|
+
|
|
21
|
+
sig { returns(Symbol) }
|
|
22
|
+
attr_accessor :type
|
|
23
|
+
|
|
24
|
+
# The event_id of the client command associated with this server event, when
|
|
25
|
+
# supplied.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :client_event_id
|
|
28
|
+
|
|
29
|
+
sig { params(client_event_id: String).void }
|
|
30
|
+
attr_writer :client_event_id
|
|
31
|
+
|
|
32
|
+
# The existing playback path has accepted the validated audio fixture. This
|
|
33
|
+
# acknowledgment does not identify when the listener receives the first sample.
|
|
34
|
+
# The optional client_event_id echoes the play command.
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
|
|
38
|
+
event_id: String,
|
|
39
|
+
|
|
40
|
+
client_event_id: String,
|
|
41
|
+
|
|
42
|
+
type: Symbol
|
|
43
|
+
)
|
|
44
|
+
.returns(T.attached_class)
|
|
45
|
+
end
|
|
46
|
+
def self.new(
|
|
47
|
+
|
|
48
|
+
# The unique ID of the Live server event.
|
|
49
|
+
event_id:,
|
|
50
|
+
|
|
51
|
+
# The event_id of the client command associated with this server event, when
|
|
52
|
+
# supplied.
|
|
53
|
+
client_event_id: nil,
|
|
54
|
+
|
|
55
|
+
type: :"session.output_audio.fixture.playing"
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
sig do
|
|
60
|
+
override.returns(
|
|
61
|
+
{event_id: String, type: Symbol, client_event_id: T.nilable(String)}
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
def to_hash
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -19,6 +19,8 @@ module OpenAI
|
|
|
19
19
|
OpenAI::Live::SessionUpdatedEvent,
|
|
20
20
|
OpenAI::Live::InputAudioMutedEvent,
|
|
21
21
|
OpenAI::Live::InputAudioUnmutedEvent,
|
|
22
|
+
OpenAI::Live::OutputAudioFixturePlayingEvent,
|
|
23
|
+
OpenAI::Live::OutputAudioFixturePlayedEvent,
|
|
22
24
|
OpenAI::Live::InstructionsAppendedEvent,
|
|
23
25
|
OpenAI::Live::ThinkingAppendedEvent,
|
|
24
26
|
OpenAI::Live::CommentaryAppendedEvent,
|
|
@@ -27,6 +29,9 @@ module OpenAI
|
|
|
27
29
|
OpenAI::Live::InputTranscriptDeltaEvent,
|
|
28
30
|
OpenAI::Live::OutputTranscriptDeltaEvent,
|
|
29
31
|
OpenAI::Live::DelegationCreatedEvent,
|
|
32
|
+
OpenAI::Live::DecisionEvent,
|
|
33
|
+
OpenAI::Live::DecisionItemCreatedEvent,
|
|
34
|
+
OpenAI::Live::DecisionItemDeletedEvent,
|
|
30
35
|
OpenAI::Live::ResponseEvent,
|
|
31
36
|
OpenAI::Live::SessionUsageUpdatedEvent,
|
|
32
37
|
OpenAI::Live::SessionClosedEvent,
|
|
@@ -89,19 +89,24 @@ module OpenAI
|
|
|
89
89
|
attr_writer :audio
|
|
90
90
|
|
|
91
91
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
92
|
-
# application; use `responses`
|
|
92
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
93
|
+
# API.
|
|
93
94
|
sig {
|
|
94
95
|
returns(
|
|
95
96
|
T.nilable(
|
|
96
|
-
T.any(
|
|
97
|
+
T.any(
|
|
98
|
+
OpenAI::Live::ClientDelegation,
|
|
99
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses,
|
|
100
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Decisions
|
|
101
|
+
)
|
|
97
102
|
)
|
|
98
103
|
)
|
|
99
104
|
}
|
|
100
105
|
attr_accessor :delegation
|
|
101
106
|
|
|
102
107
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
103
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
104
|
-
# rendered
|
|
108
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
109
|
+
# configured rendered-token limit (8,192 by default).
|
|
105
110
|
sig {
|
|
106
111
|
returns(
|
|
107
112
|
T.nilable(
|
|
@@ -149,6 +154,16 @@ module OpenAI
|
|
|
149
154
|
sig { params(store: T::Boolean).void }
|
|
150
155
|
attr_writer :store
|
|
151
156
|
|
|
157
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
158
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
159
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
160
|
+
# triggers.
|
|
161
|
+
sig { returns(T.nilable(T::Array[OpenAI::Live::DecisionTrigger])) }
|
|
162
|
+
attr_reader :triggers
|
|
163
|
+
|
|
164
|
+
sig { params(triggers: T::Array[OpenAI::Live::DecisionTrigger::OrHash]).void }
|
|
165
|
+
attr_writer :triggers
|
|
166
|
+
|
|
152
167
|
# Model and startup configuration for the Live session that answers the incoming
|
|
153
168
|
# SIP call.
|
|
154
169
|
sig do
|
|
@@ -161,7 +176,8 @@ module OpenAI
|
|
|
161
176
|
delegation: T.nilable(
|
|
162
177
|
T.any(
|
|
163
178
|
OpenAI::Live::ClientDelegation::OrHash,
|
|
164
|
-
OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses::OrHash
|
|
179
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses::OrHash,
|
|
180
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Decisions::OrHash
|
|
165
181
|
)
|
|
166
182
|
),
|
|
167
183
|
|
|
@@ -177,6 +193,8 @@ module OpenAI
|
|
|
177
193
|
|
|
178
194
|
store: T::Boolean,
|
|
179
195
|
|
|
196
|
+
triggers: T::Array[OpenAI::Live::DecisionTrigger::OrHash],
|
|
197
|
+
|
|
180
198
|
type: Symbol
|
|
181
199
|
)
|
|
182
200
|
.returns(T.attached_class)
|
|
@@ -192,12 +210,13 @@ module OpenAI
|
|
|
192
210
|
audio: nil,
|
|
193
211
|
|
|
194
212
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
195
|
-
# application; use `responses`
|
|
213
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
214
|
+
# API.
|
|
196
215
|
delegation: nil,
|
|
197
216
|
|
|
198
217
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
199
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
200
|
-
# rendered
|
|
218
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
219
|
+
# configured rendered-token limit (8,192 by default).
|
|
201
220
|
input: nil,
|
|
202
221
|
|
|
203
222
|
# Frontend instructions for voice, conversation, interruptions, and when to
|
|
@@ -213,6 +232,12 @@ module OpenAI
|
|
|
213
232
|
# to false for new sessions.
|
|
214
233
|
store: nil,
|
|
215
234
|
|
|
235
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
236
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
237
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
238
|
+
# triggers.
|
|
239
|
+
triggers: nil,
|
|
240
|
+
|
|
216
241
|
# The session type. Always `live`.
|
|
217
242
|
|
|
218
243
|
type: :live
|
|
@@ -228,7 +253,8 @@ module OpenAI
|
|
|
228
253
|
delegation: T.nilable(
|
|
229
254
|
T.any(
|
|
230
255
|
OpenAI::Live::ClientDelegation,
|
|
231
|
-
OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses
|
|
256
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses,
|
|
257
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Decisions
|
|
232
258
|
)
|
|
233
259
|
),
|
|
234
260
|
input: T::Array[
|
|
@@ -239,7 +265,8 @@ module OpenAI
|
|
|
239
265
|
)
|
|
240
266
|
],
|
|
241
267
|
instructions: T.nilable(String),
|
|
242
|
-
store: T::Boolean
|
|
268
|
+
store: T::Boolean,
|
|
269
|
+
triggers: T::Array[OpenAI::Live::DecisionTrigger]
|
|
243
270
|
}
|
|
244
271
|
)
|
|
245
272
|
end
|
|
@@ -376,12 +403,17 @@ module OpenAI
|
|
|
376
403
|
end
|
|
377
404
|
|
|
378
405
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
379
|
-
# application; use `responses`
|
|
406
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
407
|
+
# API.
|
|
380
408
|
module Delegation
|
|
381
409
|
extend OpenAI::Internal::Type::Union
|
|
382
410
|
|
|
383
411
|
Variants = T.type_alias {
|
|
384
|
-
T.any(
|
|
412
|
+
T.any(
|
|
413
|
+
OpenAI::Live::ClientDelegation,
|
|
414
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses,
|
|
415
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Decisions
|
|
416
|
+
)
|
|
385
417
|
}
|
|
386
418
|
|
|
387
419
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
@@ -436,6 +468,50 @@ module OpenAI
|
|
|
436
468
|
|
|
437
469
|
end
|
|
438
470
|
|
|
471
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
472
|
+
OrHash = T.type_alias do
|
|
473
|
+
T.any(
|
|
474
|
+
OpenAI::Live::SessionAcceptParams::Session::Delegation::Decisions,
|
|
475
|
+
OpenAI::Internal::AnyHash
|
|
476
|
+
)
|
|
477
|
+
end
|
|
478
|
+
|
|
479
|
+
sig { returns(OpenAI::Live::DecisionsDelegationConfig) }
|
|
480
|
+
attr_reader :decisions
|
|
481
|
+
|
|
482
|
+
sig { params(decisions: OpenAI::Live::DecisionsDelegationConfig::OrHash).void }
|
|
483
|
+
attr_writer :decisions
|
|
484
|
+
|
|
485
|
+
sig { returns(Symbol) }
|
|
486
|
+
attr_accessor :type
|
|
487
|
+
|
|
488
|
+
sig do
|
|
489
|
+
params(
|
|
490
|
+
|
|
491
|
+
decisions: OpenAI::Live::DecisionsDelegationConfig::OrHash,
|
|
492
|
+
|
|
493
|
+
type: Symbol
|
|
494
|
+
)
|
|
495
|
+
.returns(T.attached_class)
|
|
496
|
+
end
|
|
497
|
+
def self.new(
|
|
498
|
+
|
|
499
|
+
decisions:,
|
|
500
|
+
|
|
501
|
+
type: :decisions
|
|
502
|
+
)
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
sig do
|
|
506
|
+
override.returns(
|
|
507
|
+
{decisions: OpenAI::Live::DecisionsDelegationConfig, type: Symbol}
|
|
508
|
+
)
|
|
509
|
+
end
|
|
510
|
+
def to_hash
|
|
511
|
+
end
|
|
512
|
+
|
|
513
|
+
end
|
|
514
|
+
|
|
439
515
|
sig { override.returns(T::Array[OpenAI::Live::SessionAcceptParams::Session::Delegation::Variants]) }
|
|
440
516
|
def self.variants
|
|
441
517
|
end
|
|
@@ -37,15 +37,24 @@ module OpenAI
|
|
|
37
37
|
attr_writer :client
|
|
38
38
|
|
|
39
39
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
40
|
-
# application; use `responses`
|
|
40
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
41
|
+
# API.
|
|
41
42
|
sig {
|
|
42
|
-
returns(
|
|
43
|
+
returns(
|
|
44
|
+
T.nilable(
|
|
45
|
+
T.any(
|
|
46
|
+
OpenAI::Live::ClientDelegation,
|
|
47
|
+
OpenAI::Live::SessionConfig::Delegation::Responses,
|
|
48
|
+
OpenAI::Live::SessionConfig::Delegation::Decisions
|
|
49
|
+
)
|
|
50
|
+
)
|
|
51
|
+
)
|
|
43
52
|
}
|
|
44
53
|
attr_accessor :delegation
|
|
45
54
|
|
|
46
55
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
47
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
48
|
-
# rendered
|
|
56
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
57
|
+
# configured rendered-token limit (8,192 by default).
|
|
49
58
|
sig {
|
|
50
59
|
returns(
|
|
51
60
|
T.nilable(
|
|
@@ -93,6 +102,16 @@ module OpenAI
|
|
|
93
102
|
sig { params(store: T::Boolean).void }
|
|
94
103
|
attr_writer :store
|
|
95
104
|
|
|
105
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
106
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
107
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
108
|
+
# triggers.
|
|
109
|
+
sig { returns(T.nilable(T::Array[OpenAI::Live::DecisionTrigger])) }
|
|
110
|
+
attr_reader :triggers
|
|
111
|
+
|
|
112
|
+
sig { params(triggers: T::Array[OpenAI::Live::DecisionTrigger::OrHash]).void }
|
|
113
|
+
attr_writer :triggers
|
|
114
|
+
|
|
96
115
|
# Initial configuration for a Live session, including its model, conversation
|
|
97
116
|
# instructions, audio, and delegated task handling.
|
|
98
117
|
sig do
|
|
@@ -105,7 +124,11 @@ module OpenAI
|
|
|
105
124
|
client: OpenAI::Live::ClientConfig::OrHash,
|
|
106
125
|
|
|
107
126
|
delegation: T.nilable(
|
|
108
|
-
T.any(
|
|
127
|
+
T.any(
|
|
128
|
+
OpenAI::Live::ClientDelegation::OrHash,
|
|
129
|
+
OpenAI::Live::SessionConfig::Delegation::Responses::OrHash,
|
|
130
|
+
OpenAI::Live::SessionConfig::Delegation::Decisions::OrHash
|
|
131
|
+
)
|
|
109
132
|
),
|
|
110
133
|
|
|
111
134
|
input: T::Array[
|
|
@@ -118,7 +141,9 @@ module OpenAI
|
|
|
118
141
|
|
|
119
142
|
instructions: T.nilable(String),
|
|
120
143
|
|
|
121
|
-
store: T::Boolean
|
|
144
|
+
store: T::Boolean,
|
|
145
|
+
|
|
146
|
+
triggers: T::Array[OpenAI::Live::DecisionTrigger::OrHash]
|
|
122
147
|
)
|
|
123
148
|
.returns(T.attached_class)
|
|
124
149
|
end
|
|
@@ -138,12 +163,13 @@ module OpenAI
|
|
|
138
163
|
client: nil,
|
|
139
164
|
|
|
140
165
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
141
|
-
# application; use `responses`
|
|
166
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
167
|
+
# API.
|
|
142
168
|
delegation: nil,
|
|
143
169
|
|
|
144
170
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
145
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
146
|
-
# rendered
|
|
171
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
172
|
+
# configured rendered-token limit (8,192 by default).
|
|
147
173
|
input: nil,
|
|
148
174
|
|
|
149
175
|
# Frontend instructions for voice, conversation, interruptions, and when to
|
|
@@ -157,8 +183,14 @@ module OpenAI
|
|
|
157
183
|
|
|
158
184
|
# Whether to store the session for later forking and recording download. Defaults
|
|
159
185
|
# to false for new sessions.
|
|
186
|
+
store: nil,
|
|
187
|
+
|
|
188
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
189
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
190
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
191
|
+
# triggers.
|
|
160
192
|
|
|
161
|
-
|
|
193
|
+
triggers: nil
|
|
162
194
|
)
|
|
163
195
|
end
|
|
164
196
|
|
|
@@ -169,7 +201,11 @@ module OpenAI
|
|
|
169
201
|
audio: OpenAI::Live::SessionConfig::Audio,
|
|
170
202
|
client: OpenAI::Live::ClientConfig,
|
|
171
203
|
delegation: T.nilable(
|
|
172
|
-
T.any(
|
|
204
|
+
T.any(
|
|
205
|
+
OpenAI::Live::ClientDelegation,
|
|
206
|
+
OpenAI::Live::SessionConfig::Delegation::Responses,
|
|
207
|
+
OpenAI::Live::SessionConfig::Delegation::Decisions
|
|
208
|
+
)
|
|
173
209
|
),
|
|
174
210
|
input: T::Array[
|
|
175
211
|
T.any(
|
|
@@ -179,7 +215,8 @@ module OpenAI
|
|
|
179
215
|
)
|
|
180
216
|
],
|
|
181
217
|
instructions: T.nilable(String),
|
|
182
|
-
store: T::Boolean
|
|
218
|
+
store: T::Boolean,
|
|
219
|
+
triggers: T::Array[OpenAI::Live::DecisionTrigger]
|
|
183
220
|
}
|
|
184
221
|
)
|
|
185
222
|
end
|
|
@@ -353,12 +390,17 @@ module OpenAI
|
|
|
353
390
|
end
|
|
354
391
|
|
|
355
392
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
356
|
-
# application; use `responses`
|
|
393
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
394
|
+
# API.
|
|
357
395
|
module Delegation
|
|
358
396
|
extend OpenAI::Internal::Type::Union
|
|
359
397
|
|
|
360
398
|
Variants = T.type_alias {
|
|
361
|
-
T.any(
|
|
399
|
+
T.any(
|
|
400
|
+
OpenAI::Live::ClientDelegation,
|
|
401
|
+
OpenAI::Live::SessionConfig::Delegation::Responses,
|
|
402
|
+
OpenAI::Live::SessionConfig::Delegation::Decisions
|
|
403
|
+
)
|
|
362
404
|
}
|
|
363
405
|
|
|
364
406
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
@@ -413,6 +455,50 @@ module OpenAI
|
|
|
413
455
|
|
|
414
456
|
end
|
|
415
457
|
|
|
458
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
459
|
+
OrHash = T.type_alias do
|
|
460
|
+
T.any(
|
|
461
|
+
OpenAI::Live::SessionConfig::Delegation::Decisions,
|
|
462
|
+
OpenAI::Internal::AnyHash
|
|
463
|
+
)
|
|
464
|
+
end
|
|
465
|
+
|
|
466
|
+
sig { returns(OpenAI::Live::DecisionsDelegationConfig) }
|
|
467
|
+
attr_reader :decisions
|
|
468
|
+
|
|
469
|
+
sig { params(decisions: OpenAI::Live::DecisionsDelegationConfig::OrHash).void }
|
|
470
|
+
attr_writer :decisions
|
|
471
|
+
|
|
472
|
+
sig { returns(Symbol) }
|
|
473
|
+
attr_accessor :type
|
|
474
|
+
|
|
475
|
+
sig do
|
|
476
|
+
params(
|
|
477
|
+
|
|
478
|
+
decisions: OpenAI::Live::DecisionsDelegationConfig::OrHash,
|
|
479
|
+
|
|
480
|
+
type: Symbol
|
|
481
|
+
)
|
|
482
|
+
.returns(T.attached_class)
|
|
483
|
+
end
|
|
484
|
+
def self.new(
|
|
485
|
+
|
|
486
|
+
decisions:,
|
|
487
|
+
|
|
488
|
+
type: :decisions
|
|
489
|
+
)
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
sig do
|
|
493
|
+
override.returns(
|
|
494
|
+
{decisions: OpenAI::Live::DecisionsDelegationConfig, type: Symbol}
|
|
495
|
+
)
|
|
496
|
+
end
|
|
497
|
+
def to_hash
|
|
498
|
+
end
|
|
499
|
+
|
|
500
|
+
end
|
|
501
|
+
|
|
416
502
|
sig { override.returns(T::Array[OpenAI::Live::SessionConfig::Delegation::Variants]) }
|
|
417
503
|
def self.variants
|
|
418
504
|
end
|