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
|
@@ -29,7 +29,8 @@ module OpenAI
|
|
|
29
29
|
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
30
30
|
# voices are available in the
|
|
31
31
|
# [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
|
|
32
|
-
# Custom voices must be created from audio samples.
|
|
32
|
+
# Custom voices must be created from audio samples. Voices created from text
|
|
33
|
+
# prompts are supported only in Live.
|
|
33
34
|
#
|
|
34
35
|
# @return [String, Symbol, OpenAI::Models::Audio::SpeechCreateParams::Voice::ID, OpenAI::Models::Audio::SpeechCreateParams::Voice]
|
|
35
36
|
required :voice, union: -> { OpenAI::Audio::SpeechCreateParams::Voice }
|
|
@@ -78,7 +79,8 @@ module OpenAI
|
|
|
78
79
|
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
79
80
|
# voices are available in the
|
|
80
81
|
# [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
|
|
81
|
-
# Custom voices must be created from audio samples.
|
|
82
|
+
# Custom voices must be created from audio samples. Voices created from text
|
|
83
|
+
# prompts are supported only in Live.
|
|
82
84
|
#
|
|
83
85
|
# @param instructions [String]
|
|
84
86
|
# Control the voice of your generated audio with additional instructions. Does not
|
|
@@ -119,7 +121,8 @@ module OpenAI
|
|
|
119
121
|
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
120
122
|
# voices are available in the
|
|
121
123
|
# [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
|
|
122
|
-
# Custom voices must be created from audio samples.
|
|
124
|
+
# Custom voices must be created from audio samples. Voices created from text
|
|
125
|
+
# prompts are supported only in Live.
|
|
123
126
|
module Voice
|
|
124
127
|
extend OpenAI::Internal::Type::Union
|
|
125
128
|
|
|
@@ -35,8 +35,17 @@ module OpenAI
|
|
|
35
35
|
# @return [Symbol, OpenAI::Models::Audio::Voice::Type]
|
|
36
36
|
required :type, enum: -> { OpenAI::Audio::Voice::Type }
|
|
37
37
|
|
|
38
|
-
# @!
|
|
39
|
-
#
|
|
38
|
+
# @!attribute prompt
|
|
39
|
+
# The original text prompt used to create the voice. Present for prompt-generated
|
|
40
|
+
# voices with a stored prompt; omitted for audio-sample voices and older voices
|
|
41
|
+
# without a stored prompt.
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :prompt, String
|
|
45
|
+
|
|
46
|
+
# @!method initialize(id:, created_at:, name:, type:, prompt: nil, object: :"audio.voice")
|
|
47
|
+
# A custom voice that can be used for audio output. Voices created from text
|
|
48
|
+
# prompts are supported only in Live.
|
|
40
49
|
#
|
|
41
50
|
# @param id [String]
|
|
42
51
|
# The voice identifier, which can be referenced in API endpoints.
|
|
@@ -50,6 +59,11 @@ module OpenAI
|
|
|
50
59
|
# @param type [Symbol, OpenAI::Models::Audio::Voice::Type]
|
|
51
60
|
# How the voice was created.
|
|
52
61
|
#
|
|
62
|
+
# @param prompt [String]
|
|
63
|
+
# The original text prompt used to create the voice. Present for prompt-generated
|
|
64
|
+
# voices with a stored prompt; omitted for audio-sample voices and older voices
|
|
65
|
+
# without a stored prompt.
|
|
66
|
+
#
|
|
53
67
|
# @param object [Symbol, :"audio.voice"]
|
|
54
68
|
# The object type, which is always `audio.voice`.
|
|
55
69
|
|
|
@@ -60,6 +74,7 @@ module OpenAI
|
|
|
60
74
|
extend OpenAI::Internal::Type::Enum
|
|
61
75
|
|
|
62
76
|
AUDIO_SAMPLE = :audio_sample
|
|
77
|
+
PROMPT = :prompt
|
|
63
78
|
|
|
64
79
|
# @!method self.values
|
|
65
80
|
# @return [Array<Symbol>]
|
|
@@ -12,11 +12,11 @@ module OpenAI
|
|
|
12
12
|
# Creates a voice from a consent recording and an audio sample. Requires
|
|
13
13
|
# multipart/form-data.
|
|
14
14
|
#
|
|
15
|
-
# @return [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample]
|
|
15
|
+
# @return [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt]
|
|
16
16
|
required :body, union: -> { OpenAI::Audio::VoiceCreateParams::Body }
|
|
17
17
|
|
|
18
18
|
# @!method initialize(body:, request_options: {})
|
|
19
|
-
# @param body [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample]
|
|
19
|
+
# @param body [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt]
|
|
20
20
|
# Creates a voice from a consent recording and an audio sample. Requires
|
|
21
21
|
# multipart/form-data.
|
|
22
22
|
#
|
|
@@ -43,6 +43,9 @@ module OpenAI
|
|
|
43
43
|
# Creates a voice from a consent recording and an audio sample. Requires multipart/form-data.
|
|
44
44
|
variant :audio_sample, -> { OpenAI::Audio::VoiceCreateParams::Body::AudioSample }
|
|
45
45
|
|
|
46
|
+
# Creates a synthetic voice from a text description. Supports application/json or multipart/form-data.
|
|
47
|
+
variant :prompt, -> { OpenAI::Audio::VoiceCreateParams::Body::Prompt }
|
|
48
|
+
|
|
46
49
|
class AudioSample < OpenAI::Internal::Type::BaseModel
|
|
47
50
|
# @!attribute audio_sample
|
|
48
51
|
# The sample audio recording file. Maximum size is 10 MiB.
|
|
@@ -111,8 +114,102 @@ module OpenAI
|
|
|
111
114
|
end
|
|
112
115
|
end
|
|
113
116
|
|
|
117
|
+
class Prompt < OpenAI::Internal::Type::BaseModel
|
|
118
|
+
# @!attribute name
|
|
119
|
+
# The name of the new voice.
|
|
120
|
+
#
|
|
121
|
+
# @return [String]
|
|
122
|
+
required :name, String
|
|
123
|
+
|
|
124
|
+
# @!attribute prompt
|
|
125
|
+
# A description of the desired voice. Must not contain only whitespace.
|
|
126
|
+
#
|
|
127
|
+
# @return [String]
|
|
128
|
+
required :prompt, String
|
|
129
|
+
|
|
130
|
+
# @!attribute type
|
|
131
|
+
# Set to `prompt` to create a voice from a text description.
|
|
132
|
+
#
|
|
133
|
+
# @return [Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Type]
|
|
134
|
+
required :type, enum: -> { OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type }
|
|
135
|
+
|
|
136
|
+
# @!attribute model
|
|
137
|
+
# The voice creation model to use. Defaults to `auto`.
|
|
138
|
+
#
|
|
139
|
+
# @return [String, Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model, nil]
|
|
140
|
+
optional :model, union: -> { OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model }
|
|
141
|
+
|
|
142
|
+
# @!attribute script_hint
|
|
143
|
+
# Optional text for the voice to speak during creation. If omitted, a script is
|
|
144
|
+
# generated from the prompt. Must not be blank after trimming whitespace; scripts
|
|
145
|
+
# that are too short are rejected.
|
|
146
|
+
#
|
|
147
|
+
# @return [String, nil]
|
|
148
|
+
optional :script_hint, String
|
|
149
|
+
|
|
150
|
+
# @!method initialize(name:, prompt:, type:, model: nil, script_hint: nil)
|
|
151
|
+
# Creates a synthetic voice from a text description. Supports application/json or
|
|
152
|
+
# multipart/form-data.
|
|
153
|
+
#
|
|
154
|
+
# @param name [String]
|
|
155
|
+
# The name of the new voice.
|
|
156
|
+
#
|
|
157
|
+
# @param prompt [String]
|
|
158
|
+
# A description of the desired voice. Must not contain only whitespace.
|
|
159
|
+
#
|
|
160
|
+
# @param type [Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Type]
|
|
161
|
+
# Set to `prompt` to create a voice from a text description.
|
|
162
|
+
#
|
|
163
|
+
# @param model [String, Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model]
|
|
164
|
+
# The voice creation model to use. Defaults to `auto`.
|
|
165
|
+
#
|
|
166
|
+
# @param script_hint [String]
|
|
167
|
+
# Optional text for the voice to speak during creation. If omitted, a script is
|
|
168
|
+
# generated from the prompt. Must not be blank after trimming whitespace; scripts
|
|
169
|
+
# that are too short are rejected.
|
|
170
|
+
|
|
171
|
+
# Set to `prompt` to create a voice from a text description.
|
|
172
|
+
#
|
|
173
|
+
# @see OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt#type
|
|
174
|
+
module Type
|
|
175
|
+
extend OpenAI::Internal::Type::Enum
|
|
176
|
+
|
|
177
|
+
PROMPT = :prompt
|
|
178
|
+
|
|
179
|
+
# @!method self.values
|
|
180
|
+
# @return [Array<Symbol>]
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# The voice creation model to use. Defaults to `auto`.
|
|
184
|
+
#
|
|
185
|
+
# @see OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt#model
|
|
186
|
+
module Model
|
|
187
|
+
extend OpenAI::Internal::Type::Union
|
|
188
|
+
|
|
189
|
+
variant String
|
|
190
|
+
|
|
191
|
+
variant const: -> { OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model::AUTO }
|
|
192
|
+
|
|
193
|
+
variant const: -> { OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model::MODEL_2026_10_08 }
|
|
194
|
+
|
|
195
|
+
# @!method self.variants
|
|
196
|
+
# @return [Array(String, Symbol)]
|
|
197
|
+
|
|
198
|
+
define_sorbet_constant!(:Variants) do
|
|
199
|
+
T.type_alias { T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol) }
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# @!group
|
|
203
|
+
|
|
204
|
+
AUTO = :auto
|
|
205
|
+
MODEL_2026_10_08 = :"2026-10-08"
|
|
206
|
+
|
|
207
|
+
# @!endgroup
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
|
|
114
211
|
# @!method self.variants
|
|
115
|
-
# @return [Array(OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample)]
|
|
212
|
+
# @return [Array(OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt)]
|
|
116
213
|
end
|
|
117
214
|
end
|
|
118
215
|
end
|
|
@@ -61,7 +61,8 @@ module OpenAI
|
|
|
61
61
|
optional :text, -> { OpenAI::Beta::AgentTextParam }, nil?: true
|
|
62
62
|
|
|
63
63
|
# @!attribute tools
|
|
64
|
-
# Tools available to the agent. Defaults to an empty list.
|
|
64
|
+
# Tools available to the agent. Defaults to an empty list. The tool list must fit
|
|
65
|
+
# within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
|
|
65
66
|
#
|
|
66
67
|
# @return [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]
|
|
67
68
|
optional(
|
|
@@ -100,7 +101,8 @@ module OpenAI
|
|
|
100
101
|
# verbosity.
|
|
101
102
|
#
|
|
102
103
|
# @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]
|
|
103
|
-
# Tools available to the agent. Defaults to an empty list.
|
|
104
|
+
# Tools available to the agent. Defaults to an empty list. The tool list must fit
|
|
105
|
+
# within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
|
|
104
106
|
#
|
|
105
107
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
106
108
|
|
|
@@ -15,10 +15,10 @@ module OpenAI
|
|
|
15
15
|
optional :after, String
|
|
16
16
|
|
|
17
17
|
# @!attribute limit
|
|
18
|
-
# The maximum number of resources to return.
|
|
18
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
19
19
|
#
|
|
20
20
|
# @return [Integer, nil]
|
|
21
|
-
optional :limit, Integer
|
|
21
|
+
optional :limit, Integer
|
|
22
22
|
|
|
23
23
|
# @!attribute order
|
|
24
24
|
# The order in which resources are returned. Defaults to `desc`.
|
|
@@ -30,8 +30,8 @@ module OpenAI
|
|
|
30
30
|
# @param after [String]
|
|
31
31
|
# Return resources after this resource ID in the selected order.
|
|
32
32
|
#
|
|
33
|
-
# @param limit [Integer
|
|
34
|
-
# The maximum number of resources to return.
|
|
33
|
+
# @param limit [Integer]
|
|
34
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
35
35
|
#
|
|
36
36
|
# @param order [Symbol, OpenAI::Models::Beta::AgentListParams::Order]
|
|
37
37
|
# The order in which resources are returned. Defaults to `desc`.
|
|
@@ -80,7 +80,14 @@ module OpenAI
|
|
|
80
80
|
# @return [Array<String>]
|
|
81
81
|
required :vault_ids, OpenAI::Internal::Type::ArrayOf[String]
|
|
82
82
|
|
|
83
|
-
# @!
|
|
83
|
+
# @!attribute spend_control
|
|
84
|
+
# Configured spending limit and best-effort consumption, in USD cents. Unlimited
|
|
85
|
+
# sessions omit this object.
|
|
86
|
+
#
|
|
87
|
+
# @return [OpenAI::Models::Beta::AgentSession::SpendControl, nil]
|
|
88
|
+
optional :spend_control, -> { OpenAI::Beta::AgentSession::SpendControl }
|
|
89
|
+
|
|
90
|
+
# @!method initialize(id:, agent:, created_at:, environment:, error:, last_active_at:, metadata:, required_actions:, status:, usage:, vault_ids:, spend_control: nil, object: :"agent.session")
|
|
84
91
|
# A Managed Agents session.
|
|
85
92
|
#
|
|
86
93
|
# @param id [String]
|
|
@@ -117,6 +124,10 @@ module OpenAI
|
|
|
117
124
|
# @param vault_ids [Array<String>]
|
|
118
125
|
# The IDs of vaults made available to the session.
|
|
119
126
|
#
|
|
127
|
+
# @param spend_control [OpenAI::Models::Beta::AgentSession::SpendControl]
|
|
128
|
+
# Configured spending limit and best-effort consumption, in USD cents. Unlimited
|
|
129
|
+
# sessions omit this object.
|
|
130
|
+
#
|
|
120
131
|
# @param object [Symbol, :"agent.session"]
|
|
121
132
|
# The object type. Always `agent.session`.
|
|
122
133
|
|
|
@@ -582,6 +593,31 @@ module OpenAI
|
|
|
582
593
|
# @!method self.values
|
|
583
594
|
# @return [Array<Symbol>]
|
|
584
595
|
end
|
|
596
|
+
|
|
597
|
+
# @see OpenAI::Models::Beta::AgentSession#spend_control
|
|
598
|
+
class SpendControl < OpenAI::Internal::Type::BaseModel
|
|
599
|
+
# @!attribute consumed
|
|
600
|
+
# Best-effort recorded spend floored to whole USD cents, or null when unavailable.
|
|
601
|
+
#
|
|
602
|
+
# @return [Integer, nil]
|
|
603
|
+
required :consumed, Integer, nil?: true
|
|
604
|
+
|
|
605
|
+
# @!attribute limit
|
|
606
|
+
# The configured positive limit in USD cents.
|
|
607
|
+
#
|
|
608
|
+
# @return [Integer]
|
|
609
|
+
required :limit, Integer
|
|
610
|
+
|
|
611
|
+
# @!method initialize(consumed:, limit:)
|
|
612
|
+
# Configured spending limit and best-effort consumption, in USD cents. Unlimited
|
|
613
|
+
# sessions omit this object.
|
|
614
|
+
#
|
|
615
|
+
# @param consumed [Integer, nil]
|
|
616
|
+
# Best-effort recorded spend floored to whole USD cents, or null when unavailable.
|
|
617
|
+
#
|
|
618
|
+
# @param limit [Integer]
|
|
619
|
+
# The configured positive limit in USD cents.
|
|
620
|
+
end
|
|
585
621
|
end
|
|
586
622
|
end
|
|
587
623
|
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
class AgentSessionEnvironmentExpiredEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute environment
|
|
8
|
+
# The current environment state.
|
|
9
|
+
#
|
|
10
|
+
# @return [OpenAI::Models::Beta::AgentSessionEnvironmentState]
|
|
11
|
+
required :environment, -> { OpenAI::Beta::AgentSessionEnvironmentState }
|
|
12
|
+
|
|
13
|
+
# @!attribute event_id
|
|
14
|
+
# The unique ID of the event.
|
|
15
|
+
#
|
|
16
|
+
# @return [String]
|
|
17
|
+
required :event_id, String
|
|
18
|
+
|
|
19
|
+
# @!attribute session_id
|
|
20
|
+
# The ID of the session associated with the event.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
required :session_id, String
|
|
24
|
+
|
|
25
|
+
# @!attribute turn_id
|
|
26
|
+
# The ID of the turn associated with the event, when applicable.
|
|
27
|
+
#
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
required :turn_id, String, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!attribute type
|
|
32
|
+
# The type of the object. Always `agent.session.environment.expired`.
|
|
33
|
+
#
|
|
34
|
+
# @return [Symbol, :"agent.session.environment.expired"]
|
|
35
|
+
required :type, const: :"agent.session.environment.expired"
|
|
36
|
+
|
|
37
|
+
# @!method initialize(environment:, event_id:, session_id:, turn_id:, type: :"agent.session.environment.expired")
|
|
38
|
+
# Emitted after a suspended hosted session environment and its checkpoint expire.
|
|
39
|
+
#
|
|
40
|
+
# @param environment [OpenAI::Models::Beta::AgentSessionEnvironmentState]
|
|
41
|
+
# The current environment state.
|
|
42
|
+
#
|
|
43
|
+
# @param event_id [String]
|
|
44
|
+
# The unique ID of the event.
|
|
45
|
+
#
|
|
46
|
+
# @param session_id [String]
|
|
47
|
+
# The ID of the session associated with the event.
|
|
48
|
+
#
|
|
49
|
+
# @param turn_id [String, nil]
|
|
50
|
+
# The ID of the turn associated with the event, when applicable.
|
|
51
|
+
#
|
|
52
|
+
# @param type [Symbol, :"agent.session.environment.expired"]
|
|
53
|
+
# The type of the object. Always `agent.session.environment.expired`.
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -94,6 +94,12 @@ module OpenAI
|
|
|
94
94
|
# The environment is disconnected.
|
|
95
95
|
DISCONNECTED = :disconnected
|
|
96
96
|
|
|
97
|
+
# The environment is stopped and can be resumed from its private checkpoint.
|
|
98
|
+
SUSPENDED = :suspended
|
|
99
|
+
|
|
100
|
+
# The environment and its private checkpoint have expired.
|
|
101
|
+
EXPIRED = :expired
|
|
102
|
+
|
|
97
103
|
# The environment failed to connect.
|
|
98
104
|
FAILED = :failed
|
|
99
105
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
class AgentSessionEnvironmentSuspendedEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute environment
|
|
8
|
+
# The current environment state.
|
|
9
|
+
#
|
|
10
|
+
# @return [OpenAI::Models::Beta::AgentSessionEnvironmentState]
|
|
11
|
+
required :environment, -> { OpenAI::Beta::AgentSessionEnvironmentState }
|
|
12
|
+
|
|
13
|
+
# @!attribute event_id
|
|
14
|
+
# The unique ID of the event.
|
|
15
|
+
#
|
|
16
|
+
# @return [String]
|
|
17
|
+
required :event_id, String
|
|
18
|
+
|
|
19
|
+
# @!attribute session_id
|
|
20
|
+
# The ID of the session associated with the event.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
required :session_id, String
|
|
24
|
+
|
|
25
|
+
# @!attribute turn_id
|
|
26
|
+
# The ID of the turn associated with the event, when applicable.
|
|
27
|
+
#
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
required :turn_id, String, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!attribute type
|
|
32
|
+
# The type of the object. Always `agent.session.environment.suspended`.
|
|
33
|
+
#
|
|
34
|
+
# @return [Symbol, :"agent.session.environment.suspended"]
|
|
35
|
+
required :type, const: :"agent.session.environment.suspended"
|
|
36
|
+
|
|
37
|
+
# @!method initialize(environment:, event_id:, session_id:, turn_id:, type: :"agent.session.environment.suspended")
|
|
38
|
+
# Emitted after an idle hosted session environment is checkpointed and stopped.
|
|
39
|
+
#
|
|
40
|
+
# @param environment [OpenAI::Models::Beta::AgentSessionEnvironmentState]
|
|
41
|
+
# The current environment state.
|
|
42
|
+
#
|
|
43
|
+
# @param event_id [String]
|
|
44
|
+
# The unique ID of the event.
|
|
45
|
+
#
|
|
46
|
+
# @param session_id [String]
|
|
47
|
+
# The ID of the session associated with the event.
|
|
48
|
+
#
|
|
49
|
+
# @param turn_id [String, nil]
|
|
50
|
+
# The ID of the turn associated with the event, when applicable.
|
|
51
|
+
#
|
|
52
|
+
# @param type [Symbol, :"agent.session.environment.suspended"]
|
|
53
|
+
# The type of the object. Always `agent.session.environment.suspended`.
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -15,6 +15,12 @@ module OpenAI
|
|
|
15
15
|
# Emitted when a hosted session environment is ready to connect.
|
|
16
16
|
variant :"agent.session.environment.ready", -> { OpenAI::Beta::AgentSessionEnvironmentReadyEvent }
|
|
17
17
|
|
|
18
|
+
# Emitted after an idle hosted session environment is checkpointed and stopped.
|
|
19
|
+
variant :"agent.session.environment.suspended", -> { OpenAI::Beta::AgentSessionEnvironmentSuspendedEvent }
|
|
20
|
+
|
|
21
|
+
# Emitted after a suspended hosted session environment and its checkpoint expire.
|
|
22
|
+
variant :"agent.session.environment.expired", -> { OpenAI::Beta::AgentSessionEnvironmentExpiredEvent }
|
|
23
|
+
|
|
18
24
|
# Emitted after a hosted sandbox is replaced. Conversation history survives; changes to the previous sandbox's files and processes do not.
|
|
19
25
|
variant :"agent.session.environment.reset", -> { OpenAI::Beta::AgentSessionEnvironmentResetEvent }
|
|
20
26
|
|
|
@@ -124,7 +130,7 @@ module OpenAI
|
|
|
124
130
|
)
|
|
125
131
|
|
|
126
132
|
# @!method self.variants
|
|
127
|
-
# @return [Array(OpenAI::Models::Beta::AgentSessionErrorEvent, OpenAI::Models::Beta::AgentSessionEnvironmentReadyEvent, OpenAI::Models::Beta::AgentSessionEnvironmentResetEvent, OpenAI::Models::Beta::AgentOutputCommandExecutionOutputDeltaEvent, OpenAI::Models::Beta::AgentSessionCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnInProgressEvent, OpenAI::Models::Beta::AgentSessionTurnCompletedEvent, OpenAI::Models::Beta::AgentSessionTurnFailedEvent, OpenAI::Models::Beta::AgentSessionTurnCancelledEvent, OpenAI::Models::Beta::AgentSessionTurnItemAddedEvent, OpenAI::Models::Beta::AgentSessionIdleEvent, OpenAI::Models::Beta::AgentSessionInProgressEvent, OpenAI::Models::Beta::AgentSessionRequiresActionEvent, OpenAI::Models::Beta::AgentSessionFailedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentPendingEvent, OpenAI::Models::Beta::AgentSessionEnvironmentConnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentDisconnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentFailedEvent, OpenAI::Models::Beta::AgentSessionSubagentCreatedEvent, OpenAI::Models::Beta::AgentSessionSubagentActiveEvent, OpenAI::Models::Beta::AgentSessionSubagentClosedEvent, OpenAI::Models::Beta::AgentSessionTurnItemDoneEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDoneEvent)]
|
|
133
|
+
# @return [Array(OpenAI::Models::Beta::AgentSessionErrorEvent, OpenAI::Models::Beta::AgentSessionEnvironmentReadyEvent, OpenAI::Models::Beta::AgentSessionEnvironmentSuspendedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentExpiredEvent, OpenAI::Models::Beta::AgentSessionEnvironmentResetEvent, OpenAI::Models::Beta::AgentOutputCommandExecutionOutputDeltaEvent, OpenAI::Models::Beta::AgentSessionCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnCreatedEvent, OpenAI::Models::Beta::AgentSessionTurnInProgressEvent, OpenAI::Models::Beta::AgentSessionTurnCompletedEvent, OpenAI::Models::Beta::AgentSessionTurnFailedEvent, OpenAI::Models::Beta::AgentSessionTurnCancelledEvent, OpenAI::Models::Beta::AgentSessionTurnItemAddedEvent, OpenAI::Models::Beta::AgentSessionIdleEvent, OpenAI::Models::Beta::AgentSessionInProgressEvent, OpenAI::Models::Beta::AgentSessionRequiresActionEvent, OpenAI::Models::Beta::AgentSessionFailedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentPendingEvent, OpenAI::Models::Beta::AgentSessionEnvironmentConnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentDisconnectedEvent, OpenAI::Models::Beta::AgentSessionEnvironmentFailedEvent, OpenAI::Models::Beta::AgentSessionSubagentCreatedEvent, OpenAI::Models::Beta::AgentSessionSubagentActiveEvent, OpenAI::Models::Beta::AgentSessionSubagentClosedEvent, OpenAI::Models::Beta::AgentSessionTurnItemDoneEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnContentPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnOutputTextDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartAddedEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryPartDoneEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDeltaEvent, OpenAI::Models::Beta::AgentSessionTurnReasoningSummaryTextDoneEvent)]
|
|
128
134
|
end
|
|
129
135
|
end
|
|
130
136
|
end
|
|
@@ -66,7 +66,8 @@ module OpenAI
|
|
|
66
66
|
optional :text, -> { OpenAI::Beta::AgentTextParam }, nil?: true
|
|
67
67
|
|
|
68
68
|
# @!attribute tools
|
|
69
|
-
#
|
|
69
|
+
# Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
|
|
70
|
+
# The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
|
|
70
71
|
#
|
|
71
72
|
# @return [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]
|
|
72
73
|
optional(
|
|
@@ -107,7 +108,8 @@ module OpenAI
|
|
|
107
108
|
# Configuration for text generated by the agent.
|
|
108
109
|
#
|
|
109
110
|
# @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]
|
|
110
|
-
#
|
|
111
|
+
# Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
|
|
112
|
+
# The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
|
|
111
113
|
#
|
|
112
114
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
113
115
|
|
|
@@ -10,19 +10,19 @@ module OpenAI
|
|
|
10
10
|
include OpenAI::Internal::Type::RequestParameters
|
|
11
11
|
|
|
12
12
|
# @!attribute after
|
|
13
|
-
# Return
|
|
13
|
+
# Return resources after this resource ID in the selected order.
|
|
14
14
|
#
|
|
15
15
|
# @return [String, nil]
|
|
16
16
|
optional :after, String
|
|
17
17
|
|
|
18
18
|
# @!attribute limit
|
|
19
|
-
# The maximum number of
|
|
19
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
20
20
|
#
|
|
21
21
|
# @return [Integer, nil]
|
|
22
22
|
optional :limit, Integer
|
|
23
23
|
|
|
24
24
|
# @!attribute order
|
|
25
|
-
# The order in which
|
|
25
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
26
26
|
#
|
|
27
27
|
# @return [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order, nil]
|
|
28
28
|
optional :order, enum: -> { OpenAI::Beta::Agents::EnvironmentListParams::Order }
|
|
@@ -35,20 +35,20 @@ module OpenAI
|
|
|
35
35
|
|
|
36
36
|
# @!method initialize(after: nil, limit: nil, order: nil, type: nil, request_options: {})
|
|
37
37
|
# @param after [String]
|
|
38
|
-
# Return
|
|
38
|
+
# Return resources after this resource ID in the selected order.
|
|
39
39
|
#
|
|
40
40
|
# @param limit [Integer]
|
|
41
|
-
# The maximum number of
|
|
41
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
42
42
|
#
|
|
43
43
|
# @param order [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order]
|
|
44
|
-
# The order in which
|
|
44
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
45
45
|
#
|
|
46
46
|
# @param type [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Type]
|
|
47
47
|
# The hosting type to list. Defaults to `openai_hosted`.
|
|
48
48
|
#
|
|
49
49
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
50
50
|
|
|
51
|
-
# The order in which
|
|
51
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
52
52
|
module Order
|
|
53
53
|
extend OpenAI::Internal::Type::Enum
|
|
54
54
|
|
|
@@ -47,13 +47,26 @@ module OpenAI
|
|
|
47
47
|
# @return [Hash{Symbol=>String}, nil]
|
|
48
48
|
optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
|
|
49
49
|
|
|
50
|
+
# @!attribute spend_control
|
|
51
|
+
# Optional spending limit in USD cents. Omission or null creates an unlimited
|
|
52
|
+
# session.
|
|
53
|
+
#
|
|
54
|
+
# @return [OpenAI::Models::Beta::Agents::SessionCreateParams::SpendControl, nil]
|
|
55
|
+
optional(
|
|
56
|
+
:spend_control,
|
|
57
|
+
-> {
|
|
58
|
+
OpenAI::Beta::Agents::SessionCreateParams::SpendControl
|
|
59
|
+
},
|
|
60
|
+
nil?: true
|
|
61
|
+
)
|
|
62
|
+
|
|
50
63
|
# @!attribute vault_ids
|
|
51
64
|
# The IDs of vaults made available to the session.
|
|
52
65
|
#
|
|
53
66
|
# @return [Array<String>, nil]
|
|
54
67
|
optional :vault_ids, OpenAI::Internal::Type::ArrayOf[String], nil?: true
|
|
55
68
|
|
|
56
|
-
# @!method initialize(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, vault_ids: nil, request_options: {})
|
|
69
|
+
# @!method initialize(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, spend_control: nil, vault_ids: nil, request_options: {})
|
|
57
70
|
# @param environment [OpenAI::Models::Beta::EnvironmentParam::None, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted, OpenAI::Models::Beta::EnvironmentParam::SelfHosted]
|
|
58
71
|
# An inline execution environment or a reference to an environment template.
|
|
59
72
|
#
|
|
@@ -75,6 +88,10 @@ module OpenAI
|
|
|
75
88
|
# Up to 16 string key-value pairs, with keys up to 64 and values up to 512
|
|
76
89
|
# characters. Omission or null defaults to an empty map.
|
|
77
90
|
#
|
|
91
|
+
# @param spend_control [OpenAI::Models::Beta::Agents::SessionCreateParams::SpendControl, nil]
|
|
92
|
+
# Optional spending limit in USD cents. Omission or null creates an unlimited
|
|
93
|
+
# session.
|
|
94
|
+
#
|
|
78
95
|
# @param vault_ids [Array<String>, nil]
|
|
79
96
|
# The IDs of vaults made available to the session.
|
|
80
97
|
#
|
|
@@ -124,7 +141,9 @@ module OpenAI
|
|
|
124
141
|
optional :text, -> { OpenAI::Beta::AgentTextParam }, nil?: true
|
|
125
142
|
|
|
126
143
|
# @!attribute tools
|
|
127
|
-
# Tools available to the agent. Omit to inherit, or pass null to clear them.
|
|
144
|
+
# Tools available to the agent. Omit to inherit, or pass null to clear them. The
|
|
145
|
+
# resolved tool list must fit within 3 MiB (3,145,728 bytes) of compact UTF-8
|
|
146
|
+
# JSON.
|
|
128
147
|
#
|
|
129
148
|
# @return [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch, OpenAI::Models::Beta::AgentToolParam::ComputerUse>, nil]
|
|
130
149
|
optional(
|
|
@@ -160,7 +179,9 @@ module OpenAI
|
|
|
160
179
|
# Configuration for text generated by the agent.
|
|
161
180
|
#
|
|
162
181
|
# @param tools [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch, OpenAI::Models::Beta::AgentToolParam::ComputerUse>, nil]
|
|
163
|
-
# Tools available to the agent. Omit to inherit, or pass null to clear them.
|
|
182
|
+
# Tools available to the agent. Omit to inherit, or pass null to clear them. The
|
|
183
|
+
# resolved tool list must fit within 3 MiB (3,145,728 bytes) of compact UTF-8
|
|
184
|
+
# JSON.
|
|
164
185
|
|
|
165
186
|
# The service tier used for model requests.
|
|
166
187
|
#
|
|
@@ -207,6 +228,21 @@ module OpenAI
|
|
|
207
228
|
-> { OpenAI::Beta::AgentSessionInputMessageParam }
|
|
208
229
|
]
|
|
209
230
|
end
|
|
231
|
+
|
|
232
|
+
class SpendControl < OpenAI::Internal::Type::BaseModel
|
|
233
|
+
# @!attribute limit
|
|
234
|
+
# Positive USD cents, or null to remove the limit.
|
|
235
|
+
#
|
|
236
|
+
# @return [Integer, nil]
|
|
237
|
+
required :limit, Integer, nil?: true
|
|
238
|
+
|
|
239
|
+
# @!method initialize(limit:)
|
|
240
|
+
# Optional spending limit in USD cents. Omission or null creates an unlimited
|
|
241
|
+
# session.
|
|
242
|
+
#
|
|
243
|
+
# @param limit [Integer, nil]
|
|
244
|
+
# Positive USD cents, or null to remove the limit.
|
|
245
|
+
end
|
|
210
246
|
end
|
|
211
247
|
end
|
|
212
248
|
end
|