Module: OpenAI::Internal::Type::Union Private

Includes:
Converter, Util::SorbetRuntimeSupport
Included in:
Helpers::StructuredOutput::UnionOf, Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result, Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result, Models::Admin::Organization::UsageCodeInterpreterSessionsResponse::Data::Result, Models::Admin::Organization::UsageCompletionsResponse::Data::Result, Models::Admin::Organization::UsageCostsResponse::Data::Result, Models::Admin::Organization::UsageEmbeddingsResponse::Data::Result, Models::Admin::Organization::UsageFileSearchCallsResponse::Data::Result, Models::Admin::Organization::UsageImagesResponse::Data::Result, Models::Admin::Organization::UsageModerationsResponse::Data::Result, Models::Admin::Organization::UsageVectorStoresResponse::Data::Result, Models::Admin::Organization::UsageWebSearchCallsResponse::Data::Result, Models::AllModels, Models::Audio::SpeechCreateParams::Model, Models::Audio::SpeechCreateParams::Voice, Models::Audio::Transcription::Usage, Models::Audio::TranscriptionCreateParams::ChunkingStrategy, Models::Audio::TranscriptionCreateParams::Model, Models::Audio::TranscriptionCreateResponse, Models::Audio::TranscriptionDiarized::Usage, Models::Audio::TranscriptionStreamEvent, Models::Audio::TranslationCreateParams::Model, Models::Audio::TranslationCreateResponse, Models::Beta::AssistantCreateParams::Model, Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy, Models::Beta::AssistantResponseFormatOption, Models::Beta::AssistantStreamEvent, Models::Beta::AssistantTool, Models::Beta::AssistantToolChoiceOption, Models::Beta::AssistantUpdateParams::Model, Models::Beta::BetaComputerAction, Models::Beta::BetaContainerAuto::NetworkPolicy, Models::Beta::BetaContainerAuto::Skill, Models::Beta::BetaCustomTool::Format, Models::Beta::BetaEasyInputMessage::Content, Models::Beta::BetaFileSearchTool::Filters, Models::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value, Models::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::UnionMember3, Models::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter, Models::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value, Models::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::UnionMember3, Models::Beta::BetaFunctionShellTool::Environment, Models::Beta::BetaNamespaceTool::Tool, Models::Beta::BetaResponse::Instructions, Models::Beta::BetaResponse::Model, Models::Beta::BetaResponse::Moderation::Input, Models::Beta::BetaResponse::Moderation::Output, Models::Beta::BetaResponse::Reasoning::Mode, Models::Beta::BetaResponse::ToolChoice, Models::Beta::BetaResponseApplyPatchToolCall::Caller, Models::Beta::BetaResponseApplyPatchToolCall::Operation, Models::Beta::BetaResponseApplyPatchToolCallOutput::Caller, Models::Beta::BetaResponseCodeInterpreterToolCall::Output, Models::Beta::BetaResponseContent, Models::Beta::BetaResponseContentPartAddedEvent::Part, Models::Beta::BetaResponseContentPartDoneEvent::Part, Models::Beta::BetaResponseCustomToolCall::Caller, Models::Beta::BetaResponseCustomToolCallOutput::Caller, Models::Beta::BetaResponseCustomToolCallOutput::Output, Models::Beta::BetaResponseCustomToolCallOutput::Output::OutputContentList, Models::Beta::BetaResponseFileSearchToolCall::Result::Attribute, Models::Beta::BetaResponseFormatTextConfig, Models::Beta::BetaResponseFunctionCallOutputItem, Models::Beta::BetaResponseFunctionShellCallOutputContent::Outcome, Models::Beta::BetaResponseFunctionShellToolCall::Caller, Models::Beta::BetaResponseFunctionShellToolCall::Environment, Models::Beta::BetaResponseFunctionShellToolCallOutput::Caller, Models::Beta::BetaResponseFunctionShellToolCallOutput::Output::Outcome, Models::Beta::BetaResponseFunctionToolCall::Caller, Models::Beta::BetaResponseFunctionToolCallOutputItem::Caller, Models::Beta::BetaResponseFunctionToolCallOutputItem::Output, Models::Beta::BetaResponseFunctionToolCallOutputItem::Output::OutputContentList, Models::Beta::BetaResponseFunctionWebSearch::Action, Models::Beta::BetaResponseInputContent, Models::Beta::BetaResponseInputItem, Models::Beta::BetaResponseInputItem::AgentMessage::Content, Models::Beta::BetaResponseInputItem::ApplyPatchCall::Caller, Models::Beta::BetaResponseInputItem::ApplyPatchCall::Operation, Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput::Caller, Models::Beta::BetaResponseInputItem::FunctionCallOutput::Caller, Models::Beta::BetaResponseInputItem::FunctionCallOutput::Output, Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations, Models::Beta::BetaResponseInputItem::ShellCall::Caller, Models::Beta::BetaResponseInputItem::ShellCall::Environment, Models::Beta::BetaResponseInputItem::ShellCallOutput::Caller, Models::Beta::BetaResponseItem, Models::Beta::BetaResponseItem::AgentMessage::Content, Models::Beta::BetaResponseOutputItem, Models::Beta::BetaResponseOutputItem::AgentMessage::Content, Models::Beta::BetaResponseOutputMessage::Content, Models::Beta::BetaResponseOutputText::Annotation, Models::Beta::BetaResponsePrompt::Variable, Models::Beta::BetaResponseStreamEvent, Models::Beta::BetaResponsesClientEvent, Models::Beta::BetaResponsesClientEvent::ResponseCreate::Conversation, Models::Beta::BetaResponsesClientEvent::ResponseCreate::Input, Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model, Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode, Models::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice, Models::Beta::BetaResponsesServerEvent, Models::Beta::BetaTool, Models::Beta::BetaTool::CodeInterpreter::Container, Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto::NetworkPolicy, Models::Beta::BetaTool::ImageGeneration::Model, Models::Beta::BetaTool::ImageGeneration::Size, Models::Beta::BetaTool::Mcp::AllowedTools, Models::Beta::BetaTool::Mcp::RequireApproval, Models::Beta::ChatKit::ChatKitResponseOutputText::Annotation, Models::Beta::ChatKit::ChatKitThread::Status, Models::Beta::ChatKit::ChatKitThreadItemList::Data, Models::Beta::ChatKit::ChatKitThreadUserMessageItem::Content, Models::Beta::ChatKit::ChatSessionWorkflowParam::StateVariable, Models::Beta::ChatKitWorkflow::StateVariable, Models::Beta::MessageStreamEvent, Models::Beta::ResponseCompactParams::Input, Models::Beta::ResponseCompactParams::Model, Models::Beta::ResponseCreateParams::Conversation, Models::Beta::ResponseCreateParams::Input, Models::Beta::ResponseCreateParams::Model, Models::Beta::ResponseCreateParams::Reasoning::Mode, Models::Beta::ResponseCreateParams::ToolChoice, Models::Beta::Responses::InputTokenCountParams::Conversation, Models::Beta::Responses::InputTokenCountParams::Input, Models::Beta::Responses::InputTokenCountParams::Personality, Models::Beta::Responses::InputTokenCountParams::Reasoning::Mode, Models::Beta::Responses::InputTokenCountParams::ToolChoice, Models::Beta::RunStepStreamEvent, Models::Beta::RunStreamEvent, Models::Beta::ThreadCreateAndRunParams::Model, Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool, Models::Beta::ThreadCreateAndRunParams::Thread::Message::Content, Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy, Models::Beta::ThreadCreateParams::Message::Attachment::Tool, Models::Beta::ThreadCreateParams::Message::Content, Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy, Models::Beta::Threads::Annotation, Models::Beta::Threads::AnnotationDelta, Models::Beta::Threads::Message::Attachment::Tool, Models::Beta::Threads::MessageContent, Models::Beta::Threads::MessageContentDelta, Models::Beta::Threads::MessageContentPartParam, Models::Beta::Threads::MessageCreateParams::Attachment::Tool, Models::Beta::Threads::MessageCreateParams::Content, Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool, Models::Beta::Threads::RunCreateParams::AdditionalMessage::Content, Models::Beta::Threads::RunCreateParams::Model, Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output, Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta::CodeInterpreter::Output, Models::Beta::Threads::Runs::RunStep::StepDetails, Models::Beta::Threads::Runs::RunStepDelta::StepDetails, Models::Beta::Threads::Runs::ToolCall, Models::Beta::Threads::Runs::ToolCallDelta, Models::BetaComputerAction::Beta::BetaComputerAction, Models::BetaResponseContent::Beta::BetaResponseContent, Models::BetaResponseFormatTextConfig::Beta::BetaResponseFormatTextConfig, Models::BetaResponseFunctionCallOutputItem::Beta::BetaResponseFunctionCallOutputItem, Models::BetaResponseInputContent::Beta::BetaResponseInputContent, Models::BetaResponseInputItem::Beta::BetaResponseInputItem, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::AgentMessage::Content, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::ApplyPatchCall::Caller, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::ApplyPatchCall::Operation, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::ApplyPatchCallOutput::Caller, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::FunctionCallOutput::Caller, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::FunctionCallOutput::Output, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::ShellCall::Caller, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::ShellCall::Environment, Models::BetaResponseInputItem::Beta::BetaResponseInputItem::ShellCallOutput::Caller, Models::BetaResponseItem::Beta::BetaResponseItem, Models::BetaResponseItem::Beta::BetaResponseItem::AgentMessage::Content, Models::BetaResponseOutputItem::Beta::BetaResponseOutputItem, Models::BetaResponseOutputItem::Beta::BetaResponseOutputItem::AgentMessage::Content, Models::BetaResponseStreamEvent::Beta::BetaResponseStreamEvent, Models::BetaResponsesClientEvent::Beta::BetaResponsesClientEvent, Models::BetaResponsesClientEvent::Beta::BetaResponsesClientEvent::ResponseCreate::Conversation, Models::BetaResponsesClientEvent::Beta::BetaResponsesClientEvent::ResponseCreate::Input, Models::BetaResponsesClientEvent::Beta::BetaResponsesClientEvent::ResponseCreate::Model, Models::BetaResponsesClientEvent::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode, Models::BetaResponsesClientEvent::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice, Models::BetaResponsesServerEvent::Beta::BetaResponsesServerEvent, Models::BetaTool::Beta::BetaTool, Models::BetaTool::Beta::BetaTool::CodeInterpreter::Container, Models::BetaTool::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto::NetworkPolicy, Models::BetaTool::Beta::BetaTool::ImageGeneration::Model, Models::BetaTool::Beta::BetaTool::ImageGeneration::Size, Models::BetaTool::Beta::BetaTool::Mcp::AllowedTools, Models::BetaTool::Beta::BetaTool::Mcp::RequireApproval, Models::Chat::ChatCompletion::Moderation::Input, Models::Chat::ChatCompletion::Moderation::Output, Models::Chat::ChatCompletionAssistantMessageParam::Content, Models::Chat::ChatCompletionAssistantMessageParam::Content::ArrayOfContentPart, Models::Chat::ChatCompletionAudioParam::Voice, Models::Chat::ChatCompletionChunk::Moderation::Input, Models::Chat::ChatCompletionChunk::Moderation::Output, Models::Chat::ChatCompletionContentPart, Models::Chat::ChatCompletionCustomTool::Custom::Format, Models::Chat::ChatCompletionDeveloperMessageParam::Content, Models::Chat::ChatCompletionMessageParam, Models::Chat::ChatCompletionMessageToolCall, Models::Chat::ChatCompletionPredictionContent::Content, Models::Chat::ChatCompletionStoreMessage::ContentPart, Models::Chat::ChatCompletionSystemMessageParam::Content, Models::Chat::ChatCompletionTool, Models::Chat::ChatCompletionToolChoiceOption, Models::Chat::ChatCompletionToolMessageParam::Content, Models::Chat::ChatCompletionUserMessageParam::Content, Models::Chat::CompletionCreateParams::FunctionCall, Models::Chat::CompletionCreateParams::Model, Models::Chat::CompletionCreateParams::ResponseFormat, Models::Chat::CompletionCreateParams::Stop, Models::ChatCompletionContentPart::Chat::ChatCompletionContentPart, Models::ChatCompletionMessageParam::Chat::ChatCompletionMessageParam, Models::ChatCompletionMessageToolCall::Chat::ChatCompletionMessageToolCall, Models::ChatCompletionTool::Chat::ChatCompletionTool, Models::ChatCompletionToolChoiceOption::Chat::ChatCompletionToolChoiceOption, Models::ComparisonFilter::Value, Models::ComparisonFilter::Value::UnionMember3, Models::CompletionCreateParams::Model, Models::CompletionCreateParams::Prompt, Models::CompletionCreateParams::Stop, Models::CompoundFilter::Filter, Models::ContainerCreateParams::NetworkPolicy, Models::ContainerCreateParams::Skill, Models::ConversationItem::Conversations::ConversationItem, Models::Conversations::ConversationItem, Models::Conversations::Message::Content, Models::CustomToolInputFormat, Models::EmbeddingCreateParams::Input, Models::EmbeddingCreateParams::Model, Models::EvalCreateParams::DataSourceConfig, Models::EvalCreateParams::TestingCriterion, Models::EvalCreateParams::TestingCriterion::LabelModel::Input, Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content, Models::EvalCreateResponse::DataSourceConfig, Models::EvalCreateResponse::TestingCriterion, Models::EvalListResponse::DataSourceConfig, Models::EvalListResponse::TestingCriterion, Models::EvalRetrieveResponse::DataSourceConfig, Models::EvalRetrieveResponse::TestingCriterion, Models::EvalUpdateResponse::DataSourceConfig, Models::EvalUpdateResponse::TestingCriterion, Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages, Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template, Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content, Models::Evals::CreateEvalCompletionsRunDataSource::SamplingParams::ResponseFormat, Models::Evals::CreateEvalCompletionsRunDataSource::Source, Models::Evals::CreateEvalJSONLRunDataSource::Source, Models::Evals::RunCancelResponse::DataSource, Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages, Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template, Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content, Models::Evals::RunCancelResponse::DataSource::Responses::Source, Models::Evals::RunCreateParams::DataSource, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content, Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::Source, Models::Evals::RunCreateResponse::DataSource, Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages, Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template, Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content, Models::Evals::RunCreateResponse::DataSource::Responses::Source, Models::Evals::RunListResponse::DataSource, Models::Evals::RunListResponse::DataSource::Responses::InputMessages, Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template, Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content, Models::Evals::RunListResponse::DataSource::Responses::Source, Models::Evals::RunRetrieveResponse::DataSource, Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages, Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template, Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content, Models::Evals::RunRetrieveResponse::DataSource::Responses::Source, Models::FileChunkingStrategy, Models::FileChunkingStrategyParam, Models::FineTuning::Alpha::GraderRunParams::Grader, Models::FineTuning::Alpha::GraderValidateParams::Grader, Models::FineTuning::Alpha::GraderValidateResponse::Grader, Models::FineTuning::DpoHyperparameters::BatchSize, Models::FineTuning::DpoHyperparameters::Beta, Models::FineTuning::DpoHyperparameters::LearningRateMultiplier, Models::FineTuning::DpoHyperparameters::NEpochs, Models::FineTuning::FineTuningJob::Hyperparameters::BatchSize, Models::FineTuning::FineTuningJob::Hyperparameters::LearningRateMultiplier, Models::FineTuning::FineTuningJob::Hyperparameters::NEpochs, Models::FineTuning::JobCreateParams::Hyperparameters::BatchSize, Models::FineTuning::JobCreateParams::Hyperparameters::LearningRateMultiplier, Models::FineTuning::JobCreateParams::Hyperparameters::NEpochs, Models::FineTuning::JobCreateParams::Model, Models::FineTuning::ReinforcementHyperparameters::BatchSize, Models::FineTuning::ReinforcementHyperparameters::ComputeMultiplier, Models::FineTuning::ReinforcementHyperparameters::EvalInterval, Models::FineTuning::ReinforcementHyperparameters::EvalSamples, Models::FineTuning::ReinforcementHyperparameters::LearningRateMultiplier, Models::FineTuning::ReinforcementHyperparameters::NEpochs, Models::FineTuning::ReinforcementMethod::Grader, Models::FineTuning::SupervisedHyperparameters::BatchSize, Models::FineTuning::SupervisedHyperparameters::LearningRateMultiplier, Models::FineTuning::SupervisedHyperparameters::NEpochs, Models::Graders::GraderInputItem, Models::Graders::LabelModelGrader::Input::Content, Models::Graders::MultiGrader::Graders, Models::Graders::ScoreModelGrader::Input::Content, Models::ImageCreateVariationParams::Model, Models::ImageEditParams::Image, Models::ImageEditParams::Model, Models::ImageEditParams::Size, Models::ImageEditStreamEvent, Models::ImageGenStreamEvent, Models::ImageGenerateParams::Model, Models::ImageGenerateParams::Size, Models::ModerationCreateParams::Input, Models::ModerationCreateParams::Model, Models::ModerationMultiModalInput, Models::OAuthErrorCode, Models::Realtime::AudioTranscription::Model, Models::Realtime::ClientSecretCreateParams::Session, Models::Realtime::ClientSecretCreateResponse::Session, Models::Realtime::ConversationItem, Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage, Models::Realtime::RealtimeAudioConfigOutput::Voice, Models::Realtime::RealtimeAudioFormats, Models::Realtime::RealtimeAudioInputTurnDetection, Models::Realtime::RealtimeClientEvent, Models::Realtime::RealtimeMcpToolCall::Error, Models::Realtime::RealtimeResponse::Audio::Output::Voice, Models::Realtime::RealtimeResponse::MaxOutputTokens, Models::Realtime::RealtimeResponseCreateAudioOutput::Output::Voice, Models::Realtime::RealtimeResponseCreateMcpTool::AllowedTools, Models::Realtime::RealtimeResponseCreateMcpTool::RequireApproval, Models::Realtime::RealtimeResponseCreateParams::Conversation, Models::Realtime::RealtimeResponseCreateParams::MaxOutputTokens, Models::Realtime::RealtimeResponseCreateParams::Tool, Models::Realtime::RealtimeResponseCreateParams::ToolChoice, Models::Realtime::RealtimeServerEvent, Models::Realtime::RealtimeSession::MaxResponseOutputTokens, Models::Realtime::RealtimeSession::Model, Models::Realtime::RealtimeSession::Tracing, Models::Realtime::RealtimeSession::TurnDetection, Models::Realtime::RealtimeSession::Voice, Models::Realtime::RealtimeSessionCreateRequest::MaxOutputTokens, Models::Realtime::RealtimeSessionCreateRequest::Model, Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection, Models::Realtime::RealtimeSessionCreateResponse::Audio::Output::Voice, Models::Realtime::RealtimeSessionCreateResponse::MaxOutputTokens, Models::Realtime::RealtimeSessionCreateResponse::Model, Models::Realtime::RealtimeSessionCreateResponse::Tool, Models::Realtime::RealtimeSessionCreateResponse::Tool::McpTool::AllowedTools, Models::Realtime::RealtimeSessionCreateResponse::Tool::McpTool::RequireApproval, Models::Realtime::RealtimeSessionCreateResponse::ToolChoice, Models::Realtime::RealtimeSessionCreateResponse::Tracing, Models::Realtime::RealtimeToolChoiceConfig, Models::Realtime::RealtimeToolsConfigUnion, Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools, Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval, Models::Realtime::RealtimeTracingConfig, Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection, Models::Realtime::RealtimeTranslationClientEvent, Models::Realtime::RealtimeTranslationServerEvent, Models::Realtime::RealtimeTruncation, Models::Realtime::SessionCreatedEvent::Session, Models::Realtime::SessionUpdateEvent::Session, Models::Realtime::SessionUpdatedEvent::Session, Models::Reasoning::Mode, Models::Responses::ComputerAction, Models::Responses::ContainerAuto::NetworkPolicy, Models::Responses::ContainerAuto::Skill, Models::Responses::EasyInputMessage::Content, Models::Responses::FileSearchTool::Filters, Models::Responses::FunctionShellTool::Environment, Models::Responses::InputTokenCountParams::Conversation, Models::Responses::InputTokenCountParams::Input, Models::Responses::InputTokenCountParams::Personality, Models::Responses::InputTokenCountParams::ToolChoice, Models::Responses::NamespaceTool::Tool, Models::Responses::Response::Instructions, Models::Responses::Response::Moderation::Input, Models::Responses::Response::Moderation::Output, Models::Responses::Response::ToolChoice, Models::Responses::ResponseApplyPatchToolCall::Caller, Models::Responses::ResponseApplyPatchToolCall::Operation, Models::Responses::ResponseApplyPatchToolCallOutput::Caller, Models::Responses::ResponseCodeInterpreterToolCall::Output, Models::Responses::ResponseCompactParams::Input, Models::Responses::ResponseCompactParams::Model, Models::Responses::ResponseComputerToolCall::Action, Models::Responses::ResponseContent, Models::Responses::ResponseContentPartAddedEvent::Part, Models::Responses::ResponseContentPartDoneEvent::Part, Models::Responses::ResponseCreateParams::Conversation, Models::Responses::ResponseCreateParams::Input, Models::Responses::ResponseCreateParams::ToolChoice, Models::Responses::ResponseCustomToolCall::Caller, Models::Responses::ResponseCustomToolCallOutput::Caller, Models::Responses::ResponseCustomToolCallOutput::Output, Models::Responses::ResponseCustomToolCallOutput::Output::OutputContentList, Models::Responses::ResponseFileSearchToolCall::Result::Attribute, Models::Responses::ResponseFormatTextConfig, Models::Responses::ResponseFunctionCallOutputItem, Models::Responses::ResponseFunctionShellCallOutputContent::Outcome, Models::Responses::ResponseFunctionShellToolCall::Caller, Models::Responses::ResponseFunctionShellToolCall::Environment, Models::Responses::ResponseFunctionShellToolCallOutput::Caller, Models::Responses::ResponseFunctionShellToolCallOutput::Output::Outcome, Models::Responses::ResponseFunctionToolCall::Caller, Models::Responses::ResponseFunctionToolCallOutputItem::Caller, Models::Responses::ResponseFunctionToolCallOutputItem::Output, Models::Responses::ResponseFunctionToolCallOutputItem::Output::OutputContentList, Models::Responses::ResponseFunctionWebSearch::Action, Models::Responses::ResponseInputContent, Models::Responses::ResponseInputItem, Models::Responses::ResponseInputItem::ApplyPatchCall::Caller, Models::Responses::ResponseInputItem::ApplyPatchCall::Operation, Models::Responses::ResponseInputItem::ApplyPatchCallOutput::Caller, Models::Responses::ResponseInputItem::FunctionCallOutput::Caller, Models::Responses::ResponseInputItem::FunctionCallOutput::Output, Models::Responses::ResponseInputItem::ShellCall::Caller, Models::Responses::ResponseInputItem::ShellCall::Environment, Models::Responses::ResponseInputItem::ShellCallOutput::Caller, Models::Responses::ResponseItem, Models::Responses::ResponseOutputItem, Models::Responses::ResponseOutputMessage::Content, Models::Responses::ResponseOutputText::Annotation, Models::Responses::ResponsePrompt::Variable, Models::Responses::ResponseStreamEvent, Models::Responses::ResponsesClientEvent::Conversation, Models::Responses::ResponsesClientEvent::Input, Models::Responses::ResponsesClientEvent::ToolChoice, Models::Responses::ResponsesServerEvent, Models::Responses::Tool, Models::Responses::Tool::CodeInterpreter::Container, Models::Responses::Tool::CodeInterpreter::Container::CodeInterpreterToolAuto::NetworkPolicy, Models::Responses::Tool::ImageGeneration::Model, Models::Responses::Tool::ImageGeneration::Size, Models::Responses::Tool::Mcp::AllowedTools, Models::Responses::Tool::Mcp::RequireApproval, Models::ResponsesModel, Models::SkillCreateParams::Files, Models::Skills::VersionCreateParams::Files, Models::VectorStoreSearchParams::Filters, Models::VectorStoreSearchParams::Query, Models::VectorStoreSearchResponse::Attribute, Models::VectorStores::FileBatchCreateParams::Attribute, Models::VectorStores::FileBatchCreateParams::File::Attribute, Models::VectorStores::FileCreateParams::Attribute, Models::VectorStores::FileUpdateParams::Attribute, Models::VectorStores::VectorStoreFile::Attribute, Models::Video::Seconds, Models::VideoCreateParams::InputReference, Models::VideoEditParams::Video, Models::VideoExtendParams::Video, Models::VideoModel, Models::Webhooks::UnwrapWebhookEvent
Defined in:
lib/openai/internal/type/union.rb,
sig/openai/internal/type/union.rbs

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Examples:

