From dda96775c39dd198cdba207de2851f49fc6bca54 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sun, 16 Mar 2025 00:02:46 +0000 Subject: [PATCH] chore: use generics instead of overloading for sorbet type definitions --- rbi/lib/openai/base_model.rbi | 18 ++- .../models/audio/speech_create_params.rbi | 22 +--- rbi/lib/openai/models/audio/speech_model.rbi | 8 +- .../audio/transcription_create_params.rbi | 14 +-- .../audio/transcription_create_response.rbi | 6 +- .../audio/translation_create_params.rbi | 6 +- .../audio/translation_create_response.rbi | 6 +- rbi/lib/openai/models/audio_model.rbi | 8 +- .../openai/models/audio_response_format.rbi | 8 +- rbi/lib/openai/models/batch.rbi | 8 +- rbi/lib/openai/models/batch_create_params.rbi | 16 +-- .../models/beta/assistant_create_params.rbi | 26 ++-- .../models/beta/assistant_list_params.rbi | 8 +- .../beta/assistant_response_format_option.rbi | 18 +-- .../models/beta/assistant_stream_event.rbi | 42 +++++-- rbi/lib/openai/models/beta/assistant_tool.rbi | 17 ++- .../models/beta/assistant_tool_choice.rbi | 8 +- .../beta/assistant_tool_choice_option.rbi | 16 +-- .../models/beta/assistant_update_params.rbi | 16 +-- .../openai/models/beta/file_search_tool.rbi | 8 +- .../models/beta/message_stream_event.rbi | 23 ++-- .../models/beta/run_step_stream_event.rbi | 25 ++-- .../openai/models/beta/run_stream_event.rbi | 28 +++-- .../beta/thread_create_and_run_params.rbi | 114 +++++++----------- .../models/beta/thread_create_params.rbi | 83 ++++++------- .../openai/models/beta/threads/annotation.rbi | 16 ++- .../models/beta/threads/annotation_delta.rbi | 16 ++- .../openai/models/beta/threads/image_file.rbi | 8 +- .../models/beta/threads/image_file_delta.rbi | 8 +- .../openai/models/beta/threads/image_url.rbi | 8 +- .../models/beta/threads/image_url_delta.rbi | 8 +- .../openai/models/beta/threads/message.rbi | 44 +++---- .../models/beta/threads/message_content.rbi | 18 +-- .../beta/threads/message_content_delta.rbi | 18 +-- .../threads/message_content_part_param.rbi | 17 ++- .../beta/threads/message_create_params.rbi | 63 ++++------ .../models/beta/threads/message_delta.rbi | 8 +- .../beta/threads/message_list_params.rbi | 8 +- rbi/lib/openai/models/beta/threads/run.rbi | 24 +--- .../models/beta/threads/run_create_params.rbi | 77 +++++------- .../models/beta/threads/run_list_params.rbi | 8 +- .../openai/models/beta/threads/run_status.rbi | 8 +- .../runs/code_interpreter_tool_call.rbi | 20 ++- .../runs/code_interpreter_tool_call_delta.rbi | 16 ++- .../threads/runs/file_search_tool_call.rbi | 16 +-- .../models/beta/threads/runs/run_step.rbi | 40 ++---- .../beta/threads/runs/run_step_delta.rbi | 16 ++- .../beta/threads/runs/run_step_include.rbi | 8 +- .../beta/threads/runs/step_list_params.rbi | 8 +- .../models/beta/threads/runs/tool_call.rbi | 17 ++- .../beta/threads/runs/tool_call_delta.rbi | 17 ++- .../openai/models/chat/chat_completion.rbi | 18 +-- ...hat_completion_assistant_message_param.rbi | 47 +++----- .../chat/chat_completion_audio_param.rbi | 16 +-- .../models/chat/chat_completion_chunk.rbi | 42 ++----- .../chat/chat_completion_content_part.rbi | 22 ++-- .../chat_completion_content_part_image.rbi | 8 +- ...at_completion_content_part_input_audio.rbi | 8 +- ...hat_completion_developer_message_param.rbi | 8 +- .../chat/chat_completion_message_param.rbi | 20 +-- .../models/chat/chat_completion_modality.rbi | 8 +- .../chat_completion_prediction_content.rbi | 8 +- .../models/chat/chat_completion_role.rbi | 8 +- .../chat_completion_system_message_param.rbi | 8 +- .../chat_completion_tool_choice_option.rbi | 16 +-- .../chat_completion_tool_message_param.rbi | 8 +- .../chat_completion_user_message_param.rbi | 37 +++--- .../models/chat/completion_create_params.rbi | 73 ++++------- .../models/chat/completion_list_params.rbi | 8 +- .../chat/completions/message_list_params.rbi | 8 +- rbi/lib/openai/models/chat_model.rbi | 8 +- rbi/lib/openai/models/comparison_filter.rbi | 14 +-- rbi/lib/openai/models/completion_choice.rbi | 8 +- .../models/completion_create_params.rbi | 34 ++---- rbi/lib/openai/models/compound_filter.rbi | 14 +-- .../openai/models/embedding_create_params.rbi | 24 ++-- rbi/lib/openai/models/embedding_model.rbi | 8 +- .../openai/models/file_chunking_strategy.rbi | 13 +- .../models/file_chunking_strategy_param.rbi | 16 ++- rbi/lib/openai/models/file_list_params.rbi | 8 +- rbi/lib/openai/models/file_object.rbi | 16 +-- rbi/lib/openai/models/file_purpose.rbi | 8 +- .../models/fine_tuning/fine_tuning_job.rbi | 76 +++--------- .../fine_tuning/fine_tuning_job_event.rbi | 16 +-- .../models/fine_tuning/job_create_params.rbi | 84 +++---------- .../models/image_create_variation_params.rbi | 28 ++--- rbi/lib/openai/models/image_edit_params.rbi | 28 ++--- .../openai/models/image_generate_params.rbi | 50 +++----- rbi/lib/openai/models/image_model.rbi | 8 +- rbi/lib/openai/models/moderation.rbi | 104 ++++------------ .../models/moderation_create_params.rbi | 27 ++--- rbi/lib/openai/models/moderation_model.rbi | 8 +- .../models/moderation_multi_modal_input.rbi | 6 +- rbi/lib/openai/models/reasoning.rbi | 10 +- rbi/lib/openai/models/reasoning_effort.rbi | 12 +- .../openai/models/responses/computer_tool.rbi | 8 +- .../models/responses/easy_input_message.rbi | 22 +--- .../models/responses/file_search_tool.rbi | 14 +-- .../responses/input_item_list_params.rbi | 8 +- rbi/lib/openai/models/responses/response.rbi | 37 ++---- .../response_code_interpreter_tool_call.rbi | 28 ++--- .../responses/response_computer_tool_call.rbi | 51 ++++---- .../models/responses/response_content.rbi | 19 +-- .../response_content_part_added_event.rbi | 11 +- .../response_content_part_done_event.rbi | 11 +- .../responses/response_create_params.rbi | 35 ++---- .../models/responses/response_error.rbi | 8 +- .../response_file_search_tool_call.rbi | 14 +-- .../responses/response_format_text_config.rbi | 17 ++- .../responses/response_function_tool_call.rbi | 8 +- .../response_function_web_search.rbi | 8 +- .../models/responses/response_includable.rbi | 8 +- .../models/responses/response_input_audio.rbi | 8 +- .../responses/response_input_content.rbi | 17 ++- .../models/responses/response_input_image.rbi | 8 +- .../models/responses/response_input_item.rbi | 69 +++++------ .../models/responses/response_item_list.rbi | 66 ++++------ .../models/responses/response_output_item.rbi | 20 +-- .../responses/response_output_message.rbi | 19 +-- .../models/responses/response_output_text.rbi | 21 ++-- .../responses/response_reasoning_item.rbi | 8 +- .../models/responses/response_status.rbi | 8 +- .../responses/response_stream_event.rbi | 46 +++++-- .../response_text_annotation_delta_event.rbi | 21 ++-- rbi/lib/openai/models/responses/tool.rbi | 18 +-- .../models/responses/tool_choice_options.rbi | 8 +- .../models/responses/tool_choice_types.rbi | 8 +- .../models/responses/web_search_tool.rbi | 16 +-- rbi/lib/openai/models/upload.rbi | 8 +- rbi/lib/openai/models/vector_store.rbi | 8 +- .../models/vector_store_list_params.rbi | 8 +- .../models/vector_store_search_params.rbi | 22 +--- .../models/vector_store_search_response.rbi | 14 +-- .../file_batch_create_params.rbi | 6 +- .../file_batch_list_files_params.rbi | 16 +-- .../vector_stores/file_create_params.rbi | 6 +- .../models/vector_stores/file_list_params.rbi | 16 +-- .../vector_stores/file_update_params.rbi | 6 +- .../vector_stores/vector_store_file.rbi | 22 +--- .../vector_stores/vector_store_file_batch.rbi | 8 +- sig/openai/base_model.rbs | 8 +- 141 files changed, 1009 insertions(+), 1873 deletions(-) diff --git a/rbi/lib/openai/base_model.rbi b/rbi/lib/openai/base_model.rbi index fabb75ef..3a7913f6 100644 --- a/rbi/lib/openai/base_model.rbi +++ b/rbi/lib/openai/base_model.rbi @@ -171,9 +171,11 @@ module OpenAI abstract! + Value = type_template(:out) + class << self # All of the valid Symbol values for this enum. - sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) } + sig { overridable.returns(T::Array[Value]) } def values end @@ -220,6 +222,8 @@ module OpenAI abstract! + Variants = type_template(:out) + class << self # @api private # @@ -229,12 +233,12 @@ module OpenAI end # @api private - sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) } + sig { returns(T::Array[[T.nilable(Symbol), Variants]]) } protected def derefed_variants end # All of the specified variants for this union. - sig { overridable.returns(T::Array[T.anything]) } + sig { overridable.returns(T::Array[Variants]) } def variants end @@ -306,6 +310,8 @@ module OpenAI abstract! final! + Elem = type_member(:out) + sig(:final) { params(other: T.anything).returns(T::Boolean) } def ===(other) end @@ -342,7 +348,7 @@ module OpenAI end # @api private - sig(:final) { returns(OpenAI::Converter::Input) } + sig(:final) { returns(Elem) } protected def item_type end @@ -369,6 +375,8 @@ module OpenAI abstract! final! + Elem = type_member(:out) + sig(:final) { params(other: T.anything).returns(T::Boolean) } def ===(other) end @@ -405,7 +413,7 @@ module OpenAI end # @api private - sig(:final) { returns(OpenAI::Converter::Input) } + sig(:final) { returns(Elem) } protected def item_type end diff --git a/rbi/lib/openai/models/audio/speech_create_params.rbi b/rbi/lib/openai/models/audio/speech_create_params.rbi index 44c40dc2..043a7179 100644 --- a/rbi/lib/openai/models/audio/speech_create_params.rbi +++ b/rbi/lib/openai/models/audio/speech_create_params.rbi @@ -93,11 +93,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # The voice to use when generating the audio. Supported voices are `alloy`, `ash`, @@ -107,6 +103,8 @@ module OpenAI class Voice < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ALLOY = :alloy ASH = :ash CORAL = :coral @@ -116,12 +114,6 @@ module OpenAI NOVA = :nova SAGE = :sage SHIMMER = :shimmer - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The format to audio in. Supported formats are `mp3`, `opus`, `aac`, `flac`, @@ -129,18 +121,14 @@ module OpenAI class ResponseFormat < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MP3 = :mp3 OPUS = :opus AAC = :aac FLAC = :flac WAV = :wav PCM = :pcm - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/audio/speech_model.rbi b/rbi/lib/openai/models/audio/speech_model.rbi index 5caef0af..f465baf8 100644 --- a/rbi/lib/openai/models/audio/speech_model.rbi +++ b/rbi/lib/openai/models/audio/speech_model.rbi @@ -6,14 +6,10 @@ module OpenAI class SpeechModel < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TTS_1 = :"tts-1" TTS_1_HD = :"tts-1-hd" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/audio/transcription_create_params.rbi b/rbi/lib/openai/models/audio/transcription_create_params.rbi index 4423fd4b..29ecd8fb 100644 --- a/rbi/lib/openai/models/audio/transcription_create_params.rbi +++ b/rbi/lib/openai/models/audio/transcription_create_params.rbi @@ -134,24 +134,16 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end class TimestampGranularity < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + WORD = :word SEGMENT = :segment - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/audio/transcription_create_response.rbi b/rbi/lib/openai/models/audio/transcription_create_response.rbi index a54d08ec..c414dc3d 100644 --- a/rbi/lib/openai/models/audio/transcription_create_response.rbi +++ b/rbi/lib/openai/models/audio/transcription_create_response.rbi @@ -8,11 +8,7 @@ module OpenAI class TranscriptionCreateResponse < OpenAI::Union abstract! - class << self - sig { override.returns([OpenAI::Models::Audio::Transcription, OpenAI::Models::Audio::TranscriptionVerbose]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(OpenAI::Models::Audio::Transcription, OpenAI::Models::Audio::TranscriptionVerbose)} } end end end diff --git a/rbi/lib/openai/models/audio/translation_create_params.rbi b/rbi/lib/openai/models/audio/translation_create_params.rbi index 6b3f5fca..fb5d4a71 100644 --- a/rbi/lib/openai/models/audio/translation_create_params.rbi +++ b/rbi/lib/openai/models/audio/translation_create_params.rbi @@ -97,11 +97,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end end end diff --git a/rbi/lib/openai/models/audio/translation_create_response.rbi b/rbi/lib/openai/models/audio/translation_create_response.rbi index 44b2c2f8..79ac8c66 100644 --- a/rbi/lib/openai/models/audio/translation_create_response.rbi +++ b/rbi/lib/openai/models/audio/translation_create_response.rbi @@ -6,11 +6,7 @@ module OpenAI class TranslationCreateResponse < OpenAI::Union abstract! - class << self - sig { override.returns([OpenAI::Models::Audio::Translation, OpenAI::Models::Audio::TranslationVerbose]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(OpenAI::Models::Audio::Translation, OpenAI::Models::Audio::TranslationVerbose)} } end end end diff --git a/rbi/lib/openai/models/audio_model.rbi b/rbi/lib/openai/models/audio_model.rbi index 7f4186f7..85348552 100644 --- a/rbi/lib/openai/models/audio_model.rbi +++ b/rbi/lib/openai/models/audio_model.rbi @@ -5,13 +5,9 @@ module OpenAI class AudioModel < OpenAI::Enum abstract! - WHISPER_1 = :"whisper-1" + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + WHISPER_1 = :"whisper-1" end end end diff --git a/rbi/lib/openai/models/audio_response_format.rbi b/rbi/lib/openai/models/audio_response_format.rbi index 2acd496e..fb54aad0 100644 --- a/rbi/lib/openai/models/audio_response_format.rbi +++ b/rbi/lib/openai/models/audio_response_format.rbi @@ -7,17 +7,13 @@ module OpenAI class AudioResponseFormat < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + JSON = :json TEXT = :text SRT = :srt VERBOSE_JSON = :verbose_json VTT = :vtt - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/batch.rbi b/rbi/lib/openai/models/batch.rbi index 95ad26fe..699d0782 100644 --- a/rbi/lib/openai/models/batch.rbi +++ b/rbi/lib/openai/models/batch.rbi @@ -269,6 +269,8 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + VALIDATING = :validating FAILED = :failed IN_PROGRESS = :in_progress @@ -277,12 +279,6 @@ module OpenAI EXPIRED = :expired CANCELLING = :cancelling CANCELLED = :cancelled - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Errors < OpenAI::BaseModel diff --git a/rbi/lib/openai/models/batch_create_params.rbi b/rbi/lib/openai/models/batch_create_params.rbi index 6588dc92..17c682c5 100644 --- a/rbi/lib/openai/models/batch_create_params.rbi +++ b/rbi/lib/openai/models/batch_create_params.rbi @@ -92,13 +92,9 @@ module OpenAI class CompletionWindow < OpenAI::Enum abstract! - NUMBER_24H = :"24h" + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + NUMBER_24H = :"24h" end # The endpoint to be used for all requests in the batch. Currently @@ -108,15 +104,11 @@ module OpenAI class Endpoint < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + V1_CHAT_COMPLETIONS = :"/v1/chat/completions" V1_EMBEDDINGS = :"/v1/embeddings" V1_COMPLETIONS = :"/v1/completions" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/assistant_create_params.rbi b/rbi/lib/openai/models/beta/assistant_create_params.rbi index c37ed2d4..44da54e2 100644 --- a/rbi/lib/openai/models/beta/assistant_create_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_create_params.rbi @@ -306,11 +306,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end class ToolResources < OpenAI::BaseModel @@ -530,6 +526,15 @@ module OpenAI class ChunkingStrategy < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, + OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static + ) + } + end + class Auto < OpenAI::BaseModel # Always `auto`. sig { returns(Symbol) } @@ -638,17 +643,6 @@ module OpenAI end end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/assistant_list_params.rbi b/rbi/lib/openai/models/beta/assistant_list_params.rbi index 1e331b4a..bb11fb1b 100644 --- a/rbi/lib/openai/models/beta/assistant_list_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_list_params.rbi @@ -84,14 +84,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/assistant_response_format_option.rbi b/rbi/lib/openai/models/beta/assistant_response_format_option.rbi index 464f3cda..ae4f724e 100644 --- a/rbi/lib/openai/models/beta/assistant_response_format_option.rbi +++ b/rbi/lib/openai/models/beta/assistant_response_format_option.rbi @@ -26,15 +26,15 @@ module OpenAI class AssistantResponseFormatOption < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [Symbol, OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + Symbol, + OpenAI::Models::ResponseFormatText, + OpenAI::Models::ResponseFormatJSONObject, + OpenAI::Models::ResponseFormatJSONSchema + ) + } end end end diff --git a/rbi/lib/openai/models/beta/assistant_stream_event.rbi b/rbi/lib/openai/models/beta/assistant_stream_event.rbi index 6da114a3..e84d0007 100644 --- a/rbi/lib/openai/models/beta/assistant_stream_event.rbi +++ b/rbi/lib/openai/models/beta/assistant_stream_event.rbi @@ -26,6 +26,37 @@ module OpenAI class AssistantStreamEvent < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunQueued, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunInProgress, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunRequiresAction, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCompleted, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunIncomplete, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunFailed, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelling, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelled, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunExpired, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCreated, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepInProgress, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepDelta, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCompleted, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepFailed, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCancelled, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepExpired, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCreated, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageInProgress, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageDelta, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCompleted, + OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageIncomplete, + OpenAI::Models::Beta::AssistantStreamEvent::ErrorEvent + ) + } + end + class ThreadCreated < OpenAI::BaseModel # Represents a thread that contains # [messages](https://platform.openai.com/docs/api-reference/messages). @@ -787,17 +818,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunQueued, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunRequiresAction, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunIncomplete, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunFailed, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelling, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCancelled, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunExpired, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepDelta, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepFailed, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepCancelled, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunStepExpired, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageInProgress, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageDelta, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageCompleted, OpenAI::Models::Beta::AssistantStreamEvent::ThreadMessageIncomplete, OpenAI::Models::Beta::AssistantStreamEvent::ErrorEvent] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/assistant_tool.rbi b/rbi/lib/openai/models/beta/assistant_tool.rbi index 29c76b9b..af9e9f94 100644 --- a/rbi/lib/openai/models/beta/assistant_tool.rbi +++ b/rbi/lib/openai/models/beta/assistant_tool.rbi @@ -6,15 +6,14 @@ module OpenAI class AssistantTool < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::FileSearchTool, + OpenAI::Models::Beta::FunctionTool + ) + } end end end diff --git a/rbi/lib/openai/models/beta/assistant_tool_choice.rbi b/rbi/lib/openai/models/beta/assistant_tool_choice.rbi index 1cec31b5..84562850 100644 --- a/rbi/lib/openai/models/beta/assistant_tool_choice.rbi +++ b/rbi/lib/openai/models/beta/assistant_tool_choice.rbi @@ -40,15 +40,11 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + FUNCTION = :function CODE_INTERPRETER = :code_interpreter FILE_SEARCH = :file_search - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/assistant_tool_choice_option.rbi b/rbi/lib/openai/models/beta/assistant_tool_choice_option.rbi index 3eadbf23..552ca737 100644 --- a/rbi/lib/openai/models/beta/assistant_tool_choice_option.rbi +++ b/rbi/lib/openai/models/beta/assistant_tool_choice_option.rbi @@ -13,6 +13,8 @@ module OpenAI class AssistantToolChoiceOption < OpenAI::Union abstract! + Variants = type_template(:out) { {fixed: T.any(Symbol, OpenAI::Models::Beta::AssistantToolChoice)} } + # `none` means the model will not call any tools and instead generates a message. # `auto` means the model can pick between generating a message or calling one or # more tools. `required` means the model must call one or more tools before @@ -20,21 +22,11 @@ module OpenAI class Auto < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + NONE = :none AUTO = :auto REQUIRED = :required - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - - class << self - sig { override.returns([Symbol, OpenAI::Models::Beta::AssistantToolChoice]) } - def variants - end end end end diff --git a/rbi/lib/openai/models/beta/assistant_update_params.rbi b/rbi/lib/openai/models/beta/assistant_update_params.rbi index 59895471..44b8293f 100644 --- a/rbi/lib/openai/models/beta/assistant_update_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_update_params.rbi @@ -306,6 +306,8 @@ module OpenAI class Model < OpenAI::Union abstract! + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } + # ID of the model to use. You can use the # [List models](https://platform.openai.com/docs/api-reference/models/list) API to # see all of your available models, or see our @@ -314,6 +316,8 @@ module OpenAI class AssistantSupportedModels < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + O3_MINI = :"o3-mini" O3_MINI_2025_01_31 = :"o3-mini-2025-01-31" O1 = :o1 @@ -344,18 +348,6 @@ module OpenAI GPT_3_5_TURBO_1106 = :"gpt-3.5-turbo-1106" GPT_3_5_TURBO_0125 = :"gpt-3.5-turbo-0125" GPT_3_5_TURBO_16K_0613 = :"gpt-3.5-turbo-16k-0613" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - - class << self - sig { override.returns([String, Symbol]) } - def variants - end end end diff --git a/rbi/lib/openai/models/beta/file_search_tool.rbi b/rbi/lib/openai/models/beta/file_search_tool.rbi index bf120b56..ce4b782a 100644 --- a/rbi/lib/openai/models/beta/file_search_tool.rbi +++ b/rbi/lib/openai/models/beta/file_search_tool.rbi @@ -130,14 +130,10 @@ module OpenAI class Ranker < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto DEFAULT_2024_08_21 = :default_2024_08_21 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/message_stream_event.rbi b/rbi/lib/openai/models/beta/message_stream_event.rbi index b51b6036..ef592ec4 100644 --- a/rbi/lib/openai/models/beta/message_stream_event.rbi +++ b/rbi/lib/openai/models/beta/message_stream_event.rbi @@ -9,6 +9,18 @@ module OpenAI class MessageStreamEvent < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageCreated, + OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageInProgress, + OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageDelta, + OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageCompleted, + OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageIncomplete + ) + } + end + class ThreadMessageCreated < OpenAI::BaseModel # Represents a message within a # [thread](https://platform.openai.com/docs/api-reference/threads). @@ -166,17 +178,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageCreated, OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageInProgress, OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageDelta, OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageCompleted, OpenAI::Models::Beta::MessageStreamEvent::ThreadMessageIncomplete] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/run_step_stream_event.rbi b/rbi/lib/openai/models/beta/run_step_stream_event.rbi index eea34354..40de2bea 100644 --- a/rbi/lib/openai/models/beta/run_step_stream_event.rbi +++ b/rbi/lib/openai/models/beta/run_step_stream_event.rbi @@ -9,6 +9,20 @@ module OpenAI class RunStepStreamEvent < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepCreated, + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepInProgress, + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepDelta, + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepCompleted, + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepFailed, + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepCancelled, + OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepExpired + ) + } + end + class ThreadRunStepCreated < OpenAI::BaseModel # Represents a step in execution of a run. sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } @@ -243,17 +257,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepCreated, OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepInProgress, OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepDelta, OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepCompleted, OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepFailed, OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepCancelled, OpenAI::Models::Beta::RunStepStreamEvent::ThreadRunStepExpired] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/run_stream_event.rbi b/rbi/lib/openai/models/beta/run_stream_event.rbi index 1a00a6d5..fb5ba148 100644 --- a/rbi/lib/openai/models/beta/run_stream_event.rbi +++ b/rbi/lib/openai/models/beta/run_stream_event.rbi @@ -8,6 +8,23 @@ module OpenAI class RunStreamEvent < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::RunStreamEvent::ThreadRunCreated, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunQueued, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunInProgress, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunRequiresAction, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunCompleted, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunIncomplete, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunFailed, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunCancelling, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunCancelled, + OpenAI::Models::Beta::RunStreamEvent::ThreadRunExpired + ) + } + end + class ThreadRunCreated < OpenAI::BaseModel # Represents an execution run on a # [thread](https://platform.openai.com/docs/api-reference/threads). @@ -307,17 +324,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::RunStreamEvent::ThreadRunCreated, OpenAI::Models::Beta::RunStreamEvent::ThreadRunQueued, OpenAI::Models::Beta::RunStreamEvent::ThreadRunInProgress, OpenAI::Models::Beta::RunStreamEvent::ThreadRunRequiresAction, OpenAI::Models::Beta::RunStreamEvent::ThreadRunCompleted, OpenAI::Models::Beta::RunStreamEvent::ThreadRunIncomplete, OpenAI::Models::Beta::RunStreamEvent::ThreadRunFailed, OpenAI::Models::Beta::RunStreamEvent::ThreadRunCancelling, OpenAI::Models::Beta::RunStreamEvent::ThreadRunCancelled, OpenAI::Models::Beta::RunStreamEvent::ThreadRunExpired] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi b/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi index 688101e1..60679618 100644 --- a/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi +++ b/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi @@ -383,11 +383,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end class Thread < OpenAI::BaseModel @@ -597,6 +593,21 @@ module OpenAI class Content < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[ + T.any( + OpenAI::Models::Beta::Threads::ImageFileContentBlock, + OpenAI::Models::Beta::Threads::ImageURLContentBlock, + OpenAI::Models::Beta::Threads::TextContentBlockParam + ) + ] + ) + } + end + MessageContentPartParamArray = T.type_alias do T::Array[ T.any( @@ -606,26 +617,6 @@ module OpenAI ) ] end - - class << self - sig do - override - .returns( - [ - String, - T::Array[ - T.any( - OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Models::Beta::Threads::ImageURLContentBlock, - OpenAI::Models::Beta::Threads::TextContentBlockParam - ) - ] - ] - ) - end - def variants - end - end end # The role of the entity that is creating the message. Allowed values include: @@ -637,14 +628,10 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Attachment < OpenAI::BaseModel @@ -729,6 +716,15 @@ module OpenAI class Tool < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch + ) + } + end + class FileSearch < OpenAI::BaseModel # The type of tool being defined: `file_search` sig { returns(Symbol) } @@ -747,17 +743,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch] - ) - end - def variants - end - end end end end @@ -985,6 +970,15 @@ module OpenAI class ChunkingStrategy < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, + OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static + ) + } + end + class Auto < OpenAI::BaseModel # Always `auto`. sig { returns(Symbol) } @@ -1095,17 +1089,6 @@ module OpenAI end end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static] - ) - end - def variants - end - end end end end @@ -1208,15 +1191,14 @@ module OpenAI class Tool < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::FileSearchTool, + OpenAI::Models::Beta::FunctionTool + ) + } end end @@ -1260,14 +1242,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LAST_MESSAGES = :last_messages - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/thread_create_params.rbi b/rbi/lib/openai/models/beta/thread_create_params.rbi index a22128f8..94c632cf 100644 --- a/rbi/lib/openai/models/beta/thread_create_params.rbi +++ b/rbi/lib/openai/models/beta/thread_create_params.rbi @@ -211,6 +211,21 @@ module OpenAI class Content < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[ + T.any( + OpenAI::Models::Beta::Threads::ImageFileContentBlock, + OpenAI::Models::Beta::Threads::ImageURLContentBlock, + OpenAI::Models::Beta::Threads::TextContentBlockParam + ) + ] + ) + } + end + MessageContentPartParamArray = T.type_alias do T::Array[ T.any( @@ -220,26 +235,6 @@ module OpenAI ) ] end - - class << self - sig do - override - .returns( - [ - String, - T::Array[ - T.any( - OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Models::Beta::Threads::ImageURLContentBlock, - OpenAI::Models::Beta::Threads::TextContentBlockParam - ) - ] - ] - ) - end - def variants - end - end end # The role of the entity that is creating the message. Allowed values include: @@ -251,14 +246,10 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Attachment < OpenAI::BaseModel @@ -343,6 +334,15 @@ module OpenAI class Tool < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::ThreadCreateParams::Message::Attachment::Tool::FileSearch + ) + } + end + class FileSearch < OpenAI::BaseModel # The type of tool being defined: `file_search` sig { returns(Symbol) } @@ -361,17 +361,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::ThreadCreateParams::Message::Attachment::Tool::FileSearch] - ) - end - def variants - end - end end end end @@ -593,6 +582,15 @@ module OpenAI class ChunkingStrategy < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, + OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static + ) + } + end + class Auto < OpenAI::BaseModel # Always `auto`. sig { returns(Symbol) } @@ -701,17 +699,6 @@ module OpenAI end end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/annotation.rbi b/rbi/lib/openai/models/beta/threads/annotation.rbi index 8681c1a1..dc7434e2 100644 --- a/rbi/lib/openai/models/beta/threads/annotation.rbi +++ b/rbi/lib/openai/models/beta/threads/annotation.rbi @@ -10,15 +10,13 @@ module OpenAI class Annotation < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::FileCitationAnnotation, OpenAI::Models::Beta::Threads::FilePathAnnotation] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::FileCitationAnnotation, + OpenAI::Models::Beta::Threads::FilePathAnnotation + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/annotation_delta.rbi b/rbi/lib/openai/models/beta/threads/annotation_delta.rbi index ccc794f6..32598149 100644 --- a/rbi/lib/openai/models/beta/threads/annotation_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/annotation_delta.rbi @@ -10,15 +10,13 @@ module OpenAI class AnnotationDelta < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation, OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation, + OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/image_file.rbi b/rbi/lib/openai/models/beta/threads/image_file.rbi index dccaa783..879b0320 100644 --- a/rbi/lib/openai/models/beta/threads/image_file.rbi +++ b/rbi/lib/openai/models/beta/threads/image_file.rbi @@ -39,15 +39,11 @@ module OpenAI class Detail < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LOW = :low HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/image_file_delta.rbi b/rbi/lib/openai/models/beta/threads/image_file_delta.rbi index faa92642..89c10a01 100644 --- a/rbi/lib/openai/models/beta/threads/image_file_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/image_file_delta.rbi @@ -39,15 +39,11 @@ module OpenAI class Detail < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LOW = :low HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/image_url.rbi b/rbi/lib/openai/models/beta/threads/image_url.rbi index 7baa0ea2..e4aa98eb 100644 --- a/rbi/lib/openai/models/beta/threads/image_url.rbi +++ b/rbi/lib/openai/models/beta/threads/image_url.rbi @@ -38,15 +38,11 @@ module OpenAI class Detail < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LOW = :low HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/image_url_delta.rbi b/rbi/lib/openai/models/beta/threads/image_url_delta.rbi index 59edca5a..a300a59e 100644 --- a/rbi/lib/openai/models/beta/threads/image_url_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/image_url_delta.rbi @@ -38,15 +38,11 @@ module OpenAI class Detail < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LOW = :low HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/message.rbi b/rbi/lib/openai/models/beta/threads/message.rbi index 6990e99b..b79d9945 100644 --- a/rbi/lib/openai/models/beta/threads/message.rbi +++ b/rbi/lib/openai/models/beta/threads/message.rbi @@ -339,6 +339,15 @@ module OpenAI class Tool < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::Threads::Message::Attachment::Tool::AssistantToolsFileSearchTypeOnly + ) + } + end + class AssistantToolsFileSearchTypeOnly < OpenAI::BaseModel # The type of tool being defined: `file_search` sig { returns(Symbol) } @@ -357,17 +366,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::Threads::Message::Attachment::Tool::AssistantToolsFileSearchTypeOnly] - ) - end - def variants - end - end end end @@ -394,17 +392,13 @@ module OpenAI class Reason < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + CONTENT_FILTER = :content_filter MAX_TOKENS = :max_tokens RUN_CANCELLED = :run_cancelled RUN_EXPIRED = :run_expired RUN_FAILED = :run_failed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -412,14 +406,10 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The status of the message, which can be either `in_progress`, `incomplete`, or @@ -427,15 +417,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress INCOMPLETE = :incomplete COMPLETED = :completed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/message_content.rbi b/rbi/lib/openai/models/beta/threads/message_content.rbi index 86c7e454..7bc0759c 100644 --- a/rbi/lib/openai/models/beta/threads/message_content.rbi +++ b/rbi/lib/openai/models/beta/threads/message_content.rbi @@ -9,15 +9,15 @@ module OpenAI class MessageContent < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::ImageFileContentBlock, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlock, OpenAI::Models::Beta::Threads::RefusalContentBlock] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::ImageFileContentBlock, + OpenAI::Models::Beta::Threads::ImageURLContentBlock, + OpenAI::Models::Beta::Threads::TextContentBlock, + OpenAI::Models::Beta::Threads::RefusalContentBlock + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/message_content_delta.rbi b/rbi/lib/openai/models/beta/threads/message_content_delta.rbi index b7a75330..09915e69 100644 --- a/rbi/lib/openai/models/beta/threads/message_content_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/message_content_delta.rbi @@ -9,15 +9,15 @@ module OpenAI class MessageContentDelta < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::ImageFileDeltaBlock, OpenAI::Models::Beta::Threads::TextDeltaBlock, OpenAI::Models::Beta::Threads::RefusalDeltaBlock, OpenAI::Models::Beta::Threads::ImageURLDeltaBlock] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::ImageFileDeltaBlock, + OpenAI::Models::Beta::Threads::TextDeltaBlock, + OpenAI::Models::Beta::Threads::RefusalDeltaBlock, + OpenAI::Models::Beta::Threads::ImageURLDeltaBlock + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/message_content_part_param.rbi b/rbi/lib/openai/models/beta/threads/message_content_part_param.rbi index 5d3fc9f8..fe9ae396 100644 --- a/rbi/lib/openai/models/beta/threads/message_content_part_param.rbi +++ b/rbi/lib/openai/models/beta/threads/message_content_part_param.rbi @@ -9,15 +9,14 @@ module OpenAI class MessageContentPartParam < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::ImageFileContentBlock, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::ImageFileContentBlock, + OpenAI::Models::Beta::Threads::ImageURLContentBlock, + OpenAI::Models::Beta::Threads::TextContentBlockParam + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/message_create_params.rbi b/rbi/lib/openai/models/beta/threads/message_create_params.rbi index dd85dbd5..0783f811 100644 --- a/rbi/lib/openai/models/beta/threads/message_create_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_create_params.rbi @@ -145,6 +145,21 @@ module OpenAI class Content < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[ + T.any( + OpenAI::Models::Beta::Threads::ImageFileContentBlock, + OpenAI::Models::Beta::Threads::ImageURLContentBlock, + OpenAI::Models::Beta::Threads::TextContentBlockParam + ) + ] + ) + } + end + MessageContentPartParamArray = T.type_alias do T::Array[ T.any( @@ -154,26 +169,6 @@ module OpenAI ) ] end - - class << self - sig do - override - .returns( - [ - String, - T::Array[ - T.any( - OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Models::Beta::Threads::ImageURLContentBlock, - OpenAI::Models::Beta::Threads::TextContentBlockParam - ) - ] - ] - ) - end - def variants - end - end end # The role of the entity that is creating the message. Allowed values include: @@ -185,14 +180,10 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Attachment < OpenAI::BaseModel @@ -277,6 +268,15 @@ module OpenAI class Tool < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch + ) + } + end + class FileSearch < OpenAI::BaseModel # The type of tool being defined: `file_search` sig { returns(Symbol) } @@ -295,17 +295,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/message_delta.rbi b/rbi/lib/openai/models/beta/threads/message_delta.rbi index f85da37a..7883727c 100644 --- a/rbi/lib/openai/models/beta/threads/message_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/message_delta.rbi @@ -98,14 +98,10 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/message_list_params.rbi b/rbi/lib/openai/models/beta/threads/message_list_params.rbi index 2745c825..4b93b0c8 100644 --- a/rbi/lib/openai/models/beta/threads/message_list_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_list_params.rbi @@ -96,14 +96,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/run.rbi b/rbi/lib/openai/models/beta/threads/run.rbi index 6e74d579..94002e57 100644 --- a/rbi/lib/openai/models/beta/threads/run.rbi +++ b/rbi/lib/openai/models/beta/threads/run.rbi @@ -530,14 +530,10 @@ module OpenAI class Reason < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MAX_COMPLETION_TOKENS = :max_completion_tokens MAX_PROMPT_TOKENS = :max_prompt_tokens - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -573,15 +569,11 @@ module OpenAI class Code < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + SERVER_ERROR = :server_error RATE_LIMIT_EXCEEDED = :rate_limit_exceeded INVALID_PROMPT = :invalid_prompt - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -695,14 +687,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LAST_MESSAGES = :last_messages - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end diff --git a/rbi/lib/openai/models/beta/threads/run_create_params.rbi b/rbi/lib/openai/models/beta/threads/run_create_params.rbi index 1a0afe06..dc48611b 100644 --- a/rbi/lib/openai/models/beta/threads/run_create_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_create_params.rbi @@ -552,6 +552,21 @@ module OpenAI class Content < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[ + T.any( + OpenAI::Models::Beta::Threads::ImageFileContentBlock, + OpenAI::Models::Beta::Threads::ImageURLContentBlock, + OpenAI::Models::Beta::Threads::TextContentBlockParam + ) + ] + ) + } + end + MessageContentPartParamArray = T.type_alias do T::Array[ T.any( @@ -561,26 +576,6 @@ module OpenAI ) ] end - - class << self - sig do - override - .returns( - [ - String, - T::Array[ - T.any( - OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Models::Beta::Threads::ImageURLContentBlock, - OpenAI::Models::Beta::Threads::TextContentBlockParam - ) - ] - ] - ) - end - def variants - end - end end # The role of the entity that is creating the message. Allowed values include: @@ -592,14 +587,10 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Attachment < OpenAI::BaseModel @@ -684,6 +675,15 @@ module OpenAI class Tool < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::CodeInterpreterTool, + OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch + ) + } + end + class FileSearch < OpenAI::BaseModel # The type of tool being defined: `file_search` sig { returns(Symbol) } @@ -702,17 +702,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch] - ) - end - def variants - end - end end end end @@ -724,11 +713,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end class TruncationStrategy < OpenAI::BaseModel @@ -771,14 +756,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LAST_MESSAGES = :last_messages - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/run_list_params.rbi b/rbi/lib/openai/models/beta/threads/run_list_params.rbi index ce7fa02c..44ca10d2 100644 --- a/rbi/lib/openai/models/beta/threads/run_list_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_list_params.rbi @@ -85,14 +85,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/run_status.rbi b/rbi/lib/openai/models/beta/threads/run_status.rbi index ea69e05c..76ada3f1 100644 --- a/rbi/lib/openai/models/beta/threads/run_status.rbi +++ b/rbi/lib/openai/models/beta/threads/run_status.rbi @@ -10,6 +10,8 @@ module OpenAI class RunStatus < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + QUEUED = :queued IN_PROGRESS = :in_progress REQUIRES_ACTION = :requires_action @@ -19,12 +21,6 @@ module OpenAI COMPLETED = :completed INCOMPLETE = :incomplete EXPIRED = :expired - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi index 2408a1ed..4ddb7b18 100644 --- a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi @@ -146,6 +146,15 @@ module OpenAI class Output < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Logs, + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image + ) + } + end + class Logs < OpenAI::BaseModel # The text output from the Code Interpreter tool call. sig { returns(String) } @@ -246,17 +255,6 @@ module OpenAI end end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Logs, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi index 80276568..76d2e5d9 100644 --- a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi @@ -159,15 +159,13 @@ module OpenAI class Output < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::Runs::CodeInterpreterLogs, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterLogs, + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi b/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi index af309515..b4f818ee 100644 --- a/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi @@ -140,14 +140,10 @@ module OpenAI class Ranker < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto DEFAULT_2024_08_21 = :default_2024_08_21 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -255,13 +251,9 @@ module OpenAI class Type < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step.rbi index c46342b2..c4e9125c 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step.rbi @@ -298,14 +298,10 @@ module OpenAI class Code < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + SERVER_ERROR = :server_error RATE_LIMIT_EXCEEDED = :rate_limit_exceeded - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -314,32 +310,26 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress CANCELLED = :cancelled FAILED = :failed COMPLETED = :completed EXPIRED = :expired - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The details of the run step. class StepDetails < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::Runs::MessageCreationStepDetails, OpenAI::Models::Beta::Threads::Runs::ToolCallsStepDetails] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::Runs::MessageCreationStepDetails, + OpenAI::Models::Beta::Threads::Runs::ToolCallsStepDetails + ) + } end end @@ -347,14 +337,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MESSAGE_CREATION = :message_creation TOOL_CALLS = :tool_calls - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Usage < OpenAI::BaseModel diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi index 02171343..cb3b9c62 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi @@ -70,15 +70,13 @@ module OpenAI class StepDetails < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta, OpenAI::Models::Beta::Threads::Runs::ToolCallDeltaObject] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta, + OpenAI::Models::Beta::Threads::Runs::ToolCallDeltaObject + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step_include.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step_include.rbi index b2726421..9fd4c51e 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step_include.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step_include.rbi @@ -10,13 +10,9 @@ module OpenAI class RunStepInclude < OpenAI::Enum abstract! - STEP_DETAILS_TOOL_CALLS_FILE_SEARCH_RESULTS_CONTENT = :"step_details.tool_calls[*].file_search.results[*].content" + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + STEP_DETAILS_TOOL_CALLS_FILE_SEARCH_RESULTS_CONTENT = :"step_details.tool_calls[*].file_search.results[*].content" end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi b/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi index 81075759..73059bac 100644 --- a/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi @@ -113,14 +113,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/tool_call.rbi b/rbi/lib/openai/models/beta/threads/runs/tool_call.rbi index 4bd9eacd..e3f26a25 100644 --- a/rbi/lib/openai/models/beta/threads/runs/tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/tool_call.rbi @@ -9,15 +9,14 @@ module OpenAI class ToolCall < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall, OpenAI::Models::Beta::Threads::Runs::FunctionToolCall] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall, + OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall, + OpenAI::Models::Beta::Threads::Runs::FunctionToolCall + ) + } end end end diff --git a/rbi/lib/openai/models/beta/threads/runs/tool_call_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/tool_call_delta.rbi index d19b0e4d..8169ef81 100644 --- a/rbi/lib/openai/models/beta/threads/runs/tool_call_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/tool_call_delta.rbi @@ -9,15 +9,14 @@ module OpenAI class ToolCallDelta < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCallDelta, OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta, + OpenAI::Models::Beta::Threads::Runs::FileSearchToolCallDelta, + OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta + ) + } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion.rbi b/rbi/lib/openai/models/chat/chat_completion.rbi index 361ee7ba..c68e3594 100644 --- a/rbi/lib/openai/models/chat/chat_completion.rbi +++ b/rbi/lib/openai/models/chat/chat_completion.rbi @@ -212,17 +212,13 @@ module OpenAI class FinishReason < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + STOP = :stop LENGTH = :length TOOL_CALLS = :tool_calls CONTENT_FILTER = :content_filter FUNCTION_CALL = :function_call - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Logprobs < OpenAI::BaseModel @@ -279,14 +275,10 @@ module OpenAI class ServiceTier < OpenAI::Enum abstract! - SCALE = T.let(:scale, T.nilable(Symbol)) - DEFAULT = T.let(:default, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + SCALE = :scale + DEFAULT = :default end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi index 3bf3c8bb..624890ee 100644 --- a/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi @@ -202,6 +202,20 @@ module OpenAI class Content < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[ + T.any( + OpenAI::Models::Chat::ChatCompletionContentPartText, + OpenAI::Models::Chat::ChatCompletionContentPartRefusal + ) + ] + ) + } + end + ArrayOfContentPartArray = T.type_alias do T::Array[ T.any( @@ -216,34 +230,13 @@ module OpenAI class ArrayOfContentPart < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Models::Chat::ChatCompletionContentPartRefusal] - ) - end - def variants - end - end - end - - class << self - sig do - override - .returns( - [ - String, - T::Array[ - T.any( - OpenAI::Models::Chat::ChatCompletionContentPartText, - OpenAI::Models::Chat::ChatCompletionContentPartRefusal - ) - ] - ] + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Chat::ChatCompletionContentPartText, + OpenAI::Models::Chat::ChatCompletionContentPartRefusal ) - end - def variants + } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_audio_param.rbi b/rbi/lib/openai/models/chat/chat_completion_audio_param.rbi index a8c18d75..0af4b8ee 100644 --- a/rbi/lib/openai/models/chat/chat_completion_audio_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_audio_param.rbi @@ -42,17 +42,13 @@ module OpenAI class Format < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + WAV = :wav MP3 = :mp3 FLAC = :flac OPUS = :opus PCM16 = :pcm16 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The voice the model uses to respond. Supported voices are `alloy`, `ash`, @@ -60,6 +56,8 @@ module OpenAI class Voice < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ALLOY = :alloy ASH = :ash BALLAD = :ballad @@ -68,12 +66,6 @@ module OpenAI SAGE = :sage SHIMMER = :shimmer VERSE = :verse - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_chunk.rbi b/rbi/lib/openai/models/chat/chat_completion_chunk.rbi index 7dbd7a66..9595e84a 100644 --- a/rbi/lib/openai/models/chat/chat_completion_chunk.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_chunk.rbi @@ -327,17 +327,13 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + DEVELOPER = :developer SYSTEM = :system USER = :user ASSISTANT = :assistant TOOL = :tool - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class ToolCall < OpenAI::BaseModel @@ -439,13 +435,9 @@ module OpenAI class Type < OpenAI::Enum abstract! - FUNCTION = :function + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + FUNCTION = :function end end end @@ -459,17 +451,13 @@ module OpenAI class FinishReason < OpenAI::Enum abstract! - STOP = T.let(:stop, T.nilable(Symbol)) - LENGTH = T.let(:length, T.nilable(Symbol)) - TOOL_CALLS = T.let(:tool_calls, T.nilable(Symbol)) - CONTENT_FILTER = T.let(:content_filter, T.nilable(Symbol)) - FUNCTION_CALL = T.let(:function_call, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + STOP = :stop + LENGTH = :length + TOOL_CALLS = :tool_calls + CONTENT_FILTER = :content_filter + FUNCTION_CALL = :function_call end class Logprobs < OpenAI::BaseModel @@ -526,14 +514,10 @@ module OpenAI class ServiceTier < OpenAI::Enum abstract! - SCALE = T.let(:scale, T.nilable(Symbol)) - DEFAULT = T.let(:default, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + SCALE = :scale + DEFAULT = :default end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_content_part.rbi b/rbi/lib/openai/models/chat/chat_completion_content_part.rbi index 3da63995..a36f38f5 100644 --- a/rbi/lib/openai/models/chat/chat_completion_content_part.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_content_part.rbi @@ -10,6 +10,17 @@ module OpenAI class ChatCompletionContentPart < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Chat::ChatCompletionContentPartText, + OpenAI::Models::Chat::ChatCompletionContentPartImage, + OpenAI::Models::Chat::ChatCompletionContentPartInputAudio, + OpenAI::Models::Chat::ChatCompletionContentPart::File + ) + } + end + class File < OpenAI::BaseModel sig { returns(OpenAI::Models::Chat::ChatCompletionContentPart::File::File) } def file @@ -82,17 +93,6 @@ module OpenAI end end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Models::Chat::ChatCompletionContentPartImage, OpenAI::Models::Chat::ChatCompletionContentPartInputAudio, OpenAI::Models::Chat::ChatCompletionContentPart::File] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi b/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi index 4f78201d..56a6931a 100644 --- a/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi @@ -73,15 +73,11 @@ module OpenAI class Detail < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto LOW = :low HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi b/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi index 52dfed23..83e891b0 100644 --- a/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi @@ -74,14 +74,10 @@ module OpenAI class Format < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + WAV = :wav MP3 = :mp3 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi index 13661fc1..d5dca054 100644 --- a/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi @@ -68,13 +68,9 @@ module OpenAI class Content < OpenAI::Union abstract! - ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } + Variants = type_template(:out) { {fixed: T.any(String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText])} } - class << self - sig { override.returns([String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText]]) } - def variants - end - end + ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_message_param.rbi index 4ff15449..97d8192e 100644 --- a/rbi/lib/openai/models/chat/chat_completion_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_message_param.rbi @@ -11,15 +11,17 @@ module OpenAI class ChatCompletionMessageParam < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, OpenAI::Models::Chat::ChatCompletionToolMessageParam, OpenAI::Models::Chat::ChatCompletionFunctionMessageParam] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, + OpenAI::Models::Chat::ChatCompletionSystemMessageParam, + OpenAI::Models::Chat::ChatCompletionUserMessageParam, + OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, + OpenAI::Models::Chat::ChatCompletionToolMessageParam, + OpenAI::Models::Chat::ChatCompletionFunctionMessageParam + ) + } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_modality.rbi b/rbi/lib/openai/models/chat/chat_completion_modality.rbi index bb95e5c8..df9e0044 100644 --- a/rbi/lib/openai/models/chat/chat_completion_modality.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_modality.rbi @@ -8,14 +8,10 @@ module OpenAI class ChatCompletionModality < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text AUDIO = :audio - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi b/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi index 421f1392..f595e430 100644 --- a/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi @@ -57,13 +57,9 @@ module OpenAI class Content < OpenAI::Union abstract! - ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } + Variants = type_template(:out) { {fixed: T.any(String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText])} } - class << self - sig { override.returns([String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText]]) } - def variants - end - end + ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_role.rbi b/rbi/lib/openai/models/chat/chat_completion_role.rbi index 24a8acf6..ae42bac3 100644 --- a/rbi/lib/openai/models/chat/chat_completion_role.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_role.rbi @@ -9,18 +9,14 @@ module OpenAI class ChatCompletionRole < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + DEVELOPER = :developer SYSTEM = :system USER = :user ASSISTANT = :assistant TOOL = :tool FUNCTION = :function - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi index cd265771..1863c0f8 100644 --- a/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi @@ -68,13 +68,9 @@ module OpenAI class Content < OpenAI::Union abstract! - ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } + Variants = type_template(:out) { {fixed: T.any(String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText])} } - class << self - sig { override.returns([String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText]]) } - def variants - end - end + ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_tool_choice_option.rbi b/rbi/lib/openai/models/chat/chat_completion_tool_choice_option.rbi index 9eeeca42..0c237bac 100644 --- a/rbi/lib/openai/models/chat/chat_completion_tool_choice_option.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_tool_choice_option.rbi @@ -17,27 +17,19 @@ module OpenAI class ChatCompletionToolChoiceOption < OpenAI::Union abstract! + Variants = type_template(:out) { {fixed: T.any(Symbol, OpenAI::Models::Chat::ChatCompletionNamedToolChoice)} } + # `none` means the model will not call any tool and instead generates a message. # `auto` means the model can pick between generating a message or calling one or # more tools. `required` means the model must call one or more tools. class Auto < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + NONE = :none AUTO = :auto REQUIRED = :required - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - - class << self - sig { override.returns([Symbol, OpenAI::Models::Chat::ChatCompletionNamedToolChoice]) } - def variants - end end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi index 98e3c60f..20936406 100644 --- a/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi @@ -64,13 +64,9 @@ module OpenAI class Content < OpenAI::Union abstract! - ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } + Variants = type_template(:out) { {fixed: T.any(String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText])} } - class << self - sig { override.returns([String, T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText]]) } - def variants - end - end + ChatCompletionContentPartTextArray = T.type_alias { T::Array[OpenAI::Models::Chat::ChatCompletionContentPartText] } end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi index 1d73f550..7ebaa424 100644 --- a/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi @@ -125,6 +125,22 @@ module OpenAI class Content < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[ + T.any( + OpenAI::Models::Chat::ChatCompletionContentPartText, + OpenAI::Models::Chat::ChatCompletionContentPartImage, + OpenAI::Models::Chat::ChatCompletionContentPartInputAudio, + OpenAI::Models::Chat::ChatCompletionContentPart::File + ) + ] + ) + } + end + ChatCompletionContentPartArray = T.type_alias do T::Array[ T.any( @@ -135,27 +151,6 @@ module OpenAI ) ] end - - class << self - sig do - override - .returns( - [ - String, - T::Array[ - T.any( - OpenAI::Models::Chat::ChatCompletionContentPartText, - OpenAI::Models::Chat::ChatCompletionContentPartImage, - OpenAI::Models::Chat::ChatCompletionContentPartInputAudio, - OpenAI::Models::Chat::ChatCompletionContentPart::File - ) - ] - ] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/chat/completion_create_params.rbi b/rbi/lib/openai/models/chat/completion_create_params.rbi index ff953111..7b69e065 100644 --- a/rbi/lib/openai/models/chat/completion_create_params.rbi +++ b/rbi/lib/openai/models/chat/completion_create_params.rbi @@ -642,11 +642,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # Deprecated in favor of `tool_choice`. @@ -666,26 +662,18 @@ module OpenAI class FunctionCall < OpenAI::Union abstract! + Variants = type_template(:out) { {fixed: T.any(Symbol, OpenAI::Models::Chat::ChatCompletionFunctionCallOption)} } + # `none` means the model will not call a function and instead generates a message. # `auto` means the model can pick between generating a message or calling a # function. class FunctionCallMode < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + NONE = :none AUTO = :auto - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - - class << self - sig { override.returns([Symbol, OpenAI::Models::Chat::ChatCompletionFunctionCallOption]) } - def variants - end end end @@ -740,14 +728,10 @@ module OpenAI class Modality < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text AUDIO = :audio - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # An object specifying the format that the model must output. @@ -763,15 +747,14 @@ module OpenAI class ResponseFormat < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::ResponseFormatText, + OpenAI::Models::ResponseFormatJSONSchema, + OpenAI::Models::ResponseFormatJSONObject + ) + } end end @@ -792,14 +775,10 @@ module OpenAI class ServiceTier < OpenAI::Enum abstract! - AUTO = T.let(:auto, T.nilable(Symbol)) - DEFAULT = T.let(:default, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + AUTO = :auto + DEFAULT = :default end # Up to 4 sequences where the API will stop generating further tokens. The @@ -807,13 +786,9 @@ module OpenAI class Stop < OpenAI::Union abstract! - StringArray = T.type_alias { T::Array[String] } + Variants = type_template(:out) { {fixed: T.nilable(T.any(String, T::Array[String]))} } - class << self - sig { override.returns([String, T::Array[String]]) } - def variants - end - end + StringArray = T.type_alias { T::Array[String] } end class WebSearchOptions < OpenAI::BaseModel @@ -869,15 +844,11 @@ module OpenAI class SearchContextSize < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + LOW = :low MEDIUM = :medium HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class UserLocation < OpenAI::BaseModel diff --git a/rbi/lib/openai/models/chat/completion_list_params.rbi b/rbi/lib/openai/models/chat/completion_list_params.rbi index 66305617..45a53c74 100644 --- a/rbi/lib/openai/models/chat/completion_list_params.rbi +++ b/rbi/lib/openai/models/chat/completion_list_params.rbi @@ -90,14 +90,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat/completions/message_list_params.rbi b/rbi/lib/openai/models/chat/completions/message_list_params.rbi index b639be67..014bdbc9 100644 --- a/rbi/lib/openai/models/chat/completions/message_list_params.rbi +++ b/rbi/lib/openai/models/chat/completions/message_list_params.rbi @@ -66,14 +66,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/chat_model.rbi b/rbi/lib/openai/models/chat_model.rbi index 5120ba73..acb06a2d 100644 --- a/rbi/lib/openai/models/chat_model.rbi +++ b/rbi/lib/openai/models/chat_model.rbi @@ -5,6 +5,8 @@ module OpenAI class ChatModel < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + O3_MINI = :"o3-mini" O3_MINI_2025_01_31 = :"o3-mini-2025-01-31" O1 = :o1 @@ -49,12 +51,6 @@ module OpenAI GPT_3_5_TURBO_1106 = :"gpt-3.5-turbo-1106" GPT_3_5_TURBO_0125 = :"gpt-3.5-turbo-0125" GPT_3_5_TURBO_16K_0613 = :"gpt-3.5-turbo-16k-0613" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/comparison_filter.rbi b/rbi/lib/openai/models/comparison_filter.rbi index 3b3364ff..bbb84c5d 100644 --- a/rbi/lib/openai/models/comparison_filter.rbi +++ b/rbi/lib/openai/models/comparison_filter.rbi @@ -61,18 +61,14 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + EQ = :eq NE = :ne GT = :gt GTE = :gte LT = :lt LTE = :lte - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The value to compare against the attribute key; supports string, number, or @@ -80,11 +76,7 @@ module OpenAI class Value < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end end end diff --git a/rbi/lib/openai/models/completion_choice.rbi b/rbi/lib/openai/models/completion_choice.rbi index 860f0c29..93b41ebf 100644 --- a/rbi/lib/openai/models/completion_choice.rbi +++ b/rbi/lib/openai/models/completion_choice.rbi @@ -75,15 +75,11 @@ module OpenAI class FinishReason < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + STOP = :stop LENGTH = :length CONTENT_FILTER = :content_filter - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Logprobs < OpenAI::BaseModel diff --git a/rbi/lib/openai/models/completion_create_params.rbi b/rbi/lib/openai/models/completion_create_params.rbi index 4879178d..f2ca35dd 100644 --- a/rbi/lib/openai/models/completion_create_params.rbi +++ b/rbi/lib/openai/models/completion_create_params.rbi @@ -340,6 +340,8 @@ module OpenAI class Model < OpenAI::Union abstract! + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } + # ID of the model to use. You can use the # [List models](https://platform.openai.com/docs/api-reference/models/list) API to # see all of your available models, or see our @@ -348,21 +350,11 @@ module OpenAI class Preset < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + GPT_3_5_TURBO_INSTRUCT = :"gpt-3.5-turbo-instruct" DAVINCI_002 = :"davinci-002" BABBAGE_002 = :"babbage-002" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - - class << self - sig { override.returns([String, Symbol]) } - def variants - end end end @@ -375,17 +367,15 @@ module OpenAI class Prompt < OpenAI::Union abstract! + Variants = type_template(:out) do + {fixed: T.any(String, T::Array[String], T::Array[Integer], T::Array[T::Array[Integer]])} + end + StringArray = T.type_alias { T::Array[String] } IntegerArray = T.type_alias { T::Array[Integer] } ArrayOfToken2DArray = T.type_alias { T::Array[T::Array[Integer]] } - - class << self - sig { override.returns([String, T::Array[String], T::Array[Integer], T::Array[T::Array[Integer]]]) } - def variants - end - end end # Up to 4 sequences where the API will stop generating further tokens. The @@ -393,13 +383,9 @@ module OpenAI class Stop < OpenAI::Union abstract! - StringArray = T.type_alias { T::Array[String] } + Variants = type_template(:out) { {fixed: T.nilable(T.any(String, T::Array[String]))} } - class << self - sig { override.returns([String, T::Array[String]]) } - def variants - end - end + StringArray = T.type_alias { T::Array[String] } end end end diff --git a/rbi/lib/openai/models/compound_filter.rbi b/rbi/lib/openai/models/compound_filter.rbi index c7164169..6722f10d 100644 --- a/rbi/lib/openai/models/compound_filter.rbi +++ b/rbi/lib/openai/models/compound_filter.rbi @@ -42,25 +42,17 @@ module OpenAI class Filter < OpenAI::Union abstract! - class << self - sig { override.returns([OpenAI::Models::ComparisonFilter, T.anything]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(OpenAI::Models::ComparisonFilter, T.anything)} } end # Type of operation: `and` or `or`. class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AND = :and OR = :or - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/embedding_create_params.rbi b/rbi/lib/openai/models/embedding_create_params.rbi index a8aa19ad..a9a37c56 100644 --- a/rbi/lib/openai/models/embedding_create_params.rbi +++ b/rbi/lib/openai/models/embedding_create_params.rbi @@ -110,17 +110,15 @@ module OpenAI class Input < OpenAI::Union abstract! + Variants = type_template(:out) do + {fixed: T.any(String, T::Array[String], T::Array[Integer], T::Array[T::Array[Integer]])} + end + StringArray = T.type_alias { T::Array[String] } IntegerArray = T.type_alias { T::Array[Integer] } ArrayOfToken2DArray = T.type_alias { T::Array[T::Array[Integer]] } - - class << self - sig { override.returns([String, T::Array[String], T::Array[Integer], T::Array[T::Array[Integer]]]) } - def variants - end - end end # ID of the model to use. You can use the @@ -131,11 +129,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # The format to return the embeddings in. Can be either `float` or @@ -143,14 +137,10 @@ module OpenAI class EncodingFormat < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + FLOAT = :float BASE64 = :base64 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/embedding_model.rbi b/rbi/lib/openai/models/embedding_model.rbi index 161fb296..1bd2eac2 100644 --- a/rbi/lib/openai/models/embedding_model.rbi +++ b/rbi/lib/openai/models/embedding_model.rbi @@ -5,15 +5,11 @@ module OpenAI class EmbeddingModel < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT_EMBEDDING_ADA_002 = :"text-embedding-ada-002" TEXT_EMBEDDING_3_SMALL = :"text-embedding-3-small" TEXT_EMBEDDING_3_LARGE = :"text-embedding-3-large" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/file_chunking_strategy.rbi b/rbi/lib/openai/models/file_chunking_strategy.rbi index 3aacf6c7..93972f9b 100644 --- a/rbi/lib/openai/models/file_chunking_strategy.rbi +++ b/rbi/lib/openai/models/file_chunking_strategy.rbi @@ -6,15 +6,10 @@ module OpenAI class FileChunkingStrategy < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::StaticFileChunkingStrategyObject, OpenAI::Models::OtherFileChunkingStrategyObject] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any(OpenAI::Models::StaticFileChunkingStrategyObject, OpenAI::Models::OtherFileChunkingStrategyObject) + } end end end diff --git a/rbi/lib/openai/models/file_chunking_strategy_param.rbi b/rbi/lib/openai/models/file_chunking_strategy_param.rbi index 4a8433cd..aeffdf61 100644 --- a/rbi/lib/openai/models/file_chunking_strategy_param.rbi +++ b/rbi/lib/openai/models/file_chunking_strategy_param.rbi @@ -7,15 +7,13 @@ module OpenAI class FileChunkingStrategyParam < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::AutoFileChunkingStrategyParam, OpenAI::Models::StaticFileChunkingStrategyObjectParam] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::AutoFileChunkingStrategyParam, + OpenAI::Models::StaticFileChunkingStrategyObjectParam + ) + } end end end diff --git a/rbi/lib/openai/models/file_list_params.rbi b/rbi/lib/openai/models/file_list_params.rbi index e5f795dc..48b8106e 100644 --- a/rbi/lib/openai/models/file_list_params.rbi +++ b/rbi/lib/openai/models/file_list_params.rbi @@ -80,14 +80,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/file_object.rbi b/rbi/lib/openai/models/file_object.rbi index 6659dc79..b31df148 100644 --- a/rbi/lib/openai/models/file_object.rbi +++ b/rbi/lib/openai/models/file_object.rbi @@ -141,6 +141,8 @@ module OpenAI class Purpose < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASSISTANTS = :assistants ASSISTANTS_OUTPUT = :assistants_output BATCH = :batch @@ -148,12 +150,6 @@ module OpenAI FINE_TUNE = :"fine-tune" FINE_TUNE_RESULTS = :"fine-tune-results" VISION = :vision - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # Deprecated. The current status of the file, which can be either `uploaded`, @@ -161,15 +157,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + UPLOADED = :uploaded PROCESSED = :processed ERROR = :error - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/file_purpose.rbi b/rbi/lib/openai/models/file_purpose.rbi index edc943c5..07bd11c5 100644 --- a/rbi/lib/openai/models/file_purpose.rbi +++ b/rbi/lib/openai/models/file_purpose.rbi @@ -9,18 +9,14 @@ module OpenAI class FilePurpose < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASSISTANTS = :assistants BATCH = :batch FINE_TUNE = :"fine-tune" VISION = :vision USER_DATA = :user_data EVALS = :evals - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi b/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi index 8d5f40e6..2de2b251 100644 --- a/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi +++ b/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi @@ -386,11 +386,7 @@ module OpenAI class BatchSize < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end # Scaling factor for the learning rate. A smaller learning rate may be useful to @@ -398,11 +394,7 @@ module OpenAI class LearningRateMultiplier < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # The number of epochs to train the model for. An epoch refers to one full cycle @@ -410,11 +402,7 @@ module OpenAI class NEpochs < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end end @@ -423,18 +411,14 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + VALIDATING_FILES = :validating_files QUEUED = :queued RUNNING = :running SUCCEEDED = :succeeded FAILED = :failed CANCELLED = :cancelled - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Method < OpenAI::BaseModel @@ -597,11 +581,7 @@ module OpenAI class BatchSize < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end # The beta value for the DPO method. A higher beta value will increase the weight @@ -609,11 +589,7 @@ module OpenAI class Beta < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # Scaling factor for the learning rate. A smaller learning rate may be useful to @@ -621,11 +597,7 @@ module OpenAI class LearningRateMultiplier < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # The number of epochs to train the model for. An epoch refers to one full cycle @@ -633,11 +605,7 @@ module OpenAI class NEpochs < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end end end @@ -731,11 +699,7 @@ module OpenAI class BatchSize < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end # Scaling factor for the learning rate. A smaller learning rate may be useful to @@ -743,11 +707,7 @@ module OpenAI class LearningRateMultiplier < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # The number of epochs to train the model for. An epoch refers to one full cycle @@ -755,11 +715,7 @@ module OpenAI class NEpochs < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end end end @@ -768,14 +724,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + SUPERVISED = :supervised DPO = :dpo - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/fine_tuning/fine_tuning_job_event.rbi b/rbi/lib/openai/models/fine_tuning/fine_tuning_job_event.rbi index 3f5027cb..b1e399d7 100644 --- a/rbi/lib/openai/models/fine_tuning/fine_tuning_job_event.rbi +++ b/rbi/lib/openai/models/fine_tuning/fine_tuning_job_event.rbi @@ -106,29 +106,21 @@ module OpenAI class Level < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + INFO = :info WARN = :warn ERROR = :error - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The type of event. class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MESSAGE = :message METRICS = :metrics - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/fine_tuning/job_create_params.rbi b/rbi/lib/openai/models/fine_tuning/job_create_params.rbi index 1878af29..1af7bd79 100644 --- a/rbi/lib/openai/models/fine_tuning/job_create_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/job_create_params.rbi @@ -191,27 +191,19 @@ module OpenAI class Model < OpenAI::Union abstract! + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } + # The name of the model to fine-tune. You can select one of the # [supported models](https://platform.openai.com/docs/guides/fine-tuning#which-models-can-be-fine-tuned). class Preset < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + BABBAGE_002 = :"babbage-002" DAVINCI_002 = :"davinci-002" GPT_3_5_TURBO = :"gpt-3.5-turbo" GPT_4O_MINI = :"gpt-4o-mini" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - - class << self - sig { override.returns([String, Symbol]) } - def variants - end end end @@ -277,11 +269,7 @@ module OpenAI class BatchSize < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end # Scaling factor for the learning rate. A smaller learning rate may be useful to @@ -289,11 +277,7 @@ module OpenAI class LearningRateMultiplier < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # The number of epochs to train the model for. An epoch refers to one full cycle @@ -301,11 +285,7 @@ module OpenAI class NEpochs < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end end @@ -578,11 +558,7 @@ module OpenAI class BatchSize < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end # The beta value for the DPO method. A higher beta value will increase the weight @@ -590,11 +566,7 @@ module OpenAI class Beta < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # Scaling factor for the learning rate. A smaller learning rate may be useful to @@ -602,11 +574,7 @@ module OpenAI class LearningRateMultiplier < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # The number of epochs to train the model for. An epoch refers to one full cycle @@ -614,11 +582,7 @@ module OpenAI class NEpochs < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end end end @@ -714,11 +678,7 @@ module OpenAI class BatchSize < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end # Scaling factor for the learning rate. A smaller learning rate may be useful to @@ -726,11 +686,7 @@ module OpenAI class LearningRateMultiplier < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Float]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Float)} } end # The number of epochs to train the model for. An epoch refers to one full cycle @@ -738,11 +694,7 @@ module OpenAI class NEpochs < OpenAI::Union abstract! - class << self - sig { override.returns([Symbol, Integer]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(Symbol, Integer)} } end end end @@ -751,14 +703,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + SUPERVISED = :supervised DPO = :dpo - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/image_create_variation_params.rbi b/rbi/lib/openai/models/image_create_variation_params.rbi index 74514824..285e3c70 100644 --- a/rbi/lib/openai/models/image_create_variation_params.rbi +++ b/rbi/lib/openai/models/image_create_variation_params.rbi @@ -105,11 +105,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # The format in which the generated images are returned. Must be one of `url` or @@ -118,14 +114,10 @@ module OpenAI class ResponseFormat < OpenAI::Enum abstract! - URL = T.let(:url, T.nilable(Symbol)) - B64_JSON = T.let(:b64_json, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + URL = :url + B64_JSON = :b64_json end # The size of the generated images. Must be one of `256x256`, `512x512`, or @@ -133,15 +125,11 @@ module OpenAI class Size < OpenAI::Enum abstract! - NUMBER_256X256 = T.let(:"256x256", T.nilable(Symbol)) - NUMBER_512X512 = T.let(:"512x512", T.nilable(Symbol)) - NUMBER_1024X1024 = T.let(:"1024x1024", T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + NUMBER_256X256 = :"256x256" + NUMBER_512X512 = :"512x512" + NUMBER_1024X1024 = :"1024x1024" end end end diff --git a/rbi/lib/openai/models/image_edit_params.rbi b/rbi/lib/openai/models/image_edit_params.rbi index c63db2d5..b672e912 100644 --- a/rbi/lib/openai/models/image_edit_params.rbi +++ b/rbi/lib/openai/models/image_edit_params.rbi @@ -139,11 +139,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # The format in which the generated images are returned. Must be one of `url` or @@ -152,14 +148,10 @@ module OpenAI class ResponseFormat < OpenAI::Enum abstract! - URL = T.let(:url, T.nilable(Symbol)) - B64_JSON = T.let(:b64_json, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + URL = :url + B64_JSON = :b64_json end # The size of the generated images. Must be one of `256x256`, `512x512`, or @@ -167,15 +159,11 @@ module OpenAI class Size < OpenAI::Enum abstract! - NUMBER_256X256 = T.let(:"256x256", T.nilable(Symbol)) - NUMBER_512X512 = T.let(:"512x512", T.nilable(Symbol)) - NUMBER_1024X1024 = T.let(:"1024x1024", T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + NUMBER_256X256 = :"256x256" + NUMBER_512X512 = :"512x512" + NUMBER_1024X1024 = :"1024x1024" end end end diff --git a/rbi/lib/openai/models/image_generate_params.rbi b/rbi/lib/openai/models/image_generate_params.rbi index e2d37e95..7fccc54c 100644 --- a/rbi/lib/openai/models/image_generate_params.rbi +++ b/rbi/lib/openai/models/image_generate_params.rbi @@ -141,11 +141,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # The quality of the image that will be generated. `hd` creates images with finer @@ -154,14 +150,10 @@ module OpenAI class Quality < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + STANDARD = :standard HD = :hd - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The format in which the generated images are returned. Must be one of `url` or @@ -170,14 +162,10 @@ module OpenAI class ResponseFormat < OpenAI::Enum abstract! - URL = T.let(:url, T.nilable(Symbol)) - B64_JSON = T.let(:b64_json, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + URL = :url + B64_JSON = :b64_json end # The size of the generated images. Must be one of `256x256`, `512x512`, or @@ -186,17 +174,13 @@ module OpenAI class Size < OpenAI::Enum abstract! - NUMBER_256X256 = T.let(:"256x256", T.nilable(Symbol)) - NUMBER_512X512 = T.let(:"512x512", T.nilable(Symbol)) - NUMBER_1024X1024 = T.let(:"1024x1024", T.nilable(Symbol)) - NUMBER_1792X1024 = T.let(:"1792x1024", T.nilable(Symbol)) - NUMBER_1024X1792 = T.let(:"1024x1792", T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + NUMBER_256X256 = :"256x256" + NUMBER_512X512 = :"512x512" + NUMBER_1024X1024 = :"1024x1024" + NUMBER_1792X1024 = :"1792x1024" + NUMBER_1024X1792 = :"1024x1792" end # The style of the generated images. Must be one of `vivid` or `natural`. Vivid @@ -206,14 +190,10 @@ module OpenAI class Style < OpenAI::Enum abstract! - VIVID = T.let(:vivid, T.nilable(Symbol)) - NATURAL = T.let(:natural, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + VIVID = :vivid + NATURAL = :natural end end end diff --git a/rbi/lib/openai/models/image_model.rbi b/rbi/lib/openai/models/image_model.rbi index 08c7dccd..6716a390 100644 --- a/rbi/lib/openai/models/image_model.rbi +++ b/rbi/lib/openai/models/image_model.rbi @@ -5,14 +5,10 @@ module OpenAI class ImageModel < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + DALL_E_2 = :"dall-e-2" DALL_E_3 = :"dall-e-3" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/moderation.rbi b/rbi/lib/openai/models/moderation.rbi index 672182dd..c430dd8a 100644 --- a/rbi/lib/openai/models/moderation.rbi +++ b/rbi/lib/openai/models/moderation.rbi @@ -443,163 +443,111 @@ module OpenAI class Harassment < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class HarassmentThreatening < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class Hate < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class HateThreatening < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class Illicit < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class IllicitViolent < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class SelfHarm < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text IMAGE = :image - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class SelfHarmInstruction < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text IMAGE = :image - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class SelfHarmIntent < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text IMAGE = :image - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Sexual < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text IMAGE = :image - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class SexualMinor < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end class Violence < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text IMAGE = :image - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class ViolenceGraphic < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + TEXT = :text IMAGE = :image - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end diff --git a/rbi/lib/openai/models/moderation_create_params.rbi b/rbi/lib/openai/models/moderation_create_params.rbi index 7f38dcfc..e00a5df9 100644 --- a/rbi/lib/openai/models/moderation_create_params.rbi +++ b/rbi/lib/openai/models/moderation_create_params.rbi @@ -88,20 +88,19 @@ module OpenAI class Input < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + String, + T::Array[String], + T::Array[T.any(OpenAI::Models::ModerationImageURLInput, OpenAI::Models::ModerationTextInput)] + ) + } + end + StringArray = T.type_alias { T::Array[String] } ModerationMultiModalInputArray = T.type_alias { T::Array[T.any(OpenAI::Models::ModerationImageURLInput, OpenAI::Models::ModerationTextInput)] } - - class << self - sig do - override - .returns( - [String, T::Array[String], T::Array[T.any(OpenAI::Models::ModerationImageURLInput, OpenAI::Models::ModerationTextInput)]] - ) - end - def variants - end - end end # The content moderation model you would like to use. Learn more in @@ -111,11 +110,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end end end diff --git a/rbi/lib/openai/models/moderation_model.rbi b/rbi/lib/openai/models/moderation_model.rbi index e3a00bac..a34a1f36 100644 --- a/rbi/lib/openai/models/moderation_model.rbi +++ b/rbi/lib/openai/models/moderation_model.rbi @@ -5,16 +5,12 @@ module OpenAI class ModerationModel < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + OMNI_MODERATION_LATEST = :"omni-moderation-latest" OMNI_MODERATION_2024_09_26 = :"omni-moderation-2024-09-26" TEXT_MODERATION_LATEST = :"text-moderation-latest" TEXT_MODERATION_STABLE = :"text-moderation-stable" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/moderation_multi_modal_input.rbi b/rbi/lib/openai/models/moderation_multi_modal_input.rbi index 8228a40a..a24328fc 100644 --- a/rbi/lib/openai/models/moderation_multi_modal_input.rbi +++ b/rbi/lib/openai/models/moderation_multi_modal_input.rbi @@ -6,11 +6,7 @@ module OpenAI class ModerationMultiModalInput < OpenAI::Union abstract! - class << self - sig { override.returns([OpenAI::Models::ModerationImageURLInput, OpenAI::Models::ModerationTextInput]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(OpenAI::Models::ModerationImageURLInput, OpenAI::Models::ModerationTextInput)} } end end end diff --git a/rbi/lib/openai/models/reasoning.rbi b/rbi/lib/openai/models/reasoning.rbi index 3c5fb130..e6f69e82 100644 --- a/rbi/lib/openai/models/reasoning.rbi +++ b/rbi/lib/openai/models/reasoning.rbi @@ -50,14 +50,10 @@ module OpenAI class GenerateSummary < OpenAI::Enum abstract! - CONCISE = T.let(:concise, T.nilable(Symbol)) - DETAILED = T.let(:detailed, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + CONCISE = :concise + DETAILED = :detailed end end end diff --git a/rbi/lib/openai/models/reasoning_effort.rbi b/rbi/lib/openai/models/reasoning_effort.rbi index 8f9c3bc8..dcca18c9 100644 --- a/rbi/lib/openai/models/reasoning_effort.rbi +++ b/rbi/lib/openai/models/reasoning_effort.rbi @@ -11,15 +11,11 @@ module OpenAI class ReasoningEffort < OpenAI::Enum abstract! - LOW = T.let(:low, T.nilable(Symbol)) - MEDIUM = T.let(:medium, T.nilable(Symbol)) - HIGH = T.let(:high, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + LOW = :low + MEDIUM = :medium + HIGH = :high end end end diff --git a/rbi/lib/openai/models/responses/computer_tool.rbi b/rbi/lib/openai/models/responses/computer_tool.rbi index d37038e7..40b9918f 100644 --- a/rbi/lib/openai/models/responses/computer_tool.rbi +++ b/rbi/lib/openai/models/responses/computer_tool.rbi @@ -59,16 +59,12 @@ module OpenAI class Environment < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MAC = :mac WINDOWS = :windows UBUNTU = :ubuntu BROWSER = :browser - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/easy_input_message.rbi b/rbi/lib/openai/models/responses/easy_input_message.rbi index 4425bbe5..990b3527 100644 --- a/rbi/lib/openai/models/responses/easy_input_message.rbi +++ b/rbi/lib/openai/models/responses/easy_input_message.rbi @@ -66,11 +66,7 @@ module OpenAI class Content < OpenAI::Union abstract! - class << self - sig { override.returns([String, OpenAI::Models::Responses::ResponseInputMessageContentList]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, OpenAI::Models::Responses::ResponseInputMessageContentList)} } end # The role of the message input. One of `user`, `assistant`, `system`, or @@ -78,29 +74,21 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user ASSISTANT = :assistant SYSTEM = :system DEVELOPER = :developer - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The type of the message input. Always `message`. class Type < OpenAI::Enum abstract! - MESSAGE = :message + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + MESSAGE = :message end end end diff --git a/rbi/lib/openai/models/responses/file_search_tool.rbi b/rbi/lib/openai/models/responses/file_search_tool.rbi index d84172d8..3a6bd9db 100644 --- a/rbi/lib/openai/models/responses/file_search_tool.rbi +++ b/rbi/lib/openai/models/responses/file_search_tool.rbi @@ -91,11 +91,7 @@ module OpenAI class Filters < OpenAI::Union abstract! - class << self - sig { override.returns([OpenAI::Models::ComparisonFilter, OpenAI::Models::CompoundFilter]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Models::CompoundFilter)} } end class RankingOptions < OpenAI::BaseModel @@ -132,14 +128,10 @@ module OpenAI class Ranker < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto DEFAULT_2024_11_15 = :"default-2024-11-15" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/input_item_list_params.rbi b/rbi/lib/openai/models/responses/input_item_list_params.rbi index 77dd539f..1162dc6a 100644 --- a/rbi/lib/openai/models/responses/input_item_list_params.rbi +++ b/rbi/lib/openai/models/responses/input_item_list_params.rbi @@ -82,14 +82,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response.rbi b/rbi/lib/openai/models/responses/response.rbi index 3f36d9be..b7062e57 100644 --- a/rbi/lib/openai/models/responses/response.rbi +++ b/rbi/lib/openai/models/responses/response.rbi @@ -495,14 +495,10 @@ module OpenAI class Reason < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MAX_OUTPUT_TOKENS = :max_output_tokens CONTENT_FILTER = :content_filter - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -514,11 +510,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # How the model should select which tool (or tools) to use when generating a @@ -527,15 +519,10 @@ module OpenAI class ToolChoice < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [Symbol, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any(Symbol, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction) + } end end @@ -549,14 +536,10 @@ module OpenAI class Truncation < OpenAI::Enum abstract! - AUTO = T.let(:auto, T.nilable(Symbol)) - DISABLED = T.let(:disabled, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + AUTO = :auto + DISABLED = :disabled end end end diff --git a/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi b/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi index 885d55f7..b68befef 100644 --- a/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi @@ -118,6 +118,15 @@ module OpenAI class Result < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs, + OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files + ) + } + end + class Logs < OpenAI::BaseModel # The logs of the code interpreter tool call. sig { returns(String) } @@ -219,32 +228,17 @@ module OpenAI end end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files] - ) - end - def variants - end - end end # The status of the code interpreter tool call. class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress INTERPRETING = :interpreting COMPLETED = :completed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_computer_tool_call.rbi b/rbi/lib/openai/models/responses/response_computer_tool_call.rbi index 39a9b9ae..bc8782dc 100644 --- a/rbi/lib/openai/models/responses/response_computer_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_computer_tool_call.rbi @@ -160,6 +160,22 @@ module OpenAI class Action < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Click, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::DoubleClick, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Keypress, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Move, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Screenshot, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Scroll, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Type, + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Wait + ) + } + end + class Click < OpenAI::BaseModel # Indicates which mouse button was pressed during the click. One of `left`, # `right`, `wheel`, `back`, or `forward`. @@ -213,17 +229,13 @@ module OpenAI class Button < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + LEFT = :left RIGHT = :right WHEEL = :wheel BACK = :back FORWARD = :forward - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -550,17 +562,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseComputerToolCall::Action::Click, OpenAI::Models::Responses::ResponseComputerToolCall::Action::DoubleClick, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Keypress, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Move, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Screenshot, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Scroll, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Type, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Wait] - ) - end - def variants - end - end end class PendingSafetyCheck < OpenAI::BaseModel @@ -606,28 +607,20 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The type of the computer call. Always `computer_call`. class Type < OpenAI::Enum abstract! - COMPUTER_CALL = :computer_call + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + COMPUTER_CALL = :computer_call end end end diff --git a/rbi/lib/openai/models/responses/response_content.rbi b/rbi/lib/openai/models/responses/response_content.rbi index 0c788ee4..58f3f635 100644 --- a/rbi/lib/openai/models/responses/response_content.rbi +++ b/rbi/lib/openai/models/responses/response_content.rbi @@ -7,15 +7,16 @@ module OpenAI class ResponseContent < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Responses::ResponseInputImage, OpenAI::Models::Responses::ResponseInputFile, OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseInputText, + OpenAI::Models::Responses::ResponseInputImage, + OpenAI::Models::Responses::ResponseInputFile, + OpenAI::Models::Responses::ResponseOutputText, + OpenAI::Models::Responses::ResponseOutputRefusal + ) + } end end end diff --git a/rbi/lib/openai/models/responses/response_content_part_added_event.rbi b/rbi/lib/openai/models/responses/response_content_part_added_event.rbi index 1ecd338c..ca3acd5c 100644 --- a/rbi/lib/openai/models/responses/response_content_part_added_event.rbi +++ b/rbi/lib/openai/models/responses/response_content_part_added_event.rbi @@ -93,13 +93,10 @@ module OpenAI class Part < OpenAI::Union abstract! - class << self - sig do - override - .returns([OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal]) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any(OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal) + } end end end diff --git a/rbi/lib/openai/models/responses/response_content_part_done_event.rbi b/rbi/lib/openai/models/responses/response_content_part_done_event.rbi index 415388dc..65977cbe 100644 --- a/rbi/lib/openai/models/responses/response_content_part_done_event.rbi +++ b/rbi/lib/openai/models/responses/response_content_part_done_event.rbi @@ -93,13 +93,10 @@ module OpenAI class Part < OpenAI::Union abstract! - class << self - sig do - override - .returns([OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal]) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any(OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal) + } end end end diff --git a/rbi/lib/openai/models/responses/response_create_params.rbi b/rbi/lib/openai/models/responses/response_create_params.rbi index 26531f0e..f7396668 100644 --- a/rbi/lib/openai/models/responses/response_create_params.rbi +++ b/rbi/lib/openai/models/responses/response_create_params.rbi @@ -382,11 +382,7 @@ module OpenAI class Input < OpenAI::Union abstract! - class << self - sig { override.returns([String, OpenAI::Models::Responses::ResponseInput]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, OpenAI::Models::Responses::ResponseInput)} } end # Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a @@ -397,11 +393,7 @@ module OpenAI class Model < OpenAI::Union abstract! - class << self - sig { override.returns([String, Symbol]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Symbol)} } end # How the model should select which tool (or tools) to use when generating a @@ -410,15 +402,10 @@ module OpenAI class ToolChoice < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [Symbol, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any(Symbol, OpenAI::Models::Responses::ToolChoiceTypes, OpenAI::Models::Responses::ToolChoiceFunction) + } end end @@ -432,14 +419,10 @@ module OpenAI class Truncation < OpenAI::Enum abstract! - AUTO = T.let(:auto, T.nilable(Symbol)) - DISABLED = T.let(:disabled, T.nilable(Symbol)) + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + AUTO = :auto + DISABLED = :disabled end end end diff --git a/rbi/lib/openai/models/responses/response_error.rbi b/rbi/lib/openai/models/responses/response_error.rbi index f6a6c36d..7f9b2db2 100644 --- a/rbi/lib/openai/models/responses/response_error.rbi +++ b/rbi/lib/openai/models/responses/response_error.rbi @@ -35,6 +35,8 @@ module OpenAI class Code < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + SERVER_ERROR = :server_error RATE_LIMIT_EXCEEDED = :rate_limit_exceeded INVALID_PROMPT = :invalid_prompt @@ -53,12 +55,6 @@ module OpenAI EMPTY_IMAGE_FILE = :empty_image_file FAILED_TO_DOWNLOAD_IMAGE = :failed_to_download_image IMAGE_FILE_NOT_FOUND = :image_file_not_found - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi b/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi index 11cdc45f..17a4bdb2 100644 --- a/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi @@ -89,17 +89,13 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress SEARCHING = :searching COMPLETED = :completed INCOMPLETE = :incomplete FAILED = :failed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Result < OpenAI::BaseModel @@ -186,11 +182,7 @@ module OpenAI class Attribute < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end end end diff --git a/rbi/lib/openai/models/responses/response_format_text_config.rbi b/rbi/lib/openai/models/responses/response_format_text_config.rbi index 2d40704e..f3595c51 100644 --- a/rbi/lib/openai/models/responses/response_format_text_config.rbi +++ b/rbi/lib/openai/models/responses/response_format_text_config.rbi @@ -19,15 +19,14 @@ module OpenAI class ResponseFormatTextConfig < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::ResponseFormatText, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::ResponseFormatText, + OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, + OpenAI::Models::ResponseFormatJSONObject + ) + } end end end diff --git a/rbi/lib/openai/models/responses/response_function_tool_call.rbi b/rbi/lib/openai/models/responses/response_function_tool_call.rbi index 49e2b6d9..a92d38ed 100644 --- a/rbi/lib/openai/models/responses/response_function_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_function_tool_call.rbi @@ -88,15 +88,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_function_web_search.rbi b/rbi/lib/openai/models/responses/response_function_web_search.rbi index daf897ed..fa36c718 100644 --- a/rbi/lib/openai/models/responses/response_function_web_search.rbi +++ b/rbi/lib/openai/models/responses/response_function_web_search.rbi @@ -46,16 +46,12 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress SEARCHING = :searching COMPLETED = :completed FAILED = :failed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_includable.rbi b/rbi/lib/openai/models/responses/response_includable.rbi index f36ae216..363cdad4 100644 --- a/rbi/lib/openai/models/responses/response_includable.rbi +++ b/rbi/lib/openai/models/responses/response_includable.rbi @@ -14,15 +14,11 @@ module OpenAI class ResponseIncludable < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + FILE_SEARCH_CALL_RESULTS = :"file_search_call.results" MESSAGE_INPUT_IMAGE_IMAGE_URL = :"message.input_image.image_url" COMPUTER_CALL_OUTPUT_OUTPUT_IMAGE_URL = :"computer_call_output.output.image_url" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_input_audio.rbi b/rbi/lib/openai/models/responses/response_input_audio.rbi index 4a8628f6..f49d5163 100644 --- a/rbi/lib/openai/models/responses/response_input_audio.rbi +++ b/rbi/lib/openai/models/responses/response_input_audio.rbi @@ -44,14 +44,10 @@ module OpenAI class Format < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + MP3 = :mp3 WAV = :wav - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_input_content.rbi b/rbi/lib/openai/models/responses/response_input_content.rbi index c64e9858..957c8020 100644 --- a/rbi/lib/openai/models/responses/response_input_content.rbi +++ b/rbi/lib/openai/models/responses/response_input_content.rbi @@ -7,15 +7,14 @@ module OpenAI class ResponseInputContent < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Responses::ResponseInputImage, OpenAI::Models::Responses::ResponseInputFile] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseInputText, + OpenAI::Models::Responses::ResponseInputImage, + OpenAI::Models::Responses::ResponseInputFile + ) + } end end end diff --git a/rbi/lib/openai/models/responses/response_input_image.rbi b/rbi/lib/openai/models/responses/response_input_image.rbi index 2e1819a4..f4e450ae 100644 --- a/rbi/lib/openai/models/responses/response_input_image.rbi +++ b/rbi/lib/openai/models/responses/response_input_image.rbi @@ -69,15 +69,11 @@ module OpenAI class Detail < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + HIGH = :high LOW = :low AUTO = :auto - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_input_item.rbi b/rbi/lib/openai/models/responses/response_input_item.rbi index d0a5fdcc..fc0ede1f 100644 --- a/rbi/lib/openai/models/responses/response_input_item.rbi +++ b/rbi/lib/openai/models/responses/response_input_item.rbi @@ -11,6 +11,24 @@ module OpenAI class ResponseInputItem < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::EasyInputMessage, + OpenAI::Models::Responses::ResponseInputItem::Message, + OpenAI::Models::Responses::ResponseOutputMessage, + OpenAI::Models::Responses::ResponseFileSearchToolCall, + OpenAI::Models::Responses::ResponseComputerToolCall, + OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, + OpenAI::Models::Responses::ResponseFunctionWebSearch, + OpenAI::Models::Responses::ResponseFunctionToolCall, + OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, + OpenAI::Models::Responses::ResponseReasoningItem, + OpenAI::Models::Responses::ResponseInputItem::ItemReference + ) + } + end + class Message < OpenAI::BaseModel # A list of one or many input items to the model, containing different content # types. @@ -81,15 +99,11 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user SYSTEM = :system DEVELOPER = :developer - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The status of item. One of `in_progress`, `completed`, or `incomplete`. @@ -97,28 +111,20 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The type of the message input. Always set to `message`. class Type < OpenAI::Enum abstract! - MESSAGE = :message + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + MESSAGE = :message end end @@ -308,15 +314,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -392,15 +394,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -432,17 +430,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseInputItem::ItemReference] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_item_list.rbi b/rbi/lib/openai/models/responses/response_item_list.rbi index 58529788..f6e9982c 100644 --- a/rbi/lib/openai/models/responses/response_item_list.rbi +++ b/rbi/lib/openai/models/responses/response_item_list.rbi @@ -150,6 +150,21 @@ module OpenAI class Data < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseItemList::Data::Message, + OpenAI::Models::Responses::ResponseOutputMessage, + OpenAI::Models::Responses::ResponseFileSearchToolCall, + OpenAI::Models::Responses::ResponseComputerToolCall, + OpenAI::Models::Responses::ResponseItemList::Data::ComputerCallOutput, + OpenAI::Models::Responses::ResponseFunctionWebSearch, + OpenAI::Models::Responses::ResponseFunctionToolCall, + OpenAI::Models::Responses::ResponseItemList::Data::FunctionCallOutput + ) + } + end + class Message < OpenAI::BaseModel # The unique ID of the message input. sig { returns(String) } @@ -233,15 +248,11 @@ module OpenAI class Role < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + USER = :user SYSTEM = :system DEVELOPER = :developer - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The status of item. One of `in_progress`, `completed`, or `incomplete`. @@ -249,28 +260,20 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # The type of the message input. Always set to `message`. class Type < OpenAI::Enum abstract! - MESSAGE = :message + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + MESSAGE = :message end end @@ -459,15 +462,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -541,26 +540,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end - end - end - - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseItemList::Data::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseItemList::Data::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseItemList::Data::FunctionCallOutput] - ) - end - def variants end end end diff --git a/rbi/lib/openai/models/responses/response_output_item.rbi b/rbi/lib/openai/models/responses/response_output_item.rbi index 85e300c7..75949da7 100644 --- a/rbi/lib/openai/models/responses/response_output_item.rbi +++ b/rbi/lib/openai/models/responses/response_output_item.rbi @@ -7,15 +7,17 @@ module OpenAI class ResponseOutputItem < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseOutputMessage, + OpenAI::Models::Responses::ResponseFileSearchToolCall, + OpenAI::Models::Responses::ResponseFunctionToolCall, + OpenAI::Models::Responses::ResponseFunctionWebSearch, + OpenAI::Models::Responses::ResponseComputerToolCall, + OpenAI::Models::Responses::ResponseReasoningItem + ) + } end end end diff --git a/rbi/lib/openai/models/responses/response_output_message.rbi b/rbi/lib/openai/models/responses/response_output_message.rbi index 54501157..7fb7026c 100644 --- a/rbi/lib/openai/models/responses/response_output_message.rbi +++ b/rbi/lib/openai/models/responses/response_output_message.rbi @@ -94,13 +94,10 @@ module OpenAI class Content < OpenAI::Union abstract! - class << self - sig do - override - .returns([OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal]) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any(OpenAI::Models::Responses::ResponseOutputText, OpenAI::Models::Responses::ResponseOutputRefusal) + } end end @@ -109,15 +106,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_output_text.rbi b/rbi/lib/openai/models/responses/response_output_text.rbi index a7745ea7..e04d3988 100644 --- a/rbi/lib/openai/models/responses/response_output_text.rbi +++ b/rbi/lib/openai/models/responses/response_output_text.rbi @@ -101,6 +101,16 @@ module OpenAI class Annotation < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseOutputText::Annotation::FileCitation, + OpenAI::Models::Responses::ResponseOutputText::Annotation::URLCitation, + OpenAI::Models::Responses::ResponseOutputText::Annotation::FilePath + ) + } + end + class FileCitation < OpenAI::BaseModel # The ID of the file. sig { returns(String) } @@ -245,17 +255,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseOutputText::Annotation::FileCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::URLCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::FilePath] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_reasoning_item.rbi b/rbi/lib/openai/models/responses/response_reasoning_item.rbi index 9207ae25..66b69b58 100644 --- a/rbi/lib/openai/models/responses/response_reasoning_item.rbi +++ b/rbi/lib/openai/models/responses/response_reasoning_item.rbi @@ -105,15 +105,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_status.rbi b/rbi/lib/openai/models/responses/response_status.rbi index 9fcb3ab3..f6a3f6ce 100644 --- a/rbi/lib/openai/models/responses/response_status.rbi +++ b/rbi/lib/openai/models/responses/response_status.rbi @@ -8,16 +8,12 @@ module OpenAI class ResponseStatus < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + COMPLETED = :completed FAILED = :failed IN_PROGRESS = :in_progress INCOMPLETE = :incomplete - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/response_stream_event.rbi b/rbi/lib/openai/models/responses/response_stream_event.rbi index 26cf28f5..0b1bb12f 100644 --- a/rbi/lib/openai/models/responses/response_stream_event.rbi +++ b/rbi/lib/openai/models/responses/response_stream_event.rbi @@ -7,15 +7,43 @@ module OpenAI class ResponseStreamEvent < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseAudioDeltaEvent, + OpenAI::Models::Responses::ResponseAudioDoneEvent, + OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, + OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, + OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, + OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, + OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, + OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, + OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, + OpenAI::Models::Responses::ResponseCompletedEvent, + OpenAI::Models::Responses::ResponseContentPartAddedEvent, + OpenAI::Models::Responses::ResponseContentPartDoneEvent, + OpenAI::Models::Responses::ResponseCreatedEvent, + OpenAI::Models::Responses::ResponseErrorEvent, + OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, + OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, + OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, + OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, + OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, + OpenAI::Models::Responses::ResponseInProgressEvent, + OpenAI::Models::Responses::ResponseFailedEvent, + OpenAI::Models::Responses::ResponseIncompleteEvent, + OpenAI::Models::Responses::ResponseOutputItemAddedEvent, + OpenAI::Models::Responses::ResponseOutputItemDoneEvent, + OpenAI::Models::Responses::ResponseRefusalDeltaEvent, + OpenAI::Models::Responses::ResponseRefusalDoneEvent, + OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent, + OpenAI::Models::Responses::ResponseTextDeltaEvent, + OpenAI::Models::Responses::ResponseTextDoneEvent, + OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, + OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, + OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent + ) + } end end end diff --git a/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi b/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi index 8208d88f..00dfd4c2 100644 --- a/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi +++ b/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi @@ -131,6 +131,16 @@ module OpenAI class Annotation < OpenAI::Union abstract! + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::FileCitation, + OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::URLCitation, + OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::FilePath + ) + } + end + class FileCitation < OpenAI::BaseModel # The ID of the file. sig { returns(String) } @@ -275,17 +285,6 @@ module OpenAI def to_hash end end - - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::FileCitation, OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::URLCitation, OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::FilePath] - ) - end - def variants - end - end end end end diff --git a/rbi/lib/openai/models/responses/tool.rbi b/rbi/lib/openai/models/responses/tool.rbi index 92e9d728..e1477b05 100644 --- a/rbi/lib/openai/models/responses/tool.rbi +++ b/rbi/lib/openai/models/responses/tool.rbi @@ -9,15 +9,15 @@ module OpenAI class Tool < OpenAI::Union abstract! - class << self - sig do - override - .returns( - [OpenAI::Models::Responses::FileSearchTool, OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::WebSearchTool] - ) - end - def variants - end + Variants = type_template(:out) do + { + fixed: T.any( + OpenAI::Models::Responses::FileSearchTool, + OpenAI::Models::Responses::FunctionTool, + OpenAI::Models::Responses::ComputerTool, + OpenAI::Models::Responses::WebSearchTool + ) + } end end end diff --git a/rbi/lib/openai/models/responses/tool_choice_options.rbi b/rbi/lib/openai/models/responses/tool_choice_options.rbi index f2fdff28..c047abb7 100644 --- a/rbi/lib/openai/models/responses/tool_choice_options.rbi +++ b/rbi/lib/openai/models/responses/tool_choice_options.rbi @@ -14,15 +14,11 @@ module OpenAI class ToolChoiceOptions < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + NONE = :none AUTO = :auto REQUIRED = :required - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/tool_choice_types.rbi b/rbi/lib/openai/models/responses/tool_choice_types.rbi index 7f039150..8459293b 100644 --- a/rbi/lib/openai/models/responses/tool_choice_types.rbi +++ b/rbi/lib/openai/models/responses/tool_choice_types.rbi @@ -41,16 +41,12 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + FILE_SEARCH = :file_search WEB_SEARCH_PREVIEW = :web_search_preview COMPUTER_USE_PREVIEW = :computer_use_preview WEB_SEARCH_PREVIEW_2025_03_11 = :web_search_preview_2025_03_11 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/responses/web_search_tool.rbi b/rbi/lib/openai/models/responses/web_search_tool.rbi index 71b37e66..cf2fb2f6 100644 --- a/rbi/lib/openai/models/responses/web_search_tool.rbi +++ b/rbi/lib/openai/models/responses/web_search_tool.rbi @@ -71,14 +71,10 @@ module OpenAI class Type < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + WEB_SEARCH_PREVIEW = :web_search_preview WEB_SEARCH_PREVIEW_2025_03_11 = :web_search_preview_2025_03_11 - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # High level guidance for the amount of context window space to use for the @@ -86,15 +82,11 @@ module OpenAI class SearchContextSize < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + LOW = :low MEDIUM = :medium HIGH = :high - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class UserLocation < OpenAI::BaseModel diff --git a/rbi/lib/openai/models/upload.rbi b/rbi/lib/openai/models/upload.rbi index 6d1b30b0..1da23f04 100644 --- a/rbi/lib/openai/models/upload.rbi +++ b/rbi/lib/openai/models/upload.rbi @@ -127,16 +127,12 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + PENDING = :pending COMPLETED = :completed CANCELLED = :cancelled EXPIRED = :expired - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/vector_store.rbi b/rbi/lib/openai/models/vector_store.rbi index bf4bb14f..642c27bf 100644 --- a/rbi/lib/openai/models/vector_store.rbi +++ b/rbi/lib/openai/models/vector_store.rbi @@ -241,15 +241,11 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + EXPIRED = :expired IN_PROGRESS = :in_progress COMPLETED = :completed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class ExpiresAfter < OpenAI::BaseModel diff --git a/rbi/lib/openai/models/vector_store_list_params.rbi b/rbi/lib/openai/models/vector_store_list_params.rbi index 91af6210..5749ce8a 100644 --- a/rbi/lib/openai/models/vector_store_list_params.rbi +++ b/rbi/lib/openai/models/vector_store_list_params.rbi @@ -83,14 +83,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/vector_store_search_params.rbi b/rbi/lib/openai/models/vector_store_search_params.rbi index 987867c8..91a2ec22 100644 --- a/rbi/lib/openai/models/vector_store_search_params.rbi +++ b/rbi/lib/openai/models/vector_store_search_params.rbi @@ -92,24 +92,16 @@ module OpenAI class Query < OpenAI::Union abstract! - StringArray = T.type_alias { T::Array[String] } + Variants = type_template(:out) { {fixed: T.any(String, T::Array[String])} } - class << self - sig { override.returns([String, T::Array[String]]) } - def variants - end - end + StringArray = T.type_alias { T::Array[String] } end # A filter to apply based on file attributes. class Filters < OpenAI::Union abstract! - class << self - sig { override.returns([OpenAI::Models::ComparisonFilter, OpenAI::Models::CompoundFilter]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Models::CompoundFilter)} } end class RankingOptions < OpenAI::BaseModel @@ -141,14 +133,10 @@ module OpenAI class Ranker < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + AUTO = :auto DEFAULT_2024_11_15 = :"default-2024-11-15" - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/vector_store_search_response.rbi b/rbi/lib/openai/models/vector_store_search_response.rbi index f430c4b3..a2443437 100644 --- a/rbi/lib/openai/models/vector_store_search_response.rbi +++ b/rbi/lib/openai/models/vector_store_search_response.rbi @@ -89,11 +89,7 @@ module OpenAI class Attribute < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end class Content < OpenAI::BaseModel @@ -127,13 +123,9 @@ module OpenAI class Type < OpenAI::Enum abstract! - TEXT = :text + Value = type_template(:out) { {fixed: Symbol} } - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end + TEXT = :text end end end diff --git a/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi b/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi index 0553e577..4be0dcb6 100644 --- a/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi @@ -101,11 +101,7 @@ module OpenAI class Attribute < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end end end diff --git a/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi b/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi index c1cde336..c7da2f41 100644 --- a/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi @@ -104,16 +104,12 @@ module OpenAI class Filter < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed FAILED = :failed CANCELLED = :cancelled - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # Sort order by the `created_at` timestamp of the objects. `asc` for ascending @@ -121,14 +117,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/vector_stores/file_create_params.rbi b/rbi/lib/openai/models/vector_stores/file_create_params.rbi index 139b8f61..57e35c52 100644 --- a/rbi/lib/openai/models/vector_stores/file_create_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_create_params.rbi @@ -101,11 +101,7 @@ module OpenAI class Attribute < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end end end diff --git a/rbi/lib/openai/models/vector_stores/file_list_params.rbi b/rbi/lib/openai/models/vector_stores/file_list_params.rbi index 6613871b..0f62a65d 100644 --- a/rbi/lib/openai/models/vector_stores/file_list_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_list_params.rbi @@ -94,16 +94,12 @@ module OpenAI class Filter < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed FAILED = :failed CANCELLED = :cancelled - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end # Sort order by the `created_at` timestamp of the objects. `asc` for ascending @@ -111,14 +107,10 @@ module OpenAI class Order < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + ASC = :asc DESC = :desc - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/rbi/lib/openai/models/vector_stores/file_update_params.rbi b/rbi/lib/openai/models/vector_stores/file_update_params.rbi index ef0fccc3..e3693815 100644 --- a/rbi/lib/openai/models/vector_stores/file_update_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_update_params.rbi @@ -58,11 +58,7 @@ module OpenAI class Attribute < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end end end diff --git a/rbi/lib/openai/models/vector_stores/vector_store_file.rbi b/rbi/lib/openai/models/vector_stores/vector_store_file.rbi index 2e8a9c1a..0d906238 100644 --- a/rbi/lib/openai/models/vector_stores/vector_store_file.rbi +++ b/rbi/lib/openai/models/vector_stores/vector_store_file.rbi @@ -197,15 +197,11 @@ module OpenAI class Code < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + SERVER_ERROR = :server_error UNSUPPORTED_FILE = :unsupported_file INVALID_FILE = :invalid_file - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end @@ -215,26 +211,18 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed CANCELLED = :cancelled FAILED = :failed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end class Attribute < OpenAI::Union abstract! - class << self - sig { override.returns([String, Float, T::Boolean]) } - def variants - end - end + Variants = type_template(:out) { {fixed: T.any(String, Float, T::Boolean)} } end end end diff --git a/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi b/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi index 497044cd..3ee9a72d 100644 --- a/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi +++ b/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi @@ -176,16 +176,12 @@ module OpenAI class Status < OpenAI::Enum abstract! + Value = type_template(:out) { {fixed: Symbol} } + IN_PROGRESS = :in_progress COMPLETED = :completed CANCELLED = :cancelled FAILED = :failed - - class << self - sig { override.returns(T::Array[Symbol]) } - def values - end - end end end end diff --git a/sig/openai/base_model.rbs b/sig/openai/base_model.rbs index 3da7b96f..857d4573 100644 --- a/sig/openai/base_model.rbs +++ b/sig/openai/base_model.rbs @@ -118,7 +118,7 @@ module OpenAI ) -> ([true, top, nil] | [false, bool, Integer]) end - class ArrayOf + class ArrayOf[Elem] include OpenAI::Converter def ===: (top other) -> bool @@ -133,7 +133,7 @@ module OpenAI top value ) -> ([true, top, nil] | [false, bool, Integer]) - def item_type: -> OpenAI::Converter::input + def item_type: -> Elem def initialize: ( ::Hash[Symbol, top] @@ -143,7 +143,7 @@ module OpenAI ) -> void end - class HashOf + class HashOf[Elem] include OpenAI::Converter def ===: (top other) -> bool @@ -158,7 +158,7 @@ module OpenAI top value ) -> ([true, top, nil] | [false, bool, Integer]) - def item_type: -> OpenAI::Converter::input + def item_type: -> Elem def initialize: ( ::Hash[Symbol, top]