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
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../../helpers/agents/session_stream_resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Beta
|
|
@@ -30,7 +32,7 @@ module OpenAI
|
|
|
30
32
|
# the session or streams its events when stream is true. See
|
|
31
33
|
# [running sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions).
|
|
32
34
|
#
|
|
33
|
-
# @overload create(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, vault_ids: nil, request_options: {})
|
|
35
|
+
# @overload create(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, spend_control: nil, vault_ids: nil, request_options: {})
|
|
34
36
|
#
|
|
35
37
|
# @param environment [OpenAI::Models::Beta::EnvironmentParam::None, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted, OpenAI::Models::Beta::EnvironmentParam::SelfHosted]
|
|
36
38
|
# An inline execution environment or a reference to an environment template.
|
|
@@ -53,6 +55,10 @@ module OpenAI
|
|
|
53
55
|
# Up to 16 string key-value pairs, with keys up to 64 and values up to 512
|
|
54
56
|
# characters. Omission or null defaults to an empty map.
|
|
55
57
|
#
|
|
58
|
+
# @param spend_control [OpenAI::Models::Beta::Agents::SessionCreateParams::SpendControl, nil]
|
|
59
|
+
# Optional spending limit in USD cents. Omission or null creates an unlimited
|
|
60
|
+
# session.
|
|
61
|
+
#
|
|
56
62
|
# @param vault_ids [Array<String>, nil]
|
|
57
63
|
# The IDs of vaults made available to the session.
|
|
58
64
|
#
|
|
@@ -86,7 +92,7 @@ module OpenAI
|
|
|
86
92
|
# the session or streams its events when stream is true. See
|
|
87
93
|
# [running sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions).
|
|
88
94
|
#
|
|
89
|
-
# @overload create_streaming(environment:, agent: nil, agent_id: nil, input: nil, output_type: nil, tool_handlers: {}, metadata: nil, vault_ids: nil, request_options: {})
|
|
95
|
+
# @overload create_streaming(environment:, agent: nil, agent_id: nil, input: nil, output_type: nil, tool_handlers: {}, metadata: nil, spend_control: nil, vault_ids: nil, request_options: {})
|
|
90
96
|
#
|
|
91
97
|
# @param environment [OpenAI::Models::Beta::EnvironmentParam::None, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted, OpenAI::Models::Beta::EnvironmentParam::SelfHosted]
|
|
92
98
|
# An inline execution environment or a reference to an environment template.
|
|
@@ -109,6 +115,10 @@ module OpenAI
|
|
|
109
115
|
# Up to 16 string key-value pairs, with keys up to 64 and values up to 512
|
|
110
116
|
# characters. Omission or null defaults to an empty map.
|
|
111
117
|
#
|
|
118
|
+
# @param spend_control [OpenAI::Models::Beta::Agents::SessionCreateParams::SpendControl, nil]
|
|
119
|
+
# Optional spending limit in USD cents. Omission or null creates an unlimited
|
|
120
|
+
# session.
|
|
121
|
+
#
|
|
112
122
|
# @param vault_ids [Array<String>, nil]
|
|
113
123
|
# The IDs of vaults made available to the session.
|
|
114
124
|
#
|
|
@@ -182,7 +192,7 @@ module OpenAI
|
|
|
182
192
|
# settings apply to subsequent turns. Omitted fields are unchanged. See
|
|
183
193
|
# [managing sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage).
|
|
184
194
|
#
|
|
185
|
-
# @overload update(session_id, agent: nil, metadata: nil, request_options: {})
|
|
195
|
+
# @overload update(session_id, agent: nil, metadata: nil, spend_control: nil, request_options: {})
|
|
186
196
|
#
|
|
187
197
|
# @param session_id [String]
|
|
188
198
|
# The ID of the session.
|
|
@@ -195,6 +205,10 @@ module OpenAI
|
|
|
195
205
|
# Up to 16 string key-value pairs, with keys up to 64 and values up to 512
|
|
196
206
|
# characters.
|
|
197
207
|
#
|
|
208
|
+
# @param spend_control [OpenAI::Models::Beta::Agents::SessionUpdateParams::SpendControl, nil]
|
|
209
|
+
# Omit to retain the limit; null or a null limit removes it without resetting
|
|
210
|
+
# spend.
|
|
211
|
+
#
|
|
198
212
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
199
213
|
#
|
|
200
214
|
# @return [OpenAI::Models::Beta::AgentSession]
|
|
@@ -226,12 +240,11 @@ module OpenAI
|
|
|
226
240
|
# Only return sessions whose root agent has this ID. Omit to return sessions for
|
|
227
241
|
# all agents.
|
|
228
242
|
#
|
|
229
|
-
# @param limit [Integer
|
|
230
|
-
# The maximum number of resources to return.
|
|
243
|
+
# @param limit [Integer]
|
|
244
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
231
245
|
#
|
|
232
246
|
# @param order [Symbol, OpenAI::Models::Beta::Agents::SessionListParams::Order]
|
|
233
|
-
#
|
|
234
|
-
# `desc` for descending order. Defaults to `desc`.
|
|
247
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
235
248
|
#
|
|
236
249
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
237
250
|
#
|
|
@@ -280,55 +293,6 @@ module OpenAI
|
|
|
280
293
|
)
|
|
281
294
|
end
|
|
282
295
|
|
|
283
|
-
# Submit input to an idle session and stream one turn through idle or failure.
|
|
284
|
-
# The caller must be the session's only input writer during iteration.
|
|
285
|
-
# Handlers run sequentially; failures submit a generic error without exception text.
|
|
286
|
-
# Input and each tool result use distinct retry-safe idempotency keys.
|
|
287
|
-
# A block closes the connection on every exit path without cancelling the turn.
|
|
288
|
-
#
|
|
289
|
-
# @param session_id [String]
|
|
290
|
-
# @param input [String, Array<OpenAI::Models::Beta::AgentSessionInputMessageParam>]
|
|
291
|
-
# @param tool_handlers [Hash{String=>Proc}]
|
|
292
|
-
# @param on_tool_error [Proc, nil]
|
|
293
|
-
# Beta: use with tool_handlers to log or monitor argument parsing, handler
|
|
294
|
-
# execution, and output conversion failures locally. Receives ToolError;
|
|
295
|
-
# API/transport errors still propagate normally. Ordinary observer errors
|
|
296
|
-
# are ignored, and the submitted tool failure stays generic.
|
|
297
|
-
# @param idempotency_key [String, nil] Applies only to the input submission.
|
|
298
|
-
# @param output_type [Class<OpenAI::BaseModel>, nil] Beta: parse output without changing session configuration.
|
|
299
|
-
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
300
|
-
# @yieldparam stream [OpenAI::Helpers::Agents::SessionStream]
|
|
301
|
-
# @return [OpenAI::Helpers::Agents::SessionStream]
|
|
302
|
-
def stream(
|
|
303
|
-
session_id,
|
|
304
|
-
input:,
|
|
305
|
-
tool_handlers: {},
|
|
306
|
-
on_tool_error: nil,
|
|
307
|
-
idempotency_key: nil,
|
|
308
|
-
output_type: nil,
|
|
309
|
-
request_options: {}
|
|
310
|
-
)
|
|
311
|
-
stream = OpenAI::Helpers::Agents::SessionStream.new(
|
|
312
|
-
sessions: self,
|
|
313
|
-
session_id: session_id,
|
|
314
|
-
input: input,
|
|
315
|
-
tool_handlers: tool_handlers,
|
|
316
|
-
on_tool_error: on_tool_error,
|
|
317
|
-
idempotency_key: idempotency_key,
|
|
318
|
-
output_type: output_type,
|
|
319
|
-
request_options: request_options
|
|
320
|
-
)
|
|
321
|
-
return stream unless block_given?
|
|
322
|
-
|
|
323
|
-
begin
|
|
324
|
-
yield stream
|
|
325
|
-
ensure
|
|
326
|
-
stream.close
|
|
327
|
-
end
|
|
328
|
-
|
|
329
|
-
stream
|
|
330
|
-
end
|
|
331
|
-
|
|
332
296
|
# @api private
|
|
333
297
|
#
|
|
334
298
|
# @param client [OpenAI::Client]
|
|
@@ -122,7 +122,7 @@ module OpenAI
|
|
|
122
122
|
# values. See
|
|
123
123
|
# [vaults](https://developers.openai.com/api/docs/guides/agents-api/tools/vaults).
|
|
124
124
|
#
|
|
125
|
-
# @overload list(vault_id, after: nil, limit: nil, order: nil, status: nil, request_options: {})
|
|
125
|
+
# @overload list(vault_id, after: nil, limit: nil, metadata: nil, order: nil, status: nil, request_options: {})
|
|
126
126
|
#
|
|
127
127
|
# @param vault_id [String]
|
|
128
128
|
# The ID of the vault.
|
|
@@ -130,13 +130,17 @@ module OpenAI
|
|
|
130
130
|
# @param after [String]
|
|
131
131
|
# Return resources after this resource ID in the selected order.
|
|
132
132
|
#
|
|
133
|
-
# @param limit [Integer
|
|
134
|
-
# The maximum number of resources to return. Defaults to 20.
|
|
135
|
-
#
|
|
133
|
+
# @param limit [Integer]
|
|
134
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
135
|
+
#
|
|
136
|
+
# @param metadata [Hash{Symbol=>String}]
|
|
137
|
+
# Exact string matches supplied as `metadata[key]=value`. All supplied pairs must
|
|
138
|
+
# match. Up to 16 pairs, with keys from 1 to 64 characters and values up to 512
|
|
139
|
+
# characters. Filtering is eventually consistent; metadata changes may take time
|
|
140
|
+
# to appear.
|
|
136
141
|
#
|
|
137
142
|
# @param order [Symbol, OpenAI::Models::Beta::Agents::Vaults::CredentialListParams::Order]
|
|
138
|
-
#
|
|
139
|
-
# `desc` for descending order. Defaults to `desc`.
|
|
143
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
140
144
|
#
|
|
141
145
|
# @param status [Symbol, OpenAI::Models::Beta::Agents::VaultStatus, Array<Symbol, OpenAI::Models::Beta::Agents::VaultStatus>]
|
|
142
146
|
# Filter by one status or a list, such as `status=active` or
|
|
@@ -63,21 +63,60 @@ module OpenAI
|
|
|
63
63
|
)
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
+
# Updates the name or metadata of an active vault. Omitted fields remain
|
|
67
|
+
# unchanged. See
|
|
68
|
+
# [vaults](https://developers.openai.com/api/docs/guides/agents-api/tools/vaults).
|
|
69
|
+
#
|
|
70
|
+
# @overload update(vault_id, metadata: nil, name: nil, request_options: {})
|
|
71
|
+
#
|
|
72
|
+
# @param vault_id [String]
|
|
73
|
+
# The ID of the vault.
|
|
74
|
+
#
|
|
75
|
+
# @param metadata [Hash{Symbol=>String}]
|
|
76
|
+
# Replaces all metadata. Omit to leave unchanged, or pass {} to clear it. Up to 16
|
|
77
|
+
# string key-value pairs, with keys up to 64 and values up to 512 characters.
|
|
78
|
+
#
|
|
79
|
+
# @param name [String, nil]
|
|
80
|
+
# A replacement name. Omit to leave unchanged, or pass null to clear it. The name
|
|
81
|
+
# is trimmed before storage. It must contain 1 to 256 UTF-8 bytes after trimming.
|
|
82
|
+
#
|
|
83
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
84
|
+
#
|
|
85
|
+
# @return [OpenAI::Models::Beta::Agents::Vault]
|
|
86
|
+
#
|
|
87
|
+
# @see OpenAI::Models::Beta::Agents::VaultUpdateParams
|
|
88
|
+
def update(vault_id, params = {})
|
|
89
|
+
parsed, options = OpenAI::Beta::Agents::VaultUpdateParams.dump_request(params)
|
|
90
|
+
@client.request(
|
|
91
|
+
method: :post,
|
|
92
|
+
path: ["vaults/%1$s", vault_id],
|
|
93
|
+
headers: {"openai-beta" => "agents=v1"},
|
|
94
|
+
body: parsed,
|
|
95
|
+
model: OpenAI::Beta::Agents::Vault,
|
|
96
|
+
security: {bearer_auth: true},
|
|
97
|
+
options: options
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
|
|
66
101
|
# Lists vaults using ID-based pagination. See
|
|
67
102
|
# [vaults](https://developers.openai.com/api/docs/guides/agents-api/tools/vaults).
|
|
68
103
|
#
|
|
69
|
-
# @overload list(after: nil, limit: nil, order: nil, status: nil, request_options: {})
|
|
104
|
+
# @overload list(after: nil, limit: nil, metadata: nil, order: nil, status: nil, request_options: {})
|
|
70
105
|
#
|
|
71
106
|
# @param after [String]
|
|
72
107
|
# Return resources after this resource ID in the selected order.
|
|
73
108
|
#
|
|
74
|
-
# @param limit [Integer
|
|
75
|
-
# The maximum number of resources to return. Defaults to 20.
|
|
76
|
-
#
|
|
109
|
+
# @param limit [Integer]
|
|
110
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
111
|
+
#
|
|
112
|
+
# @param metadata [Hash{Symbol=>String}]
|
|
113
|
+
# Exact string matches supplied as `metadata[key]=value`. All supplied pairs must
|
|
114
|
+
# match. Up to 16 pairs, with keys from 1 to 64 characters and values up to 512
|
|
115
|
+
# characters. Filtering is eventually consistent; metadata changes may take time
|
|
116
|
+
# to appear.
|
|
77
117
|
#
|
|
78
118
|
# @param order [Symbol, OpenAI::Models::Beta::Agents::VaultListParams::Order]
|
|
79
|
-
#
|
|
80
|
-
# `desc` for descending order. Defaults to `desc`.
|
|
119
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
81
120
|
#
|
|
82
121
|
# @param status [Symbol, OpenAI::Models::Beta::Agents::VaultStatus, Array<Symbol, OpenAI::Models::Beta::Agents::VaultStatus>]
|
|
83
122
|
# Filter by one status or a list, such as `status=active` or
|
|
@@ -47,7 +47,8 @@ module OpenAI
|
|
|
47
47
|
# verbosity.
|
|
48
48
|
#
|
|
49
49
|
# @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
|
|
50
|
-
# Tools available to the agent. Defaults to an empty list.
|
|
50
|
+
# Tools available to the agent. Defaults to an empty list. The tool list must fit
|
|
51
|
+
# within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
|
|
51
52
|
#
|
|
52
53
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
53
54
|
#
|
|
@@ -128,7 +129,8 @@ module OpenAI
|
|
|
128
129
|
# Configuration for text generated by the agent.
|
|
129
130
|
#
|
|
130
131
|
# @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
|
|
131
|
-
#
|
|
132
|
+
# Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
|
|
133
|
+
# The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
|
|
132
134
|
#
|
|
133
135
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
134
136
|
#
|
|
@@ -156,8 +158,8 @@ module OpenAI
|
|
|
156
158
|
# @param after [String]
|
|
157
159
|
# Return resources after this resource ID in the selected order.
|
|
158
160
|
#
|
|
159
|
-
# @param limit [Integer
|
|
160
|
-
# The maximum number of resources to return.
|
|
161
|
+
# @param limit [Integer]
|
|
162
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
161
163
|
#
|
|
162
164
|
# @param order [Symbol, OpenAI::Models::Beta::AgentListParams::Order]
|
|
163
165
|
# The order in which resources are returned. Defaults to `desc`.
|
|
@@ -173,7 +173,7 @@ module OpenAI
|
|
|
173
173
|
# @param safety_identifier [String, nil]
|
|
174
174
|
# Body param: A stable identifier used to help detect users of your application
|
|
175
175
|
# that may be violating OpenAI's usage policies. The IDs should be a string that
|
|
176
|
-
# uniquely identifies each user, with a maximum length of
|
|
176
|
+
# uniquely identifies each user, with a maximum length of 128 characters. We
|
|
177
177
|
# recommend hashing their username or email address, in order to avoid sending us
|
|
178
178
|
# any identifying information.
|
|
179
179
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -474,7 +474,7 @@ module OpenAI
|
|
|
474
474
|
# @param safety_identifier [String, nil]
|
|
475
475
|
# Body param: A stable identifier used to help detect users of your application
|
|
476
476
|
# that may be violating OpenAI's usage policies. The IDs should be a string that
|
|
477
|
-
# uniquely identifies each user, with a maximum length of
|
|
477
|
+
# uniquely identifies each user, with a maximum length of 128 characters. We
|
|
478
478
|
# recommend hashing their username or email address, in order to avoid sending us
|
|
479
479
|
# any identifying information.
|
|
480
480
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/streaming/chat_completion_resource"
|
|
3
4
|
require_relative "../../helpers/structured_output/chat_completion_parser"
|
|
4
5
|
|
|
5
6
|
module OpenAI
|
|
@@ -216,7 +217,7 @@ module OpenAI
|
|
|
216
217
|
# @param safety_identifier [String, nil]
|
|
217
218
|
# A stable identifier used to help detect users of your application that may be
|
|
218
219
|
# violating OpenAI's usage policies. The IDs should be a string that uniquely
|
|
219
|
-
# identifies each user, with a maximum length of
|
|
220
|
+
# identifies each user, with a maximum length of 128 characters. We recommend
|
|
220
221
|
# hashing their username or email address, in order to avoid sending us any
|
|
221
222
|
# identifying information.
|
|
222
223
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -350,41 +351,6 @@ module OpenAI
|
|
|
350
351
|
)
|
|
351
352
|
end
|
|
352
353
|
|
|
353
|
-
def get_structured_output_models(parsed)
|
|
354
|
-
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.get_models(parsed)
|
|
355
|
-
end
|
|
356
|
-
|
|
357
|
-
def build_tools_with_models(tools, tool_models)
|
|
358
|
-
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.build_tools(tools, tool_models)
|
|
359
|
-
end
|
|
360
|
-
|
|
361
|
-
def stream(params)
|
|
362
|
-
parsed, options = OpenAI::Chat::CompletionCreateParams.dump_request(params)
|
|
363
|
-
|
|
364
|
-
parsed.store(:stream, true)
|
|
365
|
-
|
|
366
|
-
response_format, tool_models = get_structured_output_models(parsed)
|
|
367
|
-
|
|
368
|
-
input_tools = build_tools_with_models(parsed[:tools], tool_models)
|
|
369
|
-
|
|
370
|
-
raw_stream = @client.request(
|
|
371
|
-
method: :post,
|
|
372
|
-
path: "chat/completions",
|
|
373
|
-
headers: {"accept" => "text/event-stream"},
|
|
374
|
-
body: parsed,
|
|
375
|
-
stream: OpenAI::Internal::Stream,
|
|
376
|
-
model: OpenAI::Chat::ChatCompletionChunk,
|
|
377
|
-
security: {bearer_auth: true},
|
|
378
|
-
options: options
|
|
379
|
-
)
|
|
380
|
-
|
|
381
|
-
OpenAI::Helpers::Streaming::ChatCompletionStream.new(
|
|
382
|
-
raw_stream: raw_stream,
|
|
383
|
-
response_format: response_format,
|
|
384
|
-
input_tools: input_tools
|
|
385
|
-
)
|
|
386
|
-
end
|
|
387
|
-
|
|
388
354
|
# See {OpenAI::Resources::Chat::Completions#create} for non-streaming counterpart.
|
|
389
355
|
#
|
|
390
356
|
# **Starting a new project?** We recommend trying
|
|
@@ -588,7 +554,7 @@ module OpenAI
|
|
|
588
554
|
# @param safety_identifier [String, nil]
|
|
589
555
|
# A stable identifier used to help detect users of your application that may be
|
|
590
556
|
# violating OpenAI's usage policies. The IDs should be a string that uniquely
|
|
591
|
-
# identifies each user, with a maximum length of
|
|
557
|
+
# identifies each user, with a maximum length of 128 characters. We recommend
|
|
592
558
|
# hashing their username or email address, in order to avoid sending us any
|
|
593
559
|
# identifying information.
|
|
594
560
|
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
@@ -842,6 +808,14 @@ module OpenAI
|
|
|
842
808
|
)
|
|
843
809
|
end
|
|
844
810
|
|
|
811
|
+
def get_structured_output_models(parsed)
|
|
812
|
+
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.get_models(parsed)
|
|
813
|
+
end
|
|
814
|
+
|
|
815
|
+
def build_tools_with_models(tools, tool_models)
|
|
816
|
+
OpenAI::Helpers::StructuredOutput::ChatCompletionParser.build_tools(tools, tool_models)
|
|
817
|
+
end
|
|
818
|
+
|
|
845
819
|
# @api private
|
|
846
820
|
#
|
|
847
821
|
# @param client [OpenAI::Client]
|
|
@@ -3,29 +3,23 @@
|
|
|
3
3
|
module OpenAI
|
|
4
4
|
module Resources
|
|
5
5
|
class Decisions
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# Supply input as a string or user messages containing text and inline images.
|
|
10
|
-
# Only user messages with `input_text` and `input_image` parts are supported;
|
|
11
|
-
# non-user roles, function calls, files, audio, and item references are not
|
|
12
|
-
# supported. Images require a data URL, not an external URL or file ID. At most
|
|
13
|
-
# 128 images are allowed across the request.
|
|
14
|
-
#
|
|
15
|
-
# Each question can return a refusal instead of a scored answer. A refusal has
|
|
16
|
-
# type `refusal` and the corresponding question name, or null if unnamed.
|
|
6
|
+
# Use this endpoint to quickly answer classification or scoring questions about
|
|
7
|
+
# some input. You can ask multiple questions in one request.
|
|
17
8
|
#
|
|
18
9
|
# @overload create(input:, model:, questions:, safety_identifier: nil, request_options: {})
|
|
19
10
|
#
|
|
20
11
|
# @param input [String, Array<OpenAI::Models::DecisionInputMessage>]
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
12
|
+
# The text or images to evaluate for every question. Provide a text string or user
|
|
13
|
+
# messages containing text and images. Images can be base64 data URLs or publicly
|
|
14
|
+
# accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
|
|
15
|
+
# one request. Files, audio, tools, and item references are not supported.
|
|
25
16
|
#
|
|
26
17
|
# @param model [String]
|
|
18
|
+
# The model to use. Only `gpt-6-luna` is supported.
|
|
27
19
|
#
|
|
28
20
|
# @param questions [Array<OpenAI::Models::DecisionCreateParams::Question::Predicate, OpenAI::Models::DecisionCreateParams::Question::Choice, OpenAI::Models::DecisionCreateParams::Question::Score>]
|
|
21
|
+
# Ask 1–200 questions about the input. Each question can be a predicate, choice,
|
|
22
|
+
# or score. Answers come back in the same order.
|
|
29
23
|
#
|
|
30
24
|
# @param safety_identifier [String, nil]
|
|
31
25
|
# Opaque caller-provided end-user identifier, scoped by the verified org. Match
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative "../helpers/resource_polling"
|
|
4
|
-
|
|
5
3
|
module OpenAI
|
|
6
4
|
module Resources
|
|
7
5
|
# Files are used to upload documents that can be used with features like
|
|
@@ -187,43 +185,6 @@ module OpenAI
|
|
|
187
185
|
)
|
|
188
186
|
end
|
|
189
187
|
|
|
190
|
-
# Wait for an uploaded file to finish processing.
|
|
191
|
-
#
|
|
192
|
-
# The returned file may have an `error` status; callers should inspect the
|
|
193
|
-
# status before using it. Polling intervals and the overall timeout are in
|
|
194
|
-
# seconds. Finite timeouts include authentication and request replay time and
|
|
195
|
-
# disable transport retries so the deadline remains strict. Set `timeout` to
|
|
196
|
-
# `nil` to wait indefinitely and retain configured transport retries.
|
|
197
|
-
#
|
|
198
|
-
# @overload wait_for_processing(file_id, poll_interval: nil, timeout: 1800.0, request_options: {})
|
|
199
|
-
#
|
|
200
|
-
# @param file_id [String] The ID of the file to wait for.
|
|
201
|
-
#
|
|
202
|
-
# @param poll_interval [Integer, Float, nil] How often to retrieve the file. When omitted, the SDK honors the server's
|
|
203
|
-
# polling hint and otherwise waits 5 seconds.
|
|
204
|
-
#
|
|
205
|
-
# @param timeout [Integer, Float, nil] Maximum total time to poll. Defaults to 30 minutes. Set to `nil` to wait
|
|
206
|
-
# indefinitely.
|
|
207
|
-
#
|
|
208
|
-
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
209
|
-
#
|
|
210
|
-
# @raise [ArgumentError, OpenAI::Errors::PollingError]
|
|
211
|
-
# @return [OpenAI::Models::FileObject]
|
|
212
|
-
def wait_for_processing(
|
|
213
|
-
file_id,
|
|
214
|
-
poll_interval: nil,
|
|
215
|
-
timeout: OpenAI::Internal::Poller::DEFAULT_TIMEOUT,
|
|
216
|
-
request_options: {}
|
|
217
|
-
)
|
|
218
|
-
OpenAI::Helpers::ResourcePolling.wait_for_file(
|
|
219
|
-
self,
|
|
220
|
-
file_id,
|
|
221
|
-
poll_interval: poll_interval,
|
|
222
|
-
timeout: timeout,
|
|
223
|
-
request_options: request_options
|
|
224
|
-
)
|
|
225
|
-
end
|
|
226
|
-
|
|
227
188
|
# @api private
|
|
228
189
|
#
|
|
229
190
|
# @param client [OpenAI::Client]
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Live
|
|
6
8
|
class Forks
|
|
9
|
+
include OpenAI::WebSocket::Resource
|
|
10
|
+
|
|
11
|
+
# @api private
|
|
12
|
+
def __websocket_request(session_id, query: {})
|
|
13
|
+
{method: :get, path: ["live/sessions/%1$s/fork", session_id], query: query, security: {bearer_auth: true}}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
def __websocket_client_event
|
|
18
|
+
OpenAI::Models::Live::ForkClientEvent
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
def __websocket_server_event
|
|
23
|
+
OpenAI::Models::Live::ForkServerEvent
|
|
24
|
+
end
|
|
25
|
+
|
|
7
26
|
# @api private
|
|
8
27
|
#
|
|
9
28
|
# @param client [OpenAI::Client]
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Live
|
|
6
8
|
class Sideband
|
|
9
|
+
include OpenAI::WebSocket::Resource
|
|
10
|
+
|
|
11
|
+
# @api private
|
|
12
|
+
def __websocket_request(session_id, query: {})
|
|
13
|
+
{method: :get, path: ["live/sessions/%1$s/attach", session_id], query: query, security: {bearer_auth: true}}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
def __websocket_client_event
|
|
18
|
+
OpenAI::Models::Live::SidebandClientEvent
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
def __websocket_server_event
|
|
23
|
+
OpenAI::Models::Live::SidebandServerEvent
|
|
24
|
+
end
|
|
25
|
+
|
|
7
26
|
# @api private
|
|
8
27
|
#
|
|
9
28
|
# @param client [OpenAI::Client]
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Live
|
|
8
|
+
include OpenAI::WebSocket::Resource
|
|
9
|
+
|
|
10
|
+
# @api private
|
|
11
|
+
def __websocket_request(query: {})
|
|
12
|
+
{method: :get, path: "live/sessions", query: query, security: {bearer_auth: true}}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
def __websocket_client_event
|
|
17
|
+
OpenAI::Models::Live::ClientEvent
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @api private
|
|
21
|
+
def __websocket_server_event
|
|
22
|
+
OpenAI::Models::Live::ServerEvent
|
|
23
|
+
end
|
|
24
|
+
|
|
6
25
|
# @return [OpenAI::Resources::Live::Sideband]
|
|
7
26
|
attr_reader :sideband
|
|
8
27
|
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Realtime
|
|
6
8
|
class Translations
|
|
9
|
+
include OpenAI::WebSocket::Resource
|
|
10
|
+
|
|
11
|
+
# @api private
|
|
12
|
+
def __websocket_request(query: {})
|
|
13
|
+
{method: :get, path: "realtime/translations", query: query, security: {bearer_auth: true}}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
def __websocket_client_event
|
|
18
|
+
OpenAI::Models::Realtime::RealtimeTranslationClientEvent
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
def __websocket_server_event
|
|
23
|
+
OpenAI::Models::Realtime::RealtimeTranslationServerEvent
|
|
24
|
+
end
|
|
25
|
+
|
|
7
26
|
# @return [OpenAI::Resources::Realtime::Translations::ClientSecrets]
|
|
8
27
|
attr_reader :client_secrets
|
|
9
28
|
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../helpers/websocket/resource"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Realtime
|
|
8
|
+
include OpenAI::WebSocket::Resource
|
|
9
|
+
|
|
10
|
+
# @api private
|
|
11
|
+
def __websocket_request(query: {})
|
|
12
|
+
{method: :get, path: "realtime", query: query, security: {bearer_auth: true}}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
def __websocket_client_event
|
|
17
|
+
OpenAI::Models::Realtime::RealtimeClientEvent
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @api private
|
|
21
|
+
def __websocket_server_event
|
|
22
|
+
OpenAI::Models::Realtime::RealtimeServerEvent
|
|
23
|
+
end
|
|
24
|
+
|
|
6
25
|
# @return [OpenAI::Resources::Realtime::ClientSecrets]
|
|
7
26
|
attr_reader :client_secrets
|
|
8
27
|
|