Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 80
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-f3bce04386c4fcfd5037e0477fbaa39010003fd1558eb5185fe4a71dd6a05fdd.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-b26121d5df6eb5d3032a45a267473798b15fcfec76dd44a3256cf1238be05fa4.yml
2 changes: 2 additions & 0 deletions lib/openai.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
require_relative "openai/models/chat/chat_completion_message"
require_relative "openai/models/fine_tuning/fine_tuning_job_wandb_integration_object"
require_relative "openai/models/responses/response_function_tool_call"
require_relative "openai/models/all_models"
require_relative "openai/models/audio/speech_create_params"
require_relative "openai/models/audio/speech_model"
require_relative "openai/models/audio/transcription"
Expand Down Expand Up @@ -322,6 +323,7 @@
require_relative "openai/models/responses/tool_choice_options"
require_relative "openai/models/responses/tool_choice_types"
require_relative "openai/models/responses/web_search_tool"
require_relative "openai/models/responses_model"
require_relative "openai/models/static_file_chunking_strategy"
require_relative "openai/models/static_file_chunking_strategy_object"
require_relative "openai/models/static_file_chunking_strategy_object_param"
Expand Down
32 changes: 32 additions & 0 deletions lib/openai/models/all_models.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# frozen_string_literal: true

module OpenAI
module Models
# @abstract
class AllModels < OpenAI::Union
variant String

variant enum: -> { OpenAI::Models::ChatModel }

variant enum: -> { OpenAI::Models::ChatModel }

variant enum: -> { OpenAI::Models::AllModels::UnionMember4 }

# @abstract
class UnionMember4 < OpenAI::Enum
O1_PRO = :"o1-pro"
O1_PRO_2025_03_19 = :"o1-pro-2025-03-19"
COMPUTER_USE_PREVIEW = :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"

finalize!
end

# @!parse
# class << self
# # @return [Array(String, Symbol, OpenAI::Models::ChatModel, Symbol, OpenAI::Models::ChatModel, Symbol, OpenAI::Models::AllModels::UnionMember4)]
# def variants; end
# end
end
end
end
9 changes: 4 additions & 5 deletions lib/openai/models/chat_model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ class ChatModel < OpenAI::Enum
O1_PREVIEW_2024_09_12 = :"o1-preview-2024-09-12"
O1_MINI = :"o1-mini"
O1_MINI_2024_09_12 = :"o1-mini-2024-09-12"
COMPUTER_USE_PREVIEW = :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_02_04 = :"computer-use-preview-2025-02-04"
COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
GPT_4_5_PREVIEW = :"gpt-4.5-preview"
GPT_4_5_PREVIEW_2025_02_27 = :"gpt-4.5-preview-2025-02-27"
GPT_4O = :"gpt-4o"
GPT_4O_2024_11_20 = :"gpt-4o-2024-11-20"
GPT_4O_2024_08_06 = :"gpt-4o-2024-08-06"
Expand All @@ -26,6 +21,10 @@ class ChatModel < OpenAI::Enum
GPT_4O_AUDIO_PREVIEW_2024_12_17 = :"gpt-4o-audio-preview-2024-12-17"
GPT_4O_MINI_AUDIO_PREVIEW = :"gpt-4o-mini-audio-preview"
GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 = :"gpt-4o-mini-audio-preview-2024-12-17"
GPT_4O_SEARCH_PREVIEW = :"gpt-4o-search-preview"
GPT_4O_MINI_SEARCH_PREVIEW = :"gpt-4o-mini-search-preview"
GPT_4O_SEARCH_PREVIEW_2025_03_11 = :"gpt-4o-search-preview-2025-03-11"
GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 = :"gpt-4o-mini-search-preview-2025-03-11"
CHATGPT_4O_LATEST = :"chatgpt-4o-latest"
GPT_4O_MINI = :"gpt-4o-mini"
GPT_4O_MINI_2024_07_18 = :"gpt-4o-mini-2024-07-18"
Expand Down
29 changes: 3 additions & 26 deletions lib/openai/models/responses/response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ class Response < OpenAI::BaseModel
# [model guide](https://platform.openai.com/docs/models) to browse and compare
# available models.
#
# @return [String, Symbol, OpenAI::Models::ChatModel]
required :model, union: -> { OpenAI::Models::Responses::Response::Model }
# @return [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::UnionMember2]
required :model, union: -> { OpenAI::Models::ResponsesModel }

# @!attribute object
# The object type of this resource - always set to `response`.
Expand Down Expand Up @@ -222,7 +222,7 @@ class Response < OpenAI::BaseModel
# # @param incomplete_details [OpenAI::Models::Responses::Response::IncompleteDetails, nil]
# # @param instructions [String, nil]
# # @param metadata [Hash{Symbol=>String}, nil]
# # @param model [String, Symbol, OpenAI::Models::ChatModel]
# # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::UnionMember2]
# # @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseReasoningItem>]
# # @param parallel_tool_calls [Boolean]
# # @param temperature [Float, nil]
Expand Down Expand Up @@ -300,29 +300,6 @@ class Reason < OpenAI::Enum
end
end

