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.
Class Method Summary collapse
- .derefed_variants ⇒ ::Array[[Symbol?, top, ::Hash[Symbol, top]]] private
- .variants ⇒ ::Array[top] private
Instance Method Summary collapse
- #==(other) ⇒ Boolean
- #===(other) ⇒ Boolean
-
#coerce(value, state:) ⇒ Object
private
Tries to efficiently coerce the given value to one of the known variants.
- #dump(value, state:) ⇒ Object private
- #hash ⇒ Integer
- #inspect(depth: 0) ⇒ String private
- #to_sorbet_type ⇒ Object private
-
#variants ⇒ Array<Object>
private
All of the specified variants for this union.
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.
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.
12 |
# File 'sig/openai/internal/type/union.rbs', line 12
def self.variants: -> ::Array[top]
|
Instance Method Details
#==(other) ⇒ Boolean
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
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.
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.
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 |
#hash ⇒ 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.
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_type ⇒ 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.
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 |
#variants ⇒ Array<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.
49 |
# File 'lib/openai/internal/type/union.rb', line 49 def variants = derefed_variants.map { _2 } |