openai 0.103.0 → 0.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +81 -0
- data/README.md +23 -1
- data/lib/openai/client.rb +3 -386
- data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
- data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
- data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
- data/lib/openai/helpers/beta/agents/files.rb +41 -0
- data/lib/openai/helpers/client_runtime.rb +391 -0
- data/lib/openai/helpers/files.rb +47 -0
- data/lib/openai/helpers/live/websocket.rb +8 -57
- data/lib/openai/helpers/models/chat/parsed.rb +32 -0
- data/lib/openai/helpers/models/responses/parsed.rb +30 -0
- data/lib/openai/helpers/models/responses/response.rb +32 -0
- data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
- data/lib/openai/helpers/realtime/client_extension.rb +1 -2
- data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
- data/lib/openai/helpers/realtime/translation.rb +7 -50
- data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
- data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
- data/lib/openai/helpers/streaming/response_stream.rb +1 -16
- data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
- data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
- data/lib/openai/helpers/vector_stores/files.rb +198 -0
- data/lib/openai/helpers/websocket/client_request.rb +31 -6
- data/lib/openai/helpers/websocket/connection.rb +58 -0
- data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
- data/lib/openai/helpers/websocket/protocol.rb +2 -1
- data/lib/openai/helpers/websocket/resource.rb +54 -0
- data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
- data/lib/openai/helpers/websocket.rb +4 -0
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
- data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
- data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
- data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
- data/lib/openai/models/admin/organization/project_residency.rb +3 -0
- data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
- data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
- data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
- data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
- data/lib/openai/models/audio/speech_create_params.rb +6 -3
- data/lib/openai/models/audio/translation_create_response.rb +0 -1
- data/lib/openai/models/audio/voice.rb +17 -2
- data/lib/openai/models/audio/voice_create_params.rb +100 -3
- data/lib/openai/models/beta/agent_create_params.rb +4 -2
- data/lib/openai/models/beta/agent_list_params.rb +4 -4
- data/lib/openai/models/beta/agent_session.rb +37 -1
- data/lib/openai/models/beta/agent_update_params.rb +4 -2
- data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
- data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
- data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
- data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
- data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
- data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
- data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
- data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
- data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
- data/lib/openai/models/beta/beta_response.rb +23 -2
- data/lib/openai/models/beta/beta_response_error.rb +19 -1
- data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
- data/lib/openai/models/beta/beta_response_item.rb +107 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
- data/lib/openai/models/beta/response_compact_params.rb +21 -0
- data/lib/openai/models/beta/response_create_params.rb +23 -2
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
- data/lib/openai/models/chat/chat_completion_message.rb +0 -8
- data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
- data/lib/openai/models/chat/completion_create_params.rb +5 -12
- data/lib/openai/models/chat_model.rb +21 -0
- data/lib/openai/models/conversations/conversation_item.rb +107 -1
- data/lib/openai/models/decision.rb +17 -2
- data/lib/openai/models/decision_create_params.rb +29 -12
- data/lib/openai/models/decision_input_image.rb +4 -3
- data/lib/openai/models/decision_input_message.rb +4 -4
- data/lib/openai/models/decision_input_part.rb +3 -2
- data/lib/openai/models/image_edit_completed_event.rb +1 -2
- data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
- data/lib/openai/models/image_gen_completed_event.rb +1 -2
- data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
- data/lib/openai/models/images_response.rb +1 -2
- data/lib/openai/models/live/built_in_voice.rb +1 -0
- data/lib/openai/models/live/client_event.rb +14 -2
- data/lib/openai/models/live/decision_create_event.rb +26 -0
- data/lib/openai/models/live/decision_event.rb +117 -0
- data/lib/openai/models/live/decision_item_create_event.rb +194 -0
- data/lib/openai/models/live/decision_item_created_event.rb +202 -0
- data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
- data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
- data/lib/openai/models/live/decision_trigger.rb +244 -0
- data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
- data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
- data/lib/openai/models/live/delegation_created_event.rb +10 -10
- data/lib/openai/models/live/fork_client_event.rb +14 -2
- data/lib/openai/models/live/fork_server_event.rb +17 -2
- data/lib/openai/models/live/media_session_config.rb +47 -11
- data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
- data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
- data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
- data/lib/openai/models/live/server_event.rb +17 -2
- data/lib/openai/models/live/session_accept_params.rb +47 -11
- data/lib/openai/models/live/session_config.rb +47 -11
- data/lib/openai/models/live/session_resource.rb +47 -11
- data/lib/openai/models/live/session_update_config.rb +38 -6
- data/lib/openai/models/live/session_update_event.rb +8 -8
- data/lib/openai/models/live/sideband_client_event.rb +57 -0
- data/lib/openai/models/live/sideband_server_event.rb +78 -0
- data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
- data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
- data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
- data/lib/openai/models/response_format_json_schema.rb +1 -1
- data/lib/openai/models/responses/function_tool.rb +8 -6
- data/lib/openai/models/responses/response.rb +2 -23
- data/lib/openai/models/responses/response_compact_params.rb +21 -0
- data/lib/openai/models/responses/response_create_params.rb +3 -6
- data/lib/openai/models/responses/response_error.rb +19 -1
- data/lib/openai/models/responses/response_format_text_config.rb +0 -4
- data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
- data/lib/openai/models/responses/response_input_item.rb +107 -1
- data/lib/openai/models/responses/response_item.rb +107 -1
- data/lib/openai/models/responses/response_output_item.rb +107 -1
- data/lib/openai/models/responses/response_output_text.rb +0 -8
- data/lib/openai/models/responses/responses_client_event.rb +2 -2
- data/lib/openai/models/safety/safety_alert.rb +12 -1
- data/lib/openai/models/video_create_error.rb +19 -1
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
- data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
- data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
- data/lib/openai/resources/admin/organization/usage.rb +67 -0
- data/lib/openai/resources/audio/speech.rb +2 -1
- data/lib/openai/resources/audio/voices.rb +10 -10
- data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
- data/lib/openai/resources/beta/agents/environments.rb +3 -3
- data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
- data/lib/openai/resources/beta/agents/sessions.rb +20 -56
- data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
- data/lib/openai/resources/beta/agents/vaults.rb +45 -6
- data/lib/openai/resources/beta/agents.rb +6 -4
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/chat/completions.rb +11 -37
- data/lib/openai/resources/decisions.rb +9 -15
- data/lib/openai/resources/files.rb +0 -39
- data/lib/openai/resources/live/forks.rb +19 -0
- data/lib/openai/resources/live/sideband.rb +19 -0
- data/lib/openai/resources/live.rb +19 -0
- data/lib/openai/resources/realtime/translations.rb +19 -0
- data/lib/openai/resources/realtime.rb +19 -0
- data/lib/openai/resources/responses.rb +44 -95
- data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
- data/lib/openai/resources/vector_stores/files.rb +0 -188
- data/lib/openai/resources/webhooks.rb +13 -29
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +31 -0
- data/rbi/openai/client.rbi +0 -103
- data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
- data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
- data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
- data/rbi/openai/helpers/client_runtime.rbi +108 -0
- data/rbi/openai/helpers/files.rbi +25 -0
- data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
- data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
- data/rbi/openai/helpers/models/responses/response.rbi +15 -0
- data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
- data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
- data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
- data/rbi/openai/helpers/websocket.rbi +82 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
- data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
- data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
- data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
- data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
- data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
- data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
- data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
- data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
- data/rbi/openai/models/audio/voice.rbi +21 -2
- data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
- data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
- data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
- data/rbi/openai/models/beta/agent_session.rbi +64 -1
- data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
- data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
- data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
- data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
- data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
- data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
- data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
- data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
- data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
- data/rbi/openai/models/beta/beta_response.rbi +2 -2
- data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
- data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
- data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
- data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
- data/rbi/openai/models/beta/response_create_params.rbi +2 -2
- data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
- data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
- data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
- data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
- data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
- data/rbi/openai/models/decision.rbi +14 -1
- data/rbi/openai/models/decision_create_params.rbi +23 -12
- data/rbi/openai/models/decision_input_image.rbi +4 -3
- data/rbi/openai/models/decision_input_message.rbi +4 -4
- data/rbi/openai/models/decision_input_part.rbi +2 -1
- data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
- data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
- data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
- data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
- data/rbi/openai/models/images_response.rbi +1 -0
- data/rbi/openai/models/live/built_in_voice.rbi +1 -0
- data/rbi/openai/models/live/client_event.rbi +4 -0
- data/rbi/openai/models/live/decision_create_event.rbi +55 -0
- data/rbi/openai/models/live/decision_event.rbi +185 -0
- data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
- data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
- data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
- data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
- data/rbi/openai/models/live/decision_trigger.rbi +465 -0
- data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
- data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
- data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
- data/rbi/openai/models/live/fork_client_event.rbi +4 -0
- data/rbi/openai/models/live/fork_server_event.rbi +5 -0
- data/rbi/openai/models/live/media_session_config.rbi +95 -14
- data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
- data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
- data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
- data/rbi/openai/models/live/server_event.rbi +5 -0
- data/rbi/openai/models/live/session_accept_params.rbi +88 -12
- data/rbi/openai/models/live/session_config.rbi +100 -14
- data/rbi/openai/models/live/session_resource.rbi +81 -10
- data/rbi/openai/models/live/session_update_config.rbi +86 -9
- data/rbi/openai/models/live/session_update_event.rbi +8 -8
- data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
- data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
- data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
- data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
- data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
- data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
- data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
- data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
- data/rbi/openai/models/responses/response.rbi +2 -7
- data/rbi/openai/models/responses/response_create_params.rbi +5 -9
- data/rbi/openai/models/responses/response_error.rbi +24 -3
- data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
- data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
- data/rbi/openai/models/responses/response_input_item.rbi +191 -0
- data/rbi/openai/models/responses/response_item.rbi +189 -0
- data/rbi/openai/models/responses/response_output_item.rbi +191 -0
- data/rbi/openai/models/responses/response_output_text.rbi +0 -4
- data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
- data/rbi/openai/models/safety/safety_alert.rbi +13 -1
- data/rbi/openai/models/video_create_error.rbi +24 -3
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
- data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
- data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
- data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
- data/rbi/openai/resources/audio/speech.rbi +2 -1
- data/rbi/openai/resources/audio/voices.rbi +13 -10
- data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
- data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
- data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
- data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
- data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
- data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
- data/rbi/openai/resources/beta/agents.rbi +6 -4
- data/rbi/openai/resources/beta/responses.rbi +2 -2
- data/rbi/openai/resources/chat/completions.rbi +26 -29
- data/rbi/openai/resources/decisions.rbi +9 -15
- data/rbi/openai/resources/files.rbi +0 -18
- data/rbi/openai/resources/live/forks.rbi +17 -0
- data/rbi/openai/resources/live/sideband.rbi +17 -0
- data/rbi/openai/resources/live.rbi +17 -0
- data/rbi/openai/resources/realtime/translations.rbi +17 -0
- data/rbi/openai/resources/realtime.rbi +17 -0
- data/rbi/openai/resources/responses.rbi +41 -333
- data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
- data/rbi/openai/resources/vector_stores/files.rbi +0 -113
- data/rbi/openai/resources/webhooks.rbi +1 -1
- data/sig/openai/client.rbs +0 -50
- data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
- data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
- data/sig/openai/helpers/beta/agents/files.rbs +30 -0
- data/sig/openai/helpers/client_runtime.rbs +53 -0
- data/sig/openai/helpers/files.rbs +12 -0
- data/sig/openai/helpers/models/responses/response.rbs +9 -0
- data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
- data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
- data/sig/openai/helpers/vector_stores/files.rbs +43 -0
- data/sig/openai/helpers/websocket.rbs +40 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
- data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
- data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
- data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
- data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
- data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
- data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
- data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
- data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
- data/sig/openai/models/audio/speech_create_params.rbs +4 -2
- data/sig/openai/models/audio/voice.rbs +21 -3
- data/sig/openai/models/audio/voice_create_params.rbs +90 -1
- data/sig/openai/models/beta/agent_create_params.rbs +4 -2
- data/sig/openai/models/beta/agent_list_params.rbs +9 -6
- data/sig/openai/models/beta/agent_session.rbs +36 -2
- data/sig/openai/models/beta/agent_update_params.rbs +4 -2
- data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
- data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
- data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
- data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
- data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
- data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
- data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
- data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
- data/sig/openai/models/beta/beta_response.rbs +2 -2
- data/sig/openai/models/beta/beta_response_error.rbs +19 -3
- data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
- data/sig/openai/models/beta/beta_response_item.rbs +110 -0
- data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
- data/sig/openai/models/beta/response_create_params.rbs +2 -2
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
- data/sig/openai/models/chat/completion_create_params.rbs +2 -2
- data/sig/openai/models/conversations/conversation_item.rbs +110 -0
- data/sig/openai/models/decision.rbs +13 -0
- data/sig/openai/models/decision_create_params.rbs +19 -8
- data/sig/openai/models/decision_input_image.rbs +2 -2
- data/sig/openai/models/decision_input_message.rbs +2 -2
- data/sig/openai/models/live/built_in_voice.rbs +2 -0
- data/sig/openai/models/live/client_event.rbs +4 -0
- data/sig/openai/models/live/decision_create_event.rbs +18 -0
- data/sig/openai/models/live/decision_event.rbs +102 -0
- data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
- data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
- data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
- data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
- data/sig/openai/models/live/decision_trigger.rbs +234 -0
- data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
- data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
- data/sig/openai/models/live/delegation_created_event.rbs +6 -7
- data/sig/openai/models/live/fork_client_event.rbs +4 -0
- data/sig/openai/models/live/fork_server_event.rbs +5 -0
- data/sig/openai/models/live/media_session_config.rbs +58 -11
- data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
- data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
- data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
- data/sig/openai/models/live/server_event.rbs +5 -0
- data/sig/openai/models/live/session_accept_params.rbs +57 -10
- data/sig/openai/models/live/session_config.rbs +58 -11
- data/sig/openai/models/live/session_resource.rbs +57 -10
- data/sig/openai/models/live/session_update_config.rbs +54 -3
- data/sig/openai/models/live/session_update_event.rbs +6 -6
- data/sig/openai/models/live/sideband_client_event.rbs +26 -0
- data/sig/openai/models/live/sideband_server_event.rbs +33 -0
- data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
- data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
- data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
- data/sig/openai/models/responses/response.rbs +2 -4
- data/sig/openai/models/responses/response_create_params.rbs +2 -2
- data/sig/openai/models/responses/response_error.rbs +19 -3
- data/sig/openai/models/responses/response_input_item.rbs +110 -0
- data/sig/openai/models/responses/response_item.rbs +110 -0
- data/sig/openai/models/responses/response_output_item.rbs +110 -0
- data/sig/openai/models/responses/responses_client_event.rbs +2 -2
- data/sig/openai/models/safety/safety_alert.rbs +12 -2
- data/sig/openai/models/video_create_error.rbs +19 -3
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
- data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
- data/sig/openai/resources/admin/organization/usage.rbs +15 -0
- data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
- data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
- data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
- data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
- data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
- data/sig/openai/resources/beta/agents.rbs +1 -1
- data/sig/openai/resources/files.rbs +0 -7
- data/sig/openai/resources/live/forks.rbs +8 -0
- data/sig/openai/resources/live/sideband.rbs +8 -0
- data/sig/openai/resources/live.rbs +7 -0
- data/sig/openai/resources/realtime/translations.rbs +7 -0
- data/sig/openai/resources/realtime.rbs +7 -0
- data/sig/openai/resources/responses.rbs +7 -31
- data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
- data/sig/openai/resources/vector_stores/files.rbs +0 -36
- data/sig/openai/resources/webhooks.rbs +1 -1
- metadata +89 -1
|
@@ -27,7 +27,19 @@ module OpenAI
|
|
|
27
27
|
# @return [OpenAI::Models::VideoCreateError::Misalignment, nil]
|
|
28
28
|
optional :misalignment, -> { OpenAI::VideoCreateError::Misalignment }
|
|
29
29
|
|
|
30
|
-
# @!
|
|
30
|
+
# @!attribute param
|
|
31
|
+
# The request parameter associated with the error, or null if none was recorded.
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :param, String, nil?: true
|
|
35
|
+
|
|
36
|
+
# @!attribute type
|
|
37
|
+
# The original error type, or null if it was not recorded.
|
|
38
|
+
#
|
|
39
|
+
# @return [String, nil]
|
|
40
|
+
optional :type, String, nil?: true
|
|
41
|
+
|
|
42
|
+
# @!method initialize(code:, message:, headers: nil, misalignment: nil, param: nil, type: nil)
|
|
31
43
|
# An error that occurred while generating the response.
|
|
32
44
|
#
|
|
33
45
|
# @param code [String]
|
|
@@ -41,6 +53,12 @@ module OpenAI
|
|
|
41
53
|
# any.
|
|
42
54
|
#
|
|
43
55
|
# @param misalignment [OpenAI::Models::VideoCreateError::Misalignment]
|
|
56
|
+
#
|
|
57
|
+
# @param param [String, nil]
|
|
58
|
+
# The request parameter associated with the error, or null if none was recorded.
|
|
59
|
+
#
|
|
60
|
+
# @param type [String, nil]
|
|
61
|
+
# The original error type, or null if it was not recorded.
|
|
44
62
|
|
|
45
63
|
# @see OpenAI::Models::VideoCreateError#misalignment
|
|
46
64
|
class Misalignment < OpenAI::Internal::Type::BaseModel
|
|
@@ -12,15 +12,15 @@ module OpenAI
|
|
|
12
12
|
# Sent when an agent environment expires and can no longer resume from a snapshot.
|
|
13
13
|
variant :"agent.environment.expired", -> { OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent }
|
|
14
14
|
|
|
15
|
-
# Sent when an agent environment is suspended and can resume from a snapshot.
|
|
16
|
-
variant :"agent.environment.suspended", -> { OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent }
|
|
17
|
-
|
|
18
15
|
# Sent when setup fails for a prewarmed OpenAI-hosted environment before it is attached to a session.
|
|
19
16
|
variant :"agent.environment.failed", -> { OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent }
|
|
20
17
|
|
|
21
18
|
# Sent when a prewarmed OpenAI-hosted environment finishes setup before being attached to a session.
|
|
22
19
|
variant :"agent.environment.ready", -> { OpenAI::Webhooks::AgentEnvironmentReadyWebhookEvent }
|
|
23
20
|
|
|
21
|
+
# Sent when an agent environment is suspended and can resume from a snapshot.
|
|
22
|
+
variant :"agent.environment.suspended", -> { OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent }
|
|
23
|
+
|
|
24
24
|
# Sent when an agent session requires an action. Retrieve the session for action details.
|
|
25
25
|
variant :"agent.session.action_required", -> { OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent }
|
|
26
26
|
|
|
@@ -108,7 +108,7 @@ module OpenAI
|
|
|
108
108
|
variant :"safety.warning_issued", -> { OpenAI::Webhooks::SafetyWarningIssuedWebhookEvent }
|
|
109
109
|
|
|
110
110
|
# @!method self.variants
|
|
111
|
-
# @return [Array(OpenAI::Models::Webhooks::AgentEnvironmentExpiredWebhookEvent, OpenAI::Models::Webhooks::
|
|
111
|
+
# @return [Array(OpenAI::Models::Webhooks::AgentEnvironmentExpiredWebhookEvent, OpenAI::Models::Webhooks::AgentEnvironmentFailedWebhookEvent, OpenAI::Models::Webhooks::AgentEnvironmentReadyWebhookEvent, OpenAI::Models::Webhooks::AgentEnvironmentSuspendedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionActionRequiredWebhookEvent, OpenAI::Models::Webhooks::AgentSessionCreatedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionFailedWebhookEvent, OpenAI::Models::Webhooks::AgentSessionIdleWebhookEvent, OpenAI::Models::Webhooks::AgentSessionInProgressWebhookEvent, OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyDeactivationIssuedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyWarningIssuedWebhookEvent)]
|
|
112
112
|
end
|
|
113
113
|
end
|
|
114
114
|
end
|
|
@@ -90,15 +90,6 @@ module OpenAI
|
|
|
90
90
|
#
|
|
91
91
|
# @param object [Symbol, :webhook_endpoint]
|
|
92
92
|
# The object type, which is always webhook_endpoint.
|
|
93
|
-
|
|
94
|
-
# Keep diagnostics safe without changing field access or serialization.
|
|
95
|
-
def to_s = deep_to_h.merge(signing_secret: "[REDACTED]").to_s
|
|
96
|
-
|
|
97
|
-
def inspect
|
|
98
|
-
converted = self.class.recursively_to_h(self, convert: true)
|
|
99
|
-
converted[:signing_secret] = "[REDACTED]"
|
|
100
|
-
"#<#{self.class}:0x#{object_id.to_s(16)} #{converted}>"
|
|
101
|
-
end
|
|
102
93
|
end
|
|
103
94
|
end
|
|
104
95
|
end
|
|
@@ -10,7 +10,7 @@ module OpenAI
|
|
|
10
10
|
# @overload create(project_id:, provider:, request_options: {})
|
|
11
11
|
#
|
|
12
12
|
# @param project_id [String]
|
|
13
|
-
# @param provider [OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp]
|
|
13
|
+
# @param provider [OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Oci]
|
|
14
14
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
15
15
|
#
|
|
16
16
|
# @return [OpenAI::Models::Admin::Organization::ExternalStorageConfiguration]
|
|
@@ -36,6 +36,67 @@ module OpenAI
|
|
|
36
36
|
)
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
+
# Updates the scopes and/or expiration of an existing API key in the project,
|
|
40
|
+
# including a service-account-owned key. Requires permission to write project API
|
|
41
|
+
# keys.
|
|
42
|
+
#
|
|
43
|
+
# Provide at least one of `scopes` or `expires_in_seconds`. Omitted fields stay
|
|
44
|
+
# unchanged; neither field accepts `null`. Both changes are saved together.
|
|
45
|
+
#
|
|
46
|
+
# `scopes` replaces the key's scope restrictions using the same scope identifiers
|
|
47
|
+
# as the dashboard. An empty array means All permissions, subject to the owner's
|
|
48
|
+
# effective access; it does not mean no access. Use `["api.all.read"]` for
|
|
49
|
+
# read-only access or specific scopes such as `["api.files.read"]` for restricted
|
|
50
|
+
# access. This does not change user or service-account roles or grant admin
|
|
51
|
+
# permissions. Scope changes follow the same authentication-cache propagation as
|
|
52
|
+
# dashboard edits.
|
|
53
|
+
#
|
|
54
|
+
# Provide `expires_in_seconds` to set the expiration relative to this request. The
|
|
55
|
+
# value must satisfy the organization's and project's expiry policies. Expired
|
|
56
|
+
# keys cannot be updated. Retrying resets the expiration relative to the new
|
|
57
|
+
# request. The response contains only the redacted key, not its secret.
|
|
58
|
+
#
|
|
59
|
+
# @overload update(api_key_id, project_id:, expires_in_seconds: nil, scopes: nil, request_options: {})
|
|
60
|
+
#
|
|
61
|
+
# @param api_key_id [String]
|
|
62
|
+
# Path param: The ID of the API key.
|
|
63
|
+
#
|
|
64
|
+
# @param project_id [String]
|
|
65
|
+
# Path param: The ID of the project.
|
|
66
|
+
#
|
|
67
|
+
# @param expires_in_seconds [Integer]
|
|
68
|
+
# Body param: Number of seconds from this request until the API key expires. Must
|
|
69
|
+
# comply with the organization and project expiry policies. Expired keys cannot be
|
|
70
|
+
# updated. Retrying resets the expiry relative to the new request. Omit to keep
|
|
71
|
+
# the current expiration.
|
|
72
|
+
#
|
|
73
|
+
# @param scopes [Array<String>]
|
|
74
|
+
# Body param: Replace the API key scope restrictions. Omit to leave scopes
|
|
75
|
+
# unchanged. An empty array removes key restrictions (All permissions), subject to
|
|
76
|
+
# the owner's effective permissions. Use ["api.all.read"] for read-only access.
|
|
77
|
+
# Scopes do not change the owner's roles or grant administrative permissions.
|
|
78
|
+
#
|
|
79
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
80
|
+
#
|
|
81
|
+
# @return [OpenAI::Models::Admin::Organization::Projects::ProjectAPIKey]
|
|
82
|
+
#
|
|
83
|
+
# @see OpenAI::Models::Admin::Organization::Projects::APIKeyUpdateParams
|
|
84
|
+
def update(api_key_id, params)
|
|
85
|
+
parsed, options = OpenAI::Admin::Organization::Projects::APIKeyUpdateParams.dump_request(params)
|
|
86
|
+
project_id = parsed.delete(:project_id) do
|
|
87
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
@client.request(
|
|
91
|
+
method: :post,
|
|
92
|
+
path: ["organization/projects/%1$s/api_keys/%2$s", project_id, api_key_id],
|
|
93
|
+
body: parsed,
|
|
94
|
+
model: OpenAI::Admin::Organization::Projects::ProjectAPIKey,
|
|
95
|
+
security: {admin_api_key_auth: true},
|
|
96
|
+
options: options
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
|
|
39
100
|
# Returns a list of API keys in the project.
|
|
40
101
|
#
|
|
41
102
|
# @overload list(project_id, after: nil, limit: nil, owner_project_access: nil, request_options: {})
|
|
@@ -298,6 +298,73 @@ module OpenAI
|
|
|
298
298
|
)
|
|
299
299
|
end
|
|
300
300
|
|
|
301
|
+
# Get Decisions API usage details for the organization.
|
|
302
|
+
#
|
|
303
|
+
# @overload decisions(start_time:, api_key_ids: nil, batch: nil, bucket_width: nil, end_time: nil, group_by: nil, limit: nil, models: nil, page: nil, project_ids: nil, user_ids: nil, request_options: {})
|
|
304
|
+
#
|
|
305
|
+
# @param start_time [Integer]
|
|
306
|
+
# Start time (Unix seconds) of the query time range, inclusive.
|
|
307
|
+
#
|
|
308
|
+
# @param api_key_ids [Array<String>, nil]
|
|
309
|
+
# Return only usage for these API keys.
|
|
310
|
+
#
|
|
311
|
+
# @param batch [Boolean, nil]
|
|
312
|
+
# If `true`, return batch jobs only. If `false`, return non-batch jobs only. By
|
|
313
|
+
# default, return both.
|
|
314
|
+
#
|
|
315
|
+
# @param bucket_width [Symbol, OpenAI::Models::Admin::Organization::UsageDecisionsParams::BucketWidth, nil]
|
|
316
|
+
# Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
|
|
317
|
+
# supported, default to `1d`.
|
|
318
|
+
#
|
|
319
|
+
# @param end_time [Integer, nil]
|
|
320
|
+
# End time (Unix seconds) of the query time range, exclusive.
|
|
321
|
+
#
|
|
322
|
+
# @param group_by [Array<Symbol, OpenAI::Models::Admin::Organization::UsageDecisionsParams::GroupBy>, nil]
|
|
323
|
+
# Group the usage data by the specified fields. Support fields include
|
|
324
|
+
# `project_id`, `user_id`, `api_key_id`, `model`, `batch`, `service_tier`,
|
|
325
|
+
# `api_source` or any combination of them. When grouped by `api_source`, results
|
|
326
|
+
# use `agents_api` for attributed Agents API activity and `unlabeled` for all
|
|
327
|
+
# other activity. Without source grouping, `api_source` is null.
|
|
328
|
+
#
|
|
329
|
+
# @param limit [Integer, nil]
|
|
330
|
+
# Specifies the number of buckets to return.
|
|
331
|
+
#
|
|
332
|
+
# - `bucket_width=1d`: default: 7, max: 31
|
|
333
|
+
# - `bucket_width=1h`: default: 24, max: 168
|
|
334
|
+
# - `bucket_width=1m`: default: 60, max: 1440
|
|
335
|
+
#
|
|
336
|
+
# @param models [Array<String>, nil]
|
|
337
|
+
# Return only usage for these models.
|
|
338
|
+
#
|
|
339
|
+
# @param page [String, nil]
|
|
340
|
+
# A cursor for use in pagination. Corresponding to the `next_page` field from the
|
|
341
|
+
# previous response.
|
|
342
|
+
#
|
|
343
|
+
# @param project_ids [Array<String>, nil]
|
|
344
|
+
# Return only usage for these projects.
|
|
345
|
+
#
|
|
346
|
+
# @param user_ids [Array<String>, nil]
|
|
347
|
+
# Return only usage for these users.
|
|
348
|
+
#
|
|
349
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
350
|
+
#
|
|
351
|
+
# @return [OpenAI::Models::Admin::Organization::UsageDecisionsResponse]
|
|
352
|
+
#
|
|
353
|
+
# @see OpenAI::Models::Admin::Organization::UsageDecisionsParams
|
|
354
|
+
def decisions(params)
|
|
355
|
+
parsed, options = OpenAI::Admin::Organization::UsageDecisionsParams.dump_request(params)
|
|
356
|
+
# Nil optional filters mean unset; empty query values fail backend parsing.
|
|
357
|
+
query = OpenAI::Internal::Util.encode_query_params(parsed.compact)
|
|
358
|
+
@client.request(
|
|
359
|
+
method: :get,
|
|
360
|
+
path: "organization/usage/decisions",
|
|
361
|
+
query: query,
|
|
362
|
+
model: OpenAI::Models::Admin::Organization::UsageDecisionsResponse,
|
|
363
|
+
security: {admin_api_key_auth: true},
|
|
364
|
+
options: options
|
|
365
|
+
)
|
|
366
|
+
end
|
|
367
|
+
|
|
301
368
|
# Get embeddings usage details for the organization.
|
|
302
369
|
#
|
|
303
370
|
# @overload embeddings(start_time:, api_key_ids: nil, bucket_width: nil, end_time: nil, group_by: nil, limit: nil, models: nil, page: nil, project_ids: nil, user_ids: nil, request_options: {})
|
|
@@ -26,7 +26,8 @@ module OpenAI
|
|
|
26
26
|
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
27
27
|
# voices are available in the
|
|
28
28
|
# [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
|
|
29
|
-
# Custom voices must be created from audio samples.
|
|
29
|
+
# Custom voices must be created from audio samples. Voices created from text
|
|
30
|
+
# prompts are supported only in Live.
|
|
30
31
|
#
|
|
31
32
|
# @param instructions [String]
|
|
32
33
|
# Control the voice of your generated audio with additional instructions. Does not
|
|
@@ -5,21 +5,21 @@ module OpenAI
|
|
|
5
5
|
class Audio
|
|
6
6
|
# Turn audio into text or text into audio.
|
|
7
7
|
class Voices
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
# previously uploaded consent recording.
|
|
8
|
+
# Creates a voice from a text prompt or from a consent recording and an audio
|
|
9
|
+
# sample.
|
|
11
10
|
#
|
|
12
|
-
#
|
|
13
|
-
# data.
|
|
11
|
+
# For prompt-based creation, send `type: "prompt"` with a `name` and `prompt` as
|
|
12
|
+
# JSON or multipart form data. For creation from an audio sample, send
|
|
13
|
+
# `type: "audio_sample"` with a `name`, `audio_sample`, and `consent` recording ID
|
|
14
|
+
# as multipart form data. The type defaults to `audio_sample` when omitted.
|
|
14
15
|
#
|
|
15
|
-
# Returns the saved voice's metadata.
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
# customers.
|
|
16
|
+
# Returns the saved voice's metadata. Voices created from text prompts are
|
|
17
|
+
# supported only in Live, not in Realtime or the speech endpoint. The response
|
|
18
|
+
# does not include preview audio.
|
|
19
19
|
#
|
|
20
20
|
# @overload create(body:, request_options: {})
|
|
21
21
|
#
|
|
22
|
-
# @param body [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample]
|
|
22
|
+
# @param body [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt]
|
|
23
23
|
# Creates a voice from a consent recording and an audio sample. Requires
|
|
24
24
|
# multipart/form-data.
|
|
25
25
|
#
|
|
@@ -8,37 +8,9 @@ module OpenAI
|
|
|
8
8
|
class Agents
|
|
9
9
|
class Environments
|
|
10
10
|
class Files
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
OpenAI::Helpers::Beta::Agents::FilePreparation
|
|
15
|
-
.new(client: @client, environment_files: self)
|
|
16
|
-
.prepare(files, request_options: request_options)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# Upload an explicitly selected directory snapshot (beta).
|
|
20
|
-
# @return [OpenAI::Helpers::Beta::Agents::PreparedFiles]
|
|
21
|
-
def prepare_directory(directory, destination:, include:, request_options: {})
|
|
22
|
-
OpenAI::Helpers::Beta::Agents::FilePreparation
|
|
23
|
-
.new(client: @client, environment_files: self)
|
|
24
|
-
.prepare_directory(
|
|
25
|
-
directory,
|
|
26
|
-
destination: destination,
|
|
27
|
-
include: include,
|
|
28
|
-
request_options: request_options
|
|
29
|
-
)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
# Upload and stage a local file in an existing environment (beta).
|
|
33
|
-
# @return [OpenAI::Helpers::Beta::Agents::PreparedFiles]
|
|
34
|
-
def upload(environment_id, file:, path:, request_options: {})
|
|
35
|
-
OpenAI::Helpers::Beta::Agents::FilePreparation
|
|
36
|
-
.new(client: @client, environment_files: self)
|
|
37
|
-
.upload(environment_id, file: file, path: path, request_options: request_options)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# Copies inline bytes or a Files API file into a connected execution environment.
|
|
41
|
-
# See
|
|
11
|
+
# Copies inline bytes or a Files API file into a connected execution environment,
|
|
12
|
+
# replacing an existing regular file at the same path. Upload between turns and
|
|
13
|
+
# wait for success before starting the next turn. See
|
|
42
14
|
# [environment files](https://developers.openai.com/api/docs/guides/agents-api/environments/files).
|
|
43
15
|
#
|
|
44
16
|
# @overload create(environment_id, hosted_environment_file_param:, request_options: {})
|
|
@@ -83,13 +83,13 @@ module OpenAI
|
|
|
83
83
|
# @overload list(after: nil, limit: nil, order: nil, type: nil, request_options: {})
|
|
84
84
|
#
|
|
85
85
|
# @param after [String]
|
|
86
|
-
# Return
|
|
86
|
+
# Return resources after this resource ID in the selected order.
|
|
87
87
|
#
|
|
88
88
|
# @param limit [Integer]
|
|
89
|
-
# The maximum number of
|
|
89
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
90
90
|
#
|
|
91
91
|
# @param order [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order]
|
|
92
|
-
# The order in which
|
|
92
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
93
93
|
#
|
|
94
94
|
# @param type [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Type]
|
|
95
95
|
# The hosting type to list. Defaults to `openai_hosted`.
|
|
@@ -8,12 +8,6 @@ module OpenAI
|
|
|
8
8
|
class Agents
|
|
9
9
|
class Sessions
|
|
10
10
|
class Artifacts
|
|
11
|
-
# Access artifacts from exactly this completed turn (beta).
|
|
12
|
-
# @return [OpenAI::Helpers::Beta::Agents::ResultArtifacts]
|
|
13
|
-
def for_result(result)
|
|
14
|
-
OpenAI::Helpers::Beta::Agents::ResultArtifacts.new(artifacts: self, client: @client, result: result)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
11
|
# Retrieves immutable metadata for one durable session artifact. See
|
|
18
12
|
# [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).
|
|
19
13
|
#
|
|
@@ -54,17 +48,17 @@ module OpenAI
|
|
|
54
48
|
# @param session_id [String]
|
|
55
49
|
# The ID of the session.
|
|
56
50
|
#
|
|
57
|
-
# @param after [String
|
|
58
|
-
# Return
|
|
51
|
+
# @param after [String]
|
|
52
|
+
# Return resources after this resource ID in the selected order.
|
|
59
53
|
#
|
|
60
54
|
# @param environment_id [String, nil]
|
|
61
55
|
# Restrict the listing to artifacts produced by this environment.
|
|
62
56
|
#
|
|
63
|
-
# @param limit [Integer
|
|
64
|
-
# The maximum number of
|
|
57
|
+
# @param limit [Integer]
|
|
58
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
65
59
|
#
|
|
66
60
|
# @param order [Symbol, OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::Order]
|
|
67
|
-
#
|
|
61
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
68
62
|
#
|
|
69
63
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
70
64
|
#
|
|
@@ -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`.
|