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

Supported Types

ReasoningItemStatusCompleted

reasoningItemStatusUnion := components.CreateReasoningItemStatusUnionReasoningItemStatusCompleted(components.ReasoningItemStatusCompleted{/* values here */})

ReasoningItemStatusIncomplete

reasoningItemStatusUnion := components.CreateReasoningItemStatusUnionReasoningItemStatusIncomplete(components.ReasoningItemStatusIncomplete{/* values here */})

ReasoningItemStatusInProgress

reasoningItemStatusUnion := components.CreateReasoningItemStatusUnionReasoningItemStatusInProgress(components.ReasoningItemStatusInProgress{/* values here */})

Union Discrimination

Use the Type field to determine which variant is active, then access the corresponding field:
switch reasoningItemStatusUnion.Type {
	case components.ReasoningItemStatusUnionTypeReasoningItemStatusCompleted:
		// reasoningItemStatusUnion.ReasoningItemStatusCompleted is populated
	case components.ReasoningItemStatusUnionTypeReasoningItemStatusIncomplete:
		// reasoningItemStatusUnion.ReasoningItemStatusIncomplete is populated
	case components.ReasoningItemStatusUnionTypeReasoningItemStatusInProgress:
		// reasoningItemStatusUnion.ReasoningItemStatusInProgress is populated
}