# `custom_tool_input_format` is a `OpenAI::CustomToolInputFormat`
case custom_tool_input_format
when OpenAI::CustomToolInputFormat::Text
  puts(custom_tool_input_format.type)
when OpenAI::CustomToolInputFormat::Grammar
  puts(custom_tool_input_format.definition)
else
  puts(custom_tool_input_format)
end
case custom_tool_input_format
in {type: :text}
  # ...
in {type: :grammar, definition: definition, syntax: syntax}
  puts(definition)
else
  puts(custom_tool_input_format)
end

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, to_sorbet_type

Methods included from Converter

coerce, dump, inspect, meta_info, new_coerce_state, type_info

Class Method Details

.derefed_variants::Array[[Symbol?, top, ::Hash[Symbol, top]]]

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (::Array[[Symbol?, top, ::Hash[Symbol, top]]])


10
# File 'sig/openai/internal/type/union.rbs', line 10

def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]]

.variants::Array[top]

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (::Array[top])


12
# File 'sig/openai/internal/type/union.rbs', line 12

def self.variants: -> ::Array[top]

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

  • other (Object)

Returns:



130
131
132
# File 'lib/openai/internal/type/union.rb', line 130

def ==(other)
  OpenAI::Internal::Type::Union === other && other.derefed_variants == derefed_variants