# @abstract
#
# Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# wide range of models with different capabilities, performance characteristics,
# and price points. Refer to the
# [model guide](https://platform.openai.com/docs/models) to browse and compare
# available models.
class Model < OpenAI::Union
variant String

# Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI
# offers a wide range of models with different capabilities, performance
# characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models)
# to browse and compare available models.
variant enum: -> { OpenAI::Models::ChatModel }

# @!parse
# class << self
# # @return [Array(String, Symbol, OpenAI::Models::ChatModel)]
# def variants; end
# end
end

# @abstract
#
# How the model should select which tool (or tools) to use when generating a
Expand Down
29 changes: 3 additions & 26 deletions lib/openai/models/responses/response_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ class ResponseCreateParams < OpenAI::BaseModel
# [model guide](https://platform.openai.com/docs/models) to browse and compare
# available models.
#
# @return [String, Symbol, OpenAI::Models::ChatModel]
required :model, union: -> { OpenAI::Models::Responses::ResponseCreateParams::Model }
# @return [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::UnionMember2]
required :model, union: -> { OpenAI::Models::ResponsesModel }

# @!attribute include
# Specify additional output data to include in the model response. Currently
Expand Down Expand Up @@ -198,7 +198,7 @@ class ResponseCreateParams < OpenAI::BaseModel

# @!parse
# # @param input [String, Array<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>]
# # @param model [String, Symbol, OpenAI::Models::ChatModel]
# # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::UnionMember2]
# # @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>, nil]
# # @param instructions [String, nil]
# # @param max_output_tokens [Integer, nil]
Expand Down Expand Up @@ -269,29 +269,6 @@ class Input < OpenAI::Union
# end
end

# @abstract
#
# Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# wide range of models with different capabilities, performance characteristics,
# and price points. Refer to the
# [model guide](https://platform.openai.com/docs/models) to browse and compare
# available models.
class Model < OpenAI::Union
variant String

# Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI
# offers a wide range of models with different capabilities, performance
# characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models)
# to browse and compare available models.
variant enum: -> { OpenAI::Models::ChatModel }

# @!parse
# class << self
# # @return [Array(String, Symbol, OpenAI::Models::ChatModel)]
# def variants; end
# end
end

# @abstract
#
# How the model should select which tool (or tools) to use when generating a
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module Models
module Responses
class ResponseFunctionToolCallItem < OpenAI::Models::Responses::ResponseFunctionToolCall
# @!attribute id
# The unique ID of the function call tool output.
# The unique ID of the function tool call.
#
# @return [String]
required :id, String
Expand Down
30 changes: 30 additions & 0 deletions lib/openai/models/responses_model.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# frozen_string_literal: true

module OpenAI
module Models
# @abstract
class ResponsesModel < OpenAI::Union
variant String

variant enum: -> { OpenAI::Models::ChatModel }

variant enum: -> { OpenAI::Models::ResponsesModel::UnionMember2 }

# @abstract
class UnionMember2 < OpenAI::Enum
O1_PRO = :"o1-pro"
O1_PRO_2025_03_19 = :"o1-pro-2025-03-19"
COMPUTER_USE_PREVIEW = :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"

finalize!
end

# @!parse
# class << self
# # @return [Array(String, Symbol, OpenAI::Models::ChatModel, Symbol, OpenAI::Models::ResponsesModel::UnionMember2)]
# def variants; end
# end
end
end
end
4 changes: 2 additions & 2 deletions lib/openai/resources/responses.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class Responses
# - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
# - [Function calling](https://platform.openai.com/docs/guides/function-calling)
#
# @option params [String, Symbol, OpenAI::Models::ChatModel] :model Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# @option params [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::UnionMember2] :model Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# wide range of models with different capabilities, performance characteristics,
# and price points. Refer to the
# [model guide](https://platform.openai.com/docs/models) to browse and compare
Expand Down Expand Up @@ -163,7 +163,7 @@ def create(params)
# - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
# - [Function calling](https://platform.openai.com/docs/guides/function-calling)
#
# @option params [String, Symbol, OpenAI::Models::ChatModel] :model Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# @option params [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::UnionMember2] :model Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# wide range of models with different capabilities, performance characteristics,
# and price points. Refer to the
# [model guide](https://platform.openai.com/docs/models) to browse and compare
Expand Down
22 changes: 22 additions & 0 deletions rbi/lib/openai/models/all_models.rbi
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# typed: strong

module OpenAI
module Models
class AllModels < OpenAI::Union
abstract!

Variants = type_template(:out) { {fixed: T.any(String, Symbol)} }

class UnionMember4 < OpenAI::Enum
abstract!

Value = type_template(:out) { {fixed: Symbol} }

