in chatcompletion.go [1614:1648]
func init() {
apijson.RegisterUnion[ChatCompletionMessageParamUnion](
"role",
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ChatCompletionDeveloperMessageParam{}),
DiscriminatorValue: "developer",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ChatCompletionSystemMessageParam{}),
DiscriminatorValue: "system",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ChatCompletionUserMessageParam{}),
DiscriminatorValue: "user",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ChatCompletionAssistantMessageParam{}),
DiscriminatorValue: "assistant",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ChatCompletionToolMessageParam{}),
DiscriminatorValue: "tool",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ChatCompletionFunctionMessageParam{}),
DiscriminatorValue: "function",
},
)
}