end

#===(other) ⇒ Boolean

Parameters:

  • other (Object)

Returns:



119
120
121
122
123
# File 'lib/openai/internal/type/union.rb', line 119

def ===(other)
  known_variants.any? do |_, variant_fn|
    variant_fn.call === other
  end
end

#coerce(value, state:) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Tries to efficiently coerce the given value to one of the known variants.

If the value cannot match any of the known variants, the coercion is considered non-viable and returns the original value.

Parameters:

  • value (Object)
  • state (Hash{Symbol=>Object})

    .

    @option state [Boolean] :translate_names

    @option state [Boolean] :strictness

    @option state [HashSymbol=>Object] :exactness

    @option state [Class] :error

    @option state [Integer] :branched

Returns:

  • (Object)


161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# File 'lib/openai/internal/type/union.rb', line 161

def coerce(value, state:)
  if (target = resolve_variant(value))
    return OpenAI::Internal::Type::Converter.coerce(target, value, state: state)
  end

  strictness = state.fetch(:strictness)
  exactness = state.fetch(:exactness)

  alternatives = []
  known_variants.each do |_, variant_fn|
    target = variant_fn.call
    exact = state[:exactness] = {yes: 0, no: 0, maybe: 0}
    state[:branched] += 1

    coerced = OpenAI::Internal::Type::Converter.coerce(target, value, state: state)
    yes, no, maybe = exact.values
    if (no + maybe).zero? || (!strictness && yes.positive?)
      exact.each { exactness[_1] += _2 }
      state[:exactness] = exactness
      return coerced
    elsif maybe.positive?
      alternatives << [[-yes, -maybe, no], exact, coerced]
    end
  end

  case alternatives.sort_by!(&:first)
  in []
    exactness[:no] += 1
    state[:error] = ArgumentError.new("no matching variant for #{value.inspect}")
    value
  in [[_, exact, coerced], *]
    exact.each { exactness[_1] += _2 }
    coerced
  end
    .tap { state[:exactness] = exactness }
