openai 0.103.0 → 0.105.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 +98 -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 +15 -3
- data/lib/openai/models/image_edit_params.rb +28 -5
- data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
- data/lib/openai/models/image_gen_completed_event.rb +15 -3
- data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
- data/lib/openai/models/image_generate_params.rb +28 -5
- data/lib/openai/models/images_response.rb +15 -3
- 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/images.rb +50 -12
- 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 +16 -1
- data/rbi/openai/models/image_edit_params.rbi +26 -4
- data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
- data/rbi/openai/models/image_gen_completed_event.rbi +16 -1
- data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
- data/rbi/openai/models/image_generate_params.rbi +26 -4
- data/rbi/openai/models/images_response.rbi +15 -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/images.rbi +44 -8
- 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/image_edit_completed_event.rbs +14 -2
- data/sig/openai/models/image_edit_params.rbs +27 -6
- data/sig/openai/models/image_gen_completed_event.rbs +14 -2
- data/sig/openai/models/image_generate_params.rbs +27 -6
- data/sig/openai/models/images_response.rbs +12 -0
- 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/images.rbs +4 -0
- 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
|
@@ -28,15 +28,16 @@ module OpenAI
|
|
|
28
28
|
|
|
29
29
|
# @!attribute delegation
|
|
30
30
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
31
|
-
# application; use `responses`
|
|
31
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
32
|
+
# API.
|
|
32
33
|
#
|
|
33
|
-
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionConfig::Delegation::Responses, nil]
|
|
34
|
+
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionConfig::Delegation::Responses, OpenAI::Models::Live::SessionConfig::Delegation::Decisions, nil]
|
|
34
35
|
optional :delegation, union: -> { OpenAI::Live::SessionConfig::Delegation }, nil?: true
|
|
35
36
|
|
|
36
37
|
# @!attribute input
|
|
37
38
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
38
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
39
|
-
# rendered
|
|
39
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
40
|
+
# configured rendered-token limit (8,192 by default).
|
|
40
41
|
#
|
|
41
42
|
# @return [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>, nil]
|
|
42
43
|
optional :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::InitialItem] }
|
|
@@ -60,7 +61,16 @@ module OpenAI
|
|
|
60
61
|
# @return [Boolean, nil]
|
|
61
62
|
optional :store, OpenAI::Internal::Type::Boolean
|
|
62
63
|
|
|
63
|
-
# @!
|
|
64
|
+
# @!attribute triggers
|
|
65
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
66
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
67
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
68
|
+
# triggers.
|
|
69
|
+
#
|
|
70
|
+
# @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
|
|
71
|
+
optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
|
|
72
|
+
|
|
73
|
+
# @!method initialize(model:, audio: nil, client: nil, delegation: nil, input: nil, instructions: nil, store: nil, triggers: nil)
|
|
64
74
|
# Initial configuration for a Live session, including its model, conversation
|
|
65
75
|
# instructions, audio, and delegated task handling.
|
|
66
76
|
#
|
|
@@ -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::SessionConfig::Delegation::Responses, nil]
|
|
90
|
+
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionConfig::Delegation::Responses, OpenAI::Models::Live::SessionConfig::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.
|
|
@@ -188,7 +205,8 @@ module OpenAI
|
|
|
188
205
|
end
|
|
189
206
|
|
|
190
207
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
191
|
-
# application; use `responses`
|
|
208
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
209
|
+
# API.
|
|
192
210
|
#
|
|
193
211
|
# @see OpenAI::Models::Live::SessionConfig#delegation
|
|
194
212
|
module Delegation
|
|
@@ -202,6 +220,8 @@ module OpenAI
|
|
|
202
220
|
# Delegate tasks to a Responses model managed by the Live session.
|
|
203
221
|
variant :responses, -> { OpenAI::Live::SessionConfig::Delegation::Responses }
|
|
204
222
|
|
|
223
|
+
variant :decisions, -> { OpenAI::Live::SessionConfig::Delegation::Decisions }
|
|
224
|
+
|
|
205
225
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
206
226
|
# @!attribute responses
|
|
207
227
|
# Backend model, prompt, and tools used when the Live session delegates a task to
|
|
@@ -227,8 +247,24 @@ module OpenAI
|
|
|
227
247
|
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
228
248
|
end
|
|
229
249
|
|
|
250
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
251
|
+
# @!attribute decisions
|
|
252
|
+
#
|
|
253
|
+
# @return [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
254
|
+
required :decisions, -> { OpenAI::Live::DecisionsDelegationConfig }
|
|
255
|
+
|
|
256
|
+
# @!attribute type
|
|
257
|
+
#
|
|
258
|
+
# @return [Symbol, :decisions]
|
|
259
|
+
required :type, const: :decisions
|
|
260
|
+
|
|
261
|
+
# @!method initialize(decisions:, type: :decisions)
|
|
262
|
+
# @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
263
|
+
# @param type [Symbol, :decisions]
|
|
264
|
+
end
|
|
265
|
+
|
|
230
266
|
# @!method self.variants
|
|
231
|
-
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionConfig::Delegation::Responses)]
|
|
267
|
+
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionConfig::Delegation::Responses, OpenAI::Models::Live::SessionConfig::Delegation::Decisions)]
|
|
232
268
|
end
|
|
233
269
|
end
|
|
234
270
|
end
|
|
@@ -49,15 +49,16 @@ module OpenAI
|
|
|
49
49
|
|
|
50
50
|
# @!attribute delegation
|
|
51
51
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
52
|
-
# application; use `responses`
|
|
52
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
53
|
+
# API.
|
|
53
54
|
#
|
|
54
|
-
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionResource::Delegation::Responses, nil]
|
|
55
|
+
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionResource::Delegation::Responses, OpenAI::Models::Live::SessionResource::Delegation::Decisions, nil]
|
|
55
56
|
optional :delegation, union: -> { OpenAI::Live::SessionResource::Delegation }, nil?: true
|
|
56
57
|
|
|
57
58
|
# @!attribute input
|
|
58
59
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
59
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
60
|
-
# rendered
|
|
60
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
61
|
+
# configured rendered-token limit (8,192 by default).
|
|
61
62
|
#
|
|
62
63
|
# @return [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>, nil]
|
|
63
64
|
optional :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::InitialItem] }
|
|
@@ -81,7 +82,16 @@ module OpenAI
|
|
|
81
82
|
# @return [Boolean, nil]
|
|
82
83
|
optional :store, OpenAI::Internal::Type::Boolean
|
|
83
84
|
|
|
84
|
-
# @!
|
|
85
|
+
# @!attribute triggers
|
|
86
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
87
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
88
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
89
|
+
# triggers.
|
|
90
|
+
#
|
|
91
|
+
# @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
|
|
92
|
+
optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
|
|
93
|
+
|
|
94
|
+
# @!method initialize(id:, expires_at:, model:, audio: nil, client: nil, delegation: nil, input: nil, instructions: nil, store: nil, triggers: nil, status: :active)
|
|
85
95
|
# The resolved Live session configuration and server-assigned session metadata.
|
|
86
96
|
#
|
|
87
97
|
# @param id [String]
|
|
@@ -104,14 +114,15 @@ module OpenAI
|
|
|
104
114
|
# Startup-only capabilities for an untrusted frontend attached to a unified WebRTC
|
|
105
115
|
# session. Trusted sideband connections are unaffected.
|
|
106
116
|
#
|
|
107
|
-
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionResource::Delegation::Responses, nil]
|
|
117
|
+
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionResource::Delegation::Responses, OpenAI::Models::Live::SessionResource::Delegation::Decisions, nil]
|
|
108
118
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
109
|
-
# application; use `responses`
|
|
119
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
120
|
+
# API.
|
|
110
121
|
#
|
|
111
122
|
# @param input [Array<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>]
|
|
112
123
|
# Ordered text-only history supplied before startup. Supports developer, user, and
|
|
113
|
-
# assistant messages with one text part each; at most 128 messages and
|
|
114
|
-
# rendered
|
|
124
|
+
# assistant messages with one text part each; at most 128 messages and a
|
|
125
|
+
# configured rendered-token limit (8,192 by default).
|
|
115
126
|
#
|
|
116
127
|
# @param instructions [String, nil]
|
|
117
128
|
# Frontend instructions for voice, conversation, interruptions, and when to
|
|
@@ -126,6 +137,12 @@ module OpenAI
|
|
|
126
137
|
# Whether to store the session for later forking and recording download. Defaults
|
|
127
138
|
# to false for new sessions.
|
|
128
139
|
#
|
|
140
|
+
# @param triggers [Array<OpenAI::Models::Live::DecisionTrigger>]
|
|
141
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
142
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
143
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
144
|
+
# triggers.
|
|
145
|
+
#
|
|
129
146
|
# @param status [Symbol, :active]
|
|
130
147
|
# The status of the session snapshot. Always `active`, including the final
|
|
131
148
|
# snapshot in session.closed; use the event type to determine that the session has
|
|
@@ -220,7 +237,8 @@ module OpenAI
|
|
|
220
237
|
end
|
|
221
238
|
|
|
222
239
|
# Who handles tasks delegated by the Live model. Omitted or null selects your
|
|
223
|
-
# application; use `responses`
|
|
240
|
+
# application; use `responses` or `decisions` to delegate to the corresponding
|
|
241
|
+
# API.
|
|
224
242
|
#
|
|
225
243
|
# @see OpenAI::Models::Live::SessionResource#delegation
|
|
226
244
|
module Delegation
|
|
@@ -234,6 +252,8 @@ module OpenAI
|
|
|
234
252
|
# Delegate tasks to a Responses model managed by the Live session.
|
|
235
253
|
variant :responses, -> { OpenAI::Live::SessionResource::Delegation::Responses }
|
|
236
254
|
|
|
255
|
+
variant :decisions, -> { OpenAI::Live::SessionResource::Delegation::Decisions }
|
|
256
|
+
|
|
237
257
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
238
258
|
# @!attribute responses
|
|
239
259
|
# Backend model, prompt, and tools used when the Live session delegates a task to
|
|
@@ -259,8 +279,24 @@ module OpenAI
|
|
|
259
279
|
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
260
280
|
end
|
|
261
281
|
|
|
282
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
283
|
+
# @!attribute decisions
|
|
284
|
+
#
|
|
285
|
+
# @return [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
286
|
+
required :decisions, -> { OpenAI::Live::DecisionsDelegationConfig }
|
|
287
|
+
|
|
288
|
+
# @!attribute type
|
|
289
|
+
#
|
|
290
|
+
# @return [Symbol, :decisions]
|
|
291
|
+
required :type, const: :decisions
|
|
292
|
+
|
|
293
|
+
# @!method initialize(decisions:, type: :decisions)
|
|
294
|
+
# @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
|
|
295
|
+
# @param type [Symbol, :decisions]
|
|
296
|
+
end
|
|
297
|
+
|
|
262
298
|
# @!method self.variants
|
|
263
|
-
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionResource::Delegation::Responses)]
|
|
299
|
+
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionResource::Delegation::Responses, OpenAI::Models::Live::SessionResource::Delegation::Decisions)]
|
|
264
300
|
end
|
|
265
301
|
end
|
|
266
302
|
end
|
|
@@ -8,16 +8,30 @@ module OpenAI
|
|
|
8
8
|
# Delegation settings to update. The delegation type must match the current
|
|
9
9
|
# session; omitted settings retain their values.
|
|
10
10
|
#
|
|
11
|
-
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Responses, nil]
|
|
11
|
+
# @return [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Responses, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Decisions, nil]
|
|
12
12
|
optional :delegation, union: -> { OpenAI::Live::SessionUpdateConfig::Delegation }, nil?: true
|
|
13
13
|
|
|
14
|
-
# @!
|
|
15
|
-
#
|
|
16
|
-
#
|
|
14
|
+
# @!attribute triggers
|
|
15
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
16
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
17
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
18
|
+
# triggers.
|
|
17
19
|
#
|
|
18
|
-
# @
|
|
20
|
+
# @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
|
|
21
|
+
optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
|
|
22
|
+
|
|
23
|
+
# @!method initialize(delegation: nil, triggers: nil)
|
|
24
|
+
# Changes to an active Live session's delegation settings and transcript triggers.
|
|
25
|
+
#
|
|
26
|
+
# @param delegation [OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Responses, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Decisions, nil]
|
|
19
27
|
# Delegation settings to update. The delegation type must match the current
|
|
20
28
|
# session; omitted settings retain their values.
|
|
29
|
+
#
|
|
30
|
+
# @param triggers [Array<OpenAI::Models::Live::DecisionTrigger>]
|
|
31
|
+
# At most one Decisions trigger per transcript event type. Triggers run
|
|
32
|
+
# independently of delegation. On update, omit triggers to keep the current
|
|
33
|
+
# configuration, send a list to replace it, or send an empty list to disable
|
|
34
|
+
# triggers.
|
|
21
35
|
|
|
22
36
|
# Delegation settings to update. The delegation type must match the current
|
|
23
37
|
# session; omitted settings retain their values.
|
|
@@ -34,6 +48,8 @@ module OpenAI
|
|
|
34
48
|
# Update the Responses backend for an existing Live session without changing delegation ownership.
|
|
35
49
|
variant :responses, -> { OpenAI::Live::SessionUpdateConfig::Delegation::Responses }
|
|
36
50
|
|
|
51
|
+
variant :decisions, -> { OpenAI::Live::SessionUpdateConfig::Delegation::Decisions }
|
|
52
|
+
|
|
37
53
|
class Responses < OpenAI::Internal::Type::BaseModel
|
|
38
54
|
# @!attribute type
|
|
39
55
|
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
@@ -60,8 +76,24 @@ module OpenAI
|
|
|
60
76
|
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
61
77
|
end
|
|
62
78
|
|
|
79
|
+
class Decisions < OpenAI::Internal::Type::BaseModel
|
|
80
|
+
# @!attribute type
|
|
81
|
+
#
|
|
82
|
+
# @return [Symbol, :decisions]
|
|
83
|
+
required :type, const: :decisions
|
|
84
|
+
|
|
85
|
+
# @!attribute decisions
|
|
86
|
+
#
|
|
87
|
+
# @return [OpenAI::Models::Live::DecisionsDelegationUpdateConfig, nil]
|
|
88
|
+
optional :decisions, -> { OpenAI::Live::DecisionsDelegationUpdateConfig }
|
|
89
|
+
|
|
90
|
+
# @!method initialize(decisions: nil, type: :decisions)
|
|
91
|
+
# @param decisions [OpenAI::Models::Live::DecisionsDelegationUpdateConfig]
|
|
92
|
+
# @param type [Symbol, :decisions]
|
|
93
|
+
end
|
|
94
|
+
|
|
63
95
|
# @!method self.variants
|
|
64
|
-
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Responses)]
|
|
96
|
+
# @return [Array(OpenAI::Models::Live::ClientDelegation, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Responses, OpenAI::Models::Live::SessionUpdateConfig::Delegation::Decisions)]
|
|
65
97
|
end
|
|
66
98
|
end
|
|
67
99
|
end
|
|
@@ -5,9 +5,9 @@ module OpenAI
|
|
|
5
5
|
module Live
|
|
6
6
|
class SessionUpdateEvent < OpenAI::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute session
|
|
8
|
-
# Sparse delegation updates. Omitted settings retain their values. The
|
|
9
|
-
# type cannot change,
|
|
10
|
-
#
|
|
8
|
+
# Sparse delegation and trigger updates. Omitted settings retain their values. The
|
|
9
|
+
# delegation type cannot change. Model, frontend instructions, audio, and startup
|
|
10
|
+
# input are immutable.
|
|
11
11
|
#
|
|
12
12
|
# @return [OpenAI::Models::Live::SessionUpdateConfig]
|
|
13
13
|
required :session, -> { OpenAI::Live::SessionUpdateConfig }
|
|
@@ -26,13 +26,13 @@ module OpenAI
|
|
|
26
26
|
optional :event_id, String, nil?: true
|
|
27
27
|
|
|
28
28
|
# @!method initialize(session:, event_id: nil, type: :"session.update")
|
|
29
|
-
# Update the delegation settings of an active Live session.
|
|
30
|
-
# acknowledges accepted changes with `session.updated`.
|
|
29
|
+
# Update the delegation settings or transcript triggers of an active Live session.
|
|
30
|
+
# The server acknowledges accepted changes with `session.updated`.
|
|
31
31
|
#
|
|
32
32
|
# @param session [OpenAI::Models::Live::SessionUpdateConfig]
|
|
33
|
-
# Sparse delegation updates. Omitted settings retain their values. The
|
|
34
|
-
# type cannot change,
|
|
35
|
-
#
|
|
33
|
+
# Sparse delegation and trigger updates. Omitted settings retain their values. The
|
|
34
|
+
# delegation type cannot change. Model, frontend instructions, audio, and startup
|
|
35
|
+
# input are immutable.
|
|
36
36
|
#
|
|
37
37
|
# @param event_id [String, nil]
|
|
38
38
|
# Optional client identifier for correlating this command with a server event's
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
# Client events accepted by an attached Live sideband WebSocket. The session has
|
|
7
|
+
# already started. Send input audio over the primary connection.
|
|
8
|
+
module SidebandClientEvent
|
|
9
|
+
extend OpenAI::Internal::Type::Union
|
|
10
|
+
|
|
11
|
+
discriminator :type
|
|
12
|
+
|
|
13
|
+
# Update the delegation settings or transcript triggers of an active Live session. The server acknowledges accepted changes with `session.updated`.
|
|
14
|
+
variant :"session.update", -> { OpenAI::Live::SessionUpdateEvent }
|
|
15
|
+
|
|
16
|
+
# Mute audio input to the Live model without closing the session. The server acknowledges with `session.input_audio.muted`.
|
|
17
|
+
variant :"session.input_audio.mute", -> { OpenAI::Live::InputAudioMuteEvent }
|
|
18
|
+
|
|
19
|
+
# Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`.
|
|
20
|
+
variant :"session.input_audio.unmute", -> { OpenAI::Live::InputAudioUnmuteEvent }
|
|
21
|
+
|
|
22
|
+
# 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.
|
|
23
|
+
variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
|
|
24
|
+
|
|
25
|
+
# Append instructions to the Live conversation while it is running, optionally associating them with an existing client delegation.
|
|
26
|
+
variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
|
|
27
|
+
|
|
28
|
+
# Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation.
|
|
29
|
+
variant :"session.thinking.append", -> { OpenAI::Live::ThinkingAppendEvent }
|
|
30
|
+
|
|
31
|
+
# Provide context the Live model can communicate to the user, optionally for an existing client delegation.
|
|
32
|
+
variant :"session.commentary.append", -> { OpenAI::Live::CommentaryAppendEvent }
|
|
33
|
+
|
|
34
|
+
# Evaluate the configured questions using the current conversation and Decision inputs. Reusing an event_id is rejected for the lifetime of the session.
|
|
35
|
+
variant :"decision.create", -> { OpenAI::Live::DecisionCreateEvent }
|
|
36
|
+
|
|
37
|
+
# Append an input item for future decisions without starting an evaluation or changing Live voice context.
|
|
38
|
+
variant :"decision.item.create", -> { OpenAI::Live::DecisionItemCreateEvent }
|
|
39
|
+
|
|
40
|
+
# Delete an input item from future decisions without starting an evaluation or changing Live voice context.
|
|
41
|
+
variant :"decision.item.delete", -> { OpenAI::Live::DecisionItemDeleteEvent }
|
|
42
|
+
|
|
43
|
+
# Add an input item to the Live session’s Responses backend. Requires Responses delegation; use `response.create` to request a response.
|
|
44
|
+
variant :"response.item.create", -> { OpenAI::Live::ResponseItemCreateEvent }
|
|
45
|
+
|
|
46
|
+
# Request a response from the Live session’s Responses backend, or continue a delegated response waiting for tool results. Requires Responses delegation.
|
|
47
|
+
variant :"response.create", -> { OpenAI::Live::ResponseCreateEvent }
|
|
48
|
+
|
|
49
|
+
# Request that the Live session close. The terminal `session.closed` event contains the close reason and final usage.
|
|
50
|
+
variant :"session.close", -> { OpenAI::Live::SessionCloseEvent }
|
|
51
|
+
|
|
52
|
+
# @!method self.variants
|
|
53
|
+
# @return [Array(OpenAI::Models::Live::SessionUpdateEvent, 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)]
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
# Server events received by an attached Live sideband WebSocket. Audio deltas are
|
|
7
|
+
# delivered over the primary connection.
|
|
8
|
+
module SidebandServerEvent
|
|
9
|
+
extend OpenAI::Internal::Type::Union
|
|
10
|
+
|
|
11
|
+
discriminator :type
|
|
12
|
+
|
|
13
|
+
# Returned when a Live session has started. Contains the resolved session configuration, including server defaults.
|
|
14
|
+
variant :"session.started", -> { OpenAI::Live::SessionStartedEvent }
|
|
15
|
+
|
|
16
|
+
# Returned when a Live session update is accepted. Contains the resolved session configuration after the update.
|
|
17
|
+
variant :"session.updated", -> { OpenAI::Live::SessionUpdatedEvent }
|
|
18
|
+
|
|
19
|
+
# Returned when a session.input_audio.mute command is accepted. Input audio is no longer sent to the model; sideband audio reflection continues.
|
|
20
|
+
variant :"session.input_audio.muted", -> { OpenAI::Live::InputAudioMutedEvent }
|
|
21
|
+
|
|
22
|
+
# Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
|
|
23
|
+
variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
|
|
24
|
+
|
|
25
|
+
# 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.
|
|
26
|
+
variant :"session.output_audio.fixture.playing", -> { OpenAI::Live::OutputAudioFixturePlayingEvent }
|
|
27
|
+
|
|
28
|
+
# 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.
|
|
29
|
+
variant :"session.output_audio.fixture.played", -> { OpenAI::Live::OutputAudioFixturePlayedEvent }
|
|
30
|
+
|
|
31
|
+
# 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.
|
|
32
|
+
variant :"session.instructions.appended", -> { OpenAI::Live::InstructionsAppendedEvent }
|
|
33
|
+
|
|
34
|
+
# Returned when a session.thinking.append command is accepted into the Live session timeline. Acknowledges the added reasoning context without guaranteeing any spoken output.
|
|
35
|
+
variant :"session.thinking.appended", -> { OpenAI::Live::ThinkingAppendedEvent }
|
|
36
|
+
|
|
37
|
+
# Returned when a session.commentary.append command is accepted into the Live session timeline. Acknowledges the added commentary without guaranteeing exact wording or completed audio playback.
|
|
38
|
+
variant :"session.commentary.appended", -> { OpenAI::Live::CommentaryAppendedEvent }
|
|
39
|
+
|
|
40
|
+
# A transcript fragment for user input audio in the Live session. Accumulate fragments in delivery order; these events do not define complete turns or include a transcript-done event.
|
|
41
|
+
variant :"session.input_transcript.delta", -> { OpenAI::Live::InputTranscriptDeltaEvent }
|
|
42
|
+
|
|
43
|
+
# 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.
|
|
44
|
+
variant :"session.output_transcript.delta", -> { OpenAI::Live::OutputTranscriptDeltaEvent }
|
|
45
|
+
|
|
46
|
+
# 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.
|
|
47
|
+
variant :"session.delegation.created", -> { OpenAI::Live::DelegationCreatedEvent }
|
|
48
|
+
|
|
49
|
+
# 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.
|
|
50
|
+
variant :"decision.event", -> { OpenAI::Live::DecisionEvent }
|
|
51
|
+
|
|
52
|
+
# An input item was appended for future decisions.
|
|
53
|
+
variant :"decision.item.created", -> { OpenAI::Live::DecisionItemCreatedEvent }
|
|
54
|
+
|
|
55
|
+
# An input item was removed from future decisions.
|
|
56
|
+
variant :"decision.item.deleted", -> { OpenAI::Live::DecisionItemDeletedEvent }
|
|
57
|
+
|
|
58
|
+
# 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.
|
|
59
|
+
variant :"response.event", -> { OpenAI::Live::ResponseEvent }
|
|
60
|
+
|
|
61
|
+
# Reports cumulative Live audio usage and, when available, the most recent context-window usage. Delegated Responses token usage is reported separately in response.event events.
|
|
62
|
+
variant :"session.usage.updated", -> { OpenAI::Live::SessionUsageUpdatedEvent }
|
|
63
|
+
|
|
64
|
+
# Returned after the Live session finishes finalizing, with the close reason, final session snapshot, and cumulative audio usage. A connection closing without this event does not confirm successful finalization.
|
|
65
|
+
variant :"session.closed", -> { OpenAI::Live::SessionClosedEvent }
|
|
66
|
+
|
|
67
|
+
# Reports an error in the Live session, such as an invalid client command. Use error.client_event_id, when present, to identify the command that caused the error.
|
|
68
|
+
variant :error, -> { OpenAI::Live::ErrorEvent }
|
|
69
|
+
|
|
70
|
+
# An informational notice about the Live session, such as the event permissions applied to a frontend data channel.
|
|
71
|
+
variant :info, -> { OpenAI::Live::InfoEvent }
|
|
72
|
+
|
|
73
|
+
# @!method self.variants
|
|
74
|
+
# @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::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)]
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -28,7 +28,8 @@ module OpenAI
|
|
|
28
28
|
# `cedar`. You may also provide a custom voice object with an `id`, for example
|
|
29
29
|
# `{ "id": "voice_1234" }`. Voice cannot be changed during the session once the
|
|
30
30
|
# model has responded with audio at least once. Custom voices must be created from
|
|
31
|
-
# audio samples.
|
|
31
|
+
# audio samples. Voices created from text prompts are supported only in Live. We
|
|
32
|
+
# recommend `marin` and `cedar` for best quality.
|
|
32
33
|
#
|
|
33
34
|
# @return [String, Symbol, OpenAI::Models::Realtime::RealtimeAudioConfigOutput::Voice::ID, OpenAI::Models::Realtime::RealtimeAudioConfigOutput::Voice, nil]
|
|
34
35
|
optional :voice, union: -> { OpenAI::Realtime::RealtimeAudioConfigOutput::Voice }
|
|
@@ -52,14 +53,16 @@ module OpenAI
|
|
|
52
53
|
# `cedar`. You may also provide a custom voice object with an `id`, for example
|
|
53
54
|
# `{ "id": "voice_1234" }`. Voice cannot be changed during the session once the
|
|
54
55
|
# model has responded with audio at least once. Custom voices must be created from
|
|
55
|
-
# audio samples.
|
|
56
|
+
# audio samples. Voices created from text prompts are supported only in Live. We
|
|
57
|
+
# recommend `marin` and `cedar` for best quality.
|
|
56
58
|
|
|
57
59
|
# The voice the model uses to respond. Supported built-in voices are `alloy`,
|
|
58
60
|
# `ash`, `ballad`, `coral`, `echo`, `sage`, `shimmer`, `verse`, `marin`, and
|
|
59
61
|
# `cedar`. You may also provide a custom voice object with an `id`, for example
|
|
60
62
|
# `{ "id": "voice_1234" }`. Voice cannot be changed during the session once the
|
|
61
63
|
# model has responded with audio at least once. Custom voices must be created from
|
|
62
|
-
# audio samples.
|
|
64
|
+
# audio samples. Voices created from text prompts are supported only in Live. We
|
|
65
|
+
# recommend `marin` and `cedar` for best quality.
|
|
63
66
|
#
|
|
64
67
|
# @see OpenAI::Models::Realtime::RealtimeAudioConfigOutput#voice
|
|
65
68
|
module Voice
|
|
@@ -28,7 +28,8 @@ module OpenAI
|
|
|
28
28
|
# `cedar`. You may also provide a custom voice object with an `id`, for example
|
|
29
29
|
# `{ "id": "voice_1234" }`. Voice cannot be changed during the session once the
|
|
30
30
|
# model has responded with audio at least once. Custom voices must be created from
|
|
31
|
-
# audio samples.
|
|
31
|
+
# audio samples. Voices created from text prompts are supported only in Live. We
|
|
32
|
+
# recommend `marin` and `cedar` for best quality.
|
|
32
33
|
#
|
|
33
34
|
# @return [String, Symbol, OpenAI::Models::Realtime::RealtimeResponseCreateAudioOutput::Output::Voice::ID, OpenAI::Models::Realtime::RealtimeResponseCreateAudioOutput::Output::Voice, nil]
|
|
34
35
|
optional :voice, union: -> { OpenAI::Realtime::RealtimeResponseCreateAudioOutput::Output::Voice }
|
|
@@ -43,14 +44,16 @@ module OpenAI
|
|
|
43
44
|
# `cedar`. You may also provide a custom voice object with an `id`, for example
|
|
44
45
|
# `{ "id": "voice_1234" }`. Voice cannot be changed during the session once the
|
|
45
46
|
# model has responded with audio at least once. Custom voices must be created from
|
|
46
|
-
# audio samples.
|
|
47
|
+
# audio samples. Voices created from text prompts are supported only in Live. We
|
|
48
|
+
# recommend `marin` and `cedar` for best quality.
|
|
47
49
|
|
|
48
50
|
# The voice the model uses to respond. Supported built-in voices are `alloy`,
|
|
49
51
|
# `ash`, `ballad`, `coral`, `echo`, `sage`, `shimmer`, `verse`, `marin`, and
|
|
50
52
|
# `cedar`. You may also provide a custom voice object with an `id`, for example
|
|
51
53
|
# `{ "id": "voice_1234" }`. Voice cannot be changed during the session once the
|
|
52
54
|
# model has responded with audio at least once. Custom voices must be created from
|
|
53
|
-
# audio samples.
|
|
55
|
+
# audio samples. Voices created from text prompts are supported only in Live. We
|
|
56
|
+
# recommend `marin` and `cedar` for best quality.
|
|
54
57
|
#
|
|
55
58
|
# @see OpenAI::Models::Realtime::RealtimeResponseCreateAudioOutput::Output#voice
|
|
56
59
|
module Voice
|
|
@@ -54,19 +54,28 @@ module OpenAI
|
|
|
54
54
|
# @return [String, nil]
|
|
55
55
|
optional :code, String
|
|
56
56
|
|
|
57
|
+
# @!attribute message
|
|
58
|
+
# A human-readable error message.
|
|
59
|
+
#
|
|
60
|
+
# @return [String, nil]
|
|
61
|
+
optional :message, String
|
|
62
|
+
|
|
57
63
|
# @!attribute type
|
|
58
64
|
# The type of error.
|
|
59
65
|
#
|
|
60
66
|
# @return [String, nil]
|
|
61
67
|
optional :type, String
|
|
62
68
|
|
|
63
|
-
# @!method initialize(code: nil, type: nil)
|
|
69
|
+
# @!method initialize(code: nil, message: nil, type: nil)
|
|
64
70
|
# A description of the error that caused the response to fail, populated when the
|
|
65
71
|
# `status` is `failed`.
|
|
66
72
|
#
|
|
67
73
|
# @param code [String]
|
|
68
74
|
# Error code, if any.
|
|
69
75
|
#
|
|
76
|
+
# @param message [String]
|
|
77
|
+
# A human-readable error message.
|
|
78
|
+
#
|
|
70
79
|
# @param type [String]
|
|
71
80
|
# The type of error.
|
|
72
81
|
end
|
|
@@ -46,7 +46,7 @@ module OpenAI
|
|
|
46
46
|
# The schema for the response format, described as a JSON Schema object. Learn how
|
|
47
47
|
# to build JSON schemas [here](https://json-schema.org/).
|
|
48
48
|
#
|
|
49
|
-
# @return [Hash{Symbol=>Object}, nil]
|
|
49
|
+
# @return [Hash{Symbol=>Object}, OpenAI::StructuredOutput::JsonSchemaConverter, nil]
|
|
50
50
|
optional(
|
|
51
51
|
:schema,
|
|
52
52
|
union: -> {
|
|
@@ -13,13 +13,15 @@ module OpenAI
|
|
|
13
13
|
# @!attribute parameters
|
|
14
14
|
# A JSON schema object describing the parameters of the function.
|
|
15
15
|
#
|
|
16
|
-
# @return [Hash{Symbol=>Object}, nil]
|
|
16
|
+
# @return [Hash{Symbol=>Object}, OpenAI::StructuredOutput::JsonSchemaConverter, nil]
|
|
17
17
|
required(
|
|
18
18
|
:parameters,
|
|
19
|
-
union:
|
|
20
|
-
OpenAI::
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
union: -> {
|
|
20
|
+
OpenAI::UnionOf[
|
|
21
|
+
OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown],
|
|
22
|
+
OpenAI::StructuredOutput::JsonSchemaConverter
|
|
23
|
+
]
|
|
24
|
+
},
|
|
23
25
|
nil?: true
|
|
24
26
|
)
|
|
25
27
|
|
|
@@ -78,7 +80,7 @@ module OpenAI
|
|
|
78
80
|
# @param name [String]
|
|
79
81
|
# The name of the function to call.
|
|
80
82
|
#
|
|
81
|
-
# @param parameters [Hash{Symbol=>Object}, nil]
|
|
83
|
+
# @param parameters [Hash{Symbol=>Object}, OpenAI::StructuredOutput::JsonSchemaConverter, nil]
|
|
82
84
|
# A JSON schema object describing the parameters of the function.
|
|
83
85
|
#
|
|
84
86
|
# @param strict [Boolean, nil]
|