Skip to main content
The Go SDK and docs are currently in beta. Report issues on GitHub.

Supported Types

OpenAIResponsesToolChoiceAuto

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceAuto(components.OpenAIResponsesToolChoiceAuto{/* values here */})

OpenAIResponsesToolChoiceNone

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceNone(components.OpenAIResponsesToolChoiceNone{/* values here */})

OpenAIResponsesToolChoiceRequired

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceRequired(components.OpenAIResponsesToolChoiceRequired{/* values here */})

OpenAIResponsesToolChoiceFunction

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceFunction(components.OpenAIResponsesToolChoiceFunction{/* values here */})

OpenAIResponsesToolChoice

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoice(components.OpenAIResponsesToolChoice{/* values here */})

ToolChoiceAllowed

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionToolChoiceAllowed(components.ToolChoiceAllowed{/* values here */})

OpenAIResponsesToolChoiceApplyPatch

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceApplyPatch(components.OpenAIResponsesToolChoiceApplyPatch{/* values here */})

OpenAIResponsesToolChoiceShell

openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceShell(components.OpenAIResponsesToolChoiceShell{/* values here */})

Union Discrimination

Use the Type field to determine which variant is active, then access the corresponding field:
switch openAIResponsesToolChoiceUnion.Type {
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceAuto:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceAuto is populated
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceNone:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceNone is populated
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceRequired:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceRequired is populated
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceFunction:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceFunction is populated
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoice:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoice is populated
	case components.OpenAIResponsesToolChoiceUnionTypeToolChoiceAllowed:
		// openAIResponsesToolChoiceUnion.ToolChoiceAllowed is populated
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceApplyPatch:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceApplyPatch is populated
	case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceShell:
		// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceShell is populated
}