ensure
  state[:strictness] = strictness
end

#dump(value, state:) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • value (Object)
  • state (Hash{Symbol=>Object})

    .

    @option state [Boolean] :can_retry

Returns:

  • (Object)


209
210
211
212
213
214
215
216
217
218
219
220
# File 'lib/openai/internal/type/union.rb', line 209

def dump(value, state:)
  if (target = resolve_variant(value))
    return OpenAI::Internal::Type::Converter.dump(target, value, state: state)
  end

  known_variants.each do
    target = _2.call
    return OpenAI::Internal::Type::Converter.dump(target, value, state: state) if target === value
  end

  super
end

#hashInteger

Returns:

  • (Integer)


137
# File 'lib/openai/internal/type/union.rb', line 137

def hash = variants.hash

#inspect(depth: 0) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • depth (Integer) (defaults to: 0)
  • depth: (Integer) (defaults to: 0)

Returns:

  • (String)


245
246
247
248
249
250
251
252
253
254
# File 'lib/openai/internal/type/union.rb', line 245

def inspect(depth: 0)
  if depth.positive?
    return is_a?(Module) ? super() : self.class.name
  end

  members = variants.map { OpenAI::Internal::Type::Converter.inspect(_1, depth: depth.succ) }
  prefix = is_a?(Module) ? name : self.class.name

  "#{prefix}[#{members.join(' | ')}]"
end

#to_sorbet_typeObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Object)


225
226
227
228
229
230
231
232
233
234
235
# File 'lib/openai/internal/type/union.rb', line 225

def to_sorbet_type
  types = variants.map { OpenAI::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1) }.uniq
  case types
  in []
    T.noreturn
  in [type]
    type
  else
    T.any(*types)
  end
end

#variantsArray<Object>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

All of the specified variants for this union.

Returns:

  • (Array<Object>)


49
# File 'lib/openai/internal/type/union.rb', line 49

def variants = derefed_variants.map { _2 }