O1_PRO = :"o1-pro"
O1_PRO_2025_03_19 = :"o1-pro-2025-03-19"
COMPUTER_USE_PREVIEW = :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
end
end
end
end
9 changes: 4 additions & 5 deletions rbi/lib/openai/models/chat_model.rbi
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,6 @@ module OpenAI
O1_PREVIEW_2024_09_12 = :"o1-preview-2024-09-12"
O1_MINI = :"o1-mini"
O1_MINI_2024_09_12 = :"o1-mini-2024-09-12"
COMPUTER_USE_PREVIEW = :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_02_04 = :"computer-use-preview-2025-02-04"
COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
GPT_4_5_PREVIEW = :"gpt-4.5-preview"
GPT_4_5_PREVIEW_2025_02_27 = :"gpt-4.5-preview-2025-02-27"
GPT_4O = :"gpt-4o"
GPT_4O_2024_11_20 = :"gpt-4o-2024-11-20"
GPT_4O_2024_08_06 = :"gpt-4o-2024-08-06"
Expand All @@ -29,6 +24,10 @@ module OpenAI
GPT_4O_AUDIO_PREVIEW_2024_12_17 = :"gpt-4o-audio-preview-2024-12-17"
GPT_4O_MINI_AUDIO_PREVIEW = :"gpt-4o-mini-audio-preview"
GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 = :"gpt-4o-mini-audio-preview-2024-12-17"
GPT_4O_SEARCH_PREVIEW = :"gpt-4o-search-preview"
GPT_4O_MINI_SEARCH_PREVIEW = :"gpt-4o-mini-search-preview"
GPT_4O_SEARCH_PREVIEW_2025_03_11 = :"gpt-4o-search-preview-2025-03-11"
GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 = :"gpt-4o-mini-search-preview-2025-03-11"
CHATGPT_4O_LATEST = :"chatgpt-4o-latest"
GPT_4O_MINI = :"gpt-4o-mini"
GPT_4O_MINI_2024_07_18 = :"gpt-4o-mini-2024-07-18"
Expand Down
11 changes: 0 additions & 11 deletions rbi/lib/openai/models/responses/response.rbi
Original file line number Diff line number Diff line change
Expand Up @@ -502,17 +502,6 @@ module OpenAI
end
end

# Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
# wide range of models with different capabilities, performance characteristics,
# and price points. Refer to the
# [model guide](https://platform.openai.com/docs/models) to browse and compare
# available models.
class Model < OpenAI::Union
abstract!

Variants = type_template(:out) { {fixed: T.any(String, Symbol)} }
end

# How the model should select which tool (or tools) to use when generating a
# response. See the `tools` parameter to see how to specify which tools the model
# can call.
Expand Down
11 changes: 0 additions & 11 deletions rbi/lib/openai/models/responses/response_create_params.rbi
Original file line number Diff line number Diff line change
Expand Up @@ -385,17 +385,6 @@ module OpenAI
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
# wide range of models with different capabilities, performance characteristics,
# and price points. Refer to the
# [model guide](https://platform.openai.com/docs/models) to browse and compare
# available models.
class Model < OpenAI::Union
abstract!

Variants = type_template(:out) { {fixed: T.any(String, Symbol)} }
end

# How the model should select which tool (or tools) to use when generating a
# response. See the `tools` parameter to see how to specify which tools the model
# can call.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module OpenAI
module Models
module Responses
class ResponseFunctionToolCallItem < OpenAI::Models::Responses::ResponseFunctionToolCall
# The unique ID of the function call tool output.
# The unique ID of the function tool call.
sig { returns(String) }
def id
end
Expand Down
22 changes: 22 additions & 0 deletions rbi/lib/openai/models/responses_model.rbi
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# typed: strong

module OpenAI
module Models
class ResponsesModel < OpenAI::Union
abstract!

Variants = type_template(:out) { {fixed: T.any(String, Symbol)} }

class UnionMember2 < OpenAI::Enum
abstract!

Value = type_template(:out) { {fixed: Symbol} }

O1_PRO = :"o1-pro"
O1_PRO_2025_03_19 = :"o1-pro-2025-03-19"
COMPUTER_USE_PREVIEW = :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
end
end
end
end
27 changes: 27 additions & 0 deletions sig/openai/models/all_models.rbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module OpenAI
module Models
type all_models =
String
| OpenAI::Models::chat_model
| OpenAI::Models::AllModels::union_member4

class AllModels < OpenAI::Union
type union_member4 =
:"o1-pro"
| :"o1-pro-2025-03-19"
| :"computer-use-preview"
| :"computer-use-preview-2025-03-11"

class UnionMember4 < OpenAI::Enum
O1_PRO: :"o1-pro"
O1_PRO_2025_03_19: :"o1-pro-2025-03-19"
COMPUTER_USE_PREVIEW: :"computer-use-preview"
COMPUTER_USE_PREVIEW_2025_03_11: :"computer-use-preview-2025-03-11"

def self.values: -> ::Array[OpenAI::Models::AllModels::union_member4]
end

def self.variants: -> [String, OpenAI::Models::chat_model, OpenAI::Models::chat_model, OpenAI::Models::AllModels::union_member4]
end
end
end
Loading