in responses/response.go [4417:4476]
func init() {
apijson.RegisterUnion[ResponseInputItemUnionParam](
"type",
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(EasyInputMessageParam{}),
DiscriminatorValue: "message",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseInputItemMessageParam{}),
DiscriminatorValue: "message",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseOutputMessageParam{}),
DiscriminatorValue: "message",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseFileSearchToolCallParam{}),
DiscriminatorValue: "file_search_call",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseComputerToolCallParam{}),
DiscriminatorValue: "computer_call",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseInputItemComputerCallOutputParam{}),
DiscriminatorValue: "computer_call_output",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseFunctionWebSearchParam{}),
DiscriminatorValue: "web_search_call",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseFunctionToolCallParam{}),
DiscriminatorValue: "function_call",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseInputItemFunctionCallOutputParam{}),
DiscriminatorValue: "function_call_output",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseReasoningItemParam{}),
DiscriminatorValue: "reasoning",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(ResponseInputItemItemReferenceParam{}),
DiscriminatorValue: "item_reference",
},
)
}