diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2a8f4ff..3e9af1b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.3.0" + ".": "1.4.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index b6f1d02..fdb7ef3 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 97 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-0205acb1015d29b2312a48526734c0399f93026d4fe2dff5c7768f566e333fd2.yml -openapi_spec_hash: 1772cc9056c2f6dfb2a4e9cb77ee6343 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-4865dda2b62927bd141cbc85f81be3d88602f103e2c581e15eb1caded3e3aaa2.yml +openapi_spec_hash: 7d14a9b23ef4ac93ea46d629601b6f6b config_hash: ed1e6b3c5f93d12b80d31167f55c557c diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f78495..520b714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 1.4.0 (2025-06-09) + +Full Changelog: [v1.3.0...v1.4.0](https://github.com/openai/openai-go/compare/v1.3.0...v1.4.0) + +### Features + +* **client:** allow overriding unions ([27c6299](https://github.com/openai/openai-go/commit/27c6299cb4ac275c6542b5691d81b795e65eeff6)) + + +### Bug Fixes + +* **client:** cast to raw message when converting to params ([a3282b0](https://github.com/openai/openai-go/commit/a3282b01a8d9a2c0cd04f24b298bf2ffcd160ebd)) + ## 1.3.0 (2025-06-03) Full Changelog: [v1.2.1...v1.3.0](https://github.com/openai/openai-go/compare/v1.2.1...v1.3.0) diff --git a/README.md b/README.md index 7911bb5..33d706f 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Or to pin the version: ```sh -go get -u 'github.com/openai/openai-go@v1.3.0' +go get -u 'github.com/openai/openai-go@v1.4.0' ``` diff --git a/audiotranscription.go b/audiotranscription.go index 2511d28..33b6478 100644 --- a/audiotranscription.go +++ b/audiotranscription.go @@ -398,7 +398,7 @@ type AudioTranscriptionNewParamsChunkingStrategyUnion struct { } func (u AudioTranscriptionNewParamsChunkingStrategyUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[AudioTranscriptionNewParamsChunkingStrategyUnion](u.OfAuto, u.OfAudioTranscriptionNewsChunkingStrategyVadConfig) + return param.MarshalUnion(u, u.OfAuto, u.OfAudioTranscriptionNewsChunkingStrategyVadConfig) } func (u *AudioTranscriptionNewParamsChunkingStrategyUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/betaassistant.go b/betaassistant.go index 6adbfa9..69cb0fa 100644 --- a/betaassistant.go +++ b/betaassistant.go @@ -1407,7 +1407,7 @@ func (r *AssistantToolUnion) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // AssistantToolUnionParam.Overrides() func (r AssistantToolUnion) ToParam() AssistantToolUnionParam { - return param.Override[AssistantToolUnionParam](r.RawJSON()) + return param.Override[AssistantToolUnionParam](json.RawMessage(r.RawJSON())) } func AssistantToolParamOfFunction(function shared.FunctionDefinitionParam) AssistantToolUnionParam { @@ -1427,7 +1427,7 @@ type AssistantToolUnionParam struct { } func (u AssistantToolUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[AssistantToolUnionParam](u.OfCodeInterpreter, u.OfFileSearch, u.OfFunction) + return param.MarshalUnion(u, u.OfCodeInterpreter, u.OfFileSearch, u.OfFunction) } func (u *AssistantToolUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1504,7 +1504,7 @@ func (r *CodeInterpreterTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // CodeInterpreterToolParam.Overrides() func (r CodeInterpreterTool) ToParam() CodeInterpreterToolParam { - return param.Override[CodeInterpreterToolParam](r.RawJSON()) + return param.Override[CodeInterpreterToolParam](json.RawMessage(r.RawJSON())) } func NewCodeInterpreterToolParam() CodeInterpreterToolParam { @@ -1555,7 +1555,7 @@ func (r *FileSearchTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // FileSearchToolParam.Overrides() func (r FileSearchTool) ToParam() FileSearchToolParam { - return param.Override[FileSearchToolParam](r.RawJSON()) + return param.Override[FileSearchToolParam](json.RawMessage(r.RawJSON())) } // Overrides for the file search tool. @@ -1728,7 +1728,7 @@ func (r *FunctionTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // FunctionToolParam.Overrides() func (r FunctionTool) ToParam() FunctionToolParam { - return param.Override[FunctionToolParam](r.RawJSON()) + return param.Override[FunctionToolParam](json.RawMessage(r.RawJSON())) } // The properties Function, Type are required. @@ -1922,7 +1922,7 @@ type BetaAssistantNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUni } func (u BetaAssistantNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaAssistantNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion](u.OfAuto, u.OfStatic) + return param.MarshalUnion(u, u.OfAuto, u.OfStatic) } func (u *BetaAssistantNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/betathread.go b/betathread.go index df8da48..7e351bf 100644 --- a/betathread.go +++ b/betathread.go @@ -185,7 +185,7 @@ func (r *AssistantResponseFormatOptionUnion) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // AssistantResponseFormatOptionUnionParam.Overrides() func (r AssistantResponseFormatOptionUnion) ToParam() AssistantResponseFormatOptionUnionParam { - return param.Override[AssistantResponseFormatOptionUnionParam](r.RawJSON()) + return param.Override[AssistantResponseFormatOptionUnionParam](json.RawMessage(r.RawJSON())) } func AssistantResponseFormatOptionParamOfAuto() AssistantResponseFormatOptionUnionParam { @@ -211,7 +211,7 @@ type AssistantResponseFormatOptionUnionParam struct { } func (u AssistantResponseFormatOptionUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[AssistantResponseFormatOptionUnionParam](u.OfAuto, u.OfText, u.OfJSONObject, u.OfJSONSchema) + return param.MarshalUnion(u, u.OfAuto, u.OfText, u.OfJSONObject, u.OfJSONSchema) } func (u *AssistantResponseFormatOptionUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -279,7 +279,7 @@ func (r *AssistantToolChoice) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // AssistantToolChoiceParam.Overrides() func (r AssistantToolChoice) ToParam() AssistantToolChoiceParam { - return param.Override[AssistantToolChoiceParam](r.RawJSON()) + return param.Override[AssistantToolChoiceParam](json.RawMessage(r.RawJSON())) } // The type of the tool. If type is `function`, the function name must be set @@ -336,7 +336,7 @@ func (r *AssistantToolChoiceFunction) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // AssistantToolChoiceFunctionParam.Overrides() func (r AssistantToolChoiceFunction) ToParam() AssistantToolChoiceFunctionParam { - return param.Override[AssistantToolChoiceFunctionParam](r.RawJSON()) + return param.Override[AssistantToolChoiceFunctionParam](json.RawMessage(r.RawJSON())) } // The property Name is required. @@ -400,7 +400,7 @@ func (r *AssistantToolChoiceOptionUnion) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // AssistantToolChoiceOptionUnionParam.Overrides() func (r AssistantToolChoiceOptionUnion) ToParam() AssistantToolChoiceOptionUnionParam { - return param.Override[AssistantToolChoiceOptionUnionParam](r.RawJSON()) + return param.Override[AssistantToolChoiceOptionUnionParam](json.RawMessage(r.RawJSON())) } // `none` means the model will not call any tools and instead generates a message. @@ -432,7 +432,7 @@ type AssistantToolChoiceOptionUnionParam struct { } func (u AssistantToolChoiceOptionUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[AssistantToolChoiceOptionUnionParam](u.OfAuto, u.OfAssistantToolChoice) + return param.MarshalUnion(u, u.OfAuto, u.OfAssistantToolChoice) } func (u *AssistantToolChoiceOptionUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -643,7 +643,7 @@ type BetaThreadNewParamsMessageContentUnion struct { } func (u BetaThreadNewParamsMessageContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadNewParamsMessageContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *BetaThreadNewParamsMessageContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -684,7 +684,7 @@ type BetaThreadNewParamsMessageAttachmentToolUnion struct { } func (u BetaThreadNewParamsMessageAttachmentToolUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadNewParamsMessageAttachmentToolUnion](u.OfCodeInterpreter, u.OfFileSearch) + return param.MarshalUnion(u, u.OfCodeInterpreter, u.OfFileSearch) } func (u *BetaThreadNewParamsMessageAttachmentToolUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -831,7 +831,7 @@ type BetaThreadNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion } func (u BetaThreadNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion](u.OfAuto, u.OfStatic) + return param.MarshalUnion(u, u.OfAuto, u.OfStatic) } func (u *BetaThreadNewParamsToolResourcesFileSearchVectorStoreChunkingStrategyUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1188,7 +1188,7 @@ type BetaThreadNewAndRunParamsThreadMessageContentUnion struct { } func (u BetaThreadNewAndRunParamsThreadMessageContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadNewAndRunParamsThreadMessageContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *BetaThreadNewAndRunParamsThreadMessageContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1229,7 +1229,7 @@ type BetaThreadNewAndRunParamsThreadMessageAttachmentToolUnion struct { } func (u BetaThreadNewAndRunParamsThreadMessageAttachmentToolUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadNewAndRunParamsThreadMessageAttachmentToolUnion](u.OfCodeInterpreter, u.OfFileSearch) + return param.MarshalUnion(u, u.OfCodeInterpreter, u.OfFileSearch) } func (u *BetaThreadNewAndRunParamsThreadMessageAttachmentToolUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1376,7 +1376,7 @@ type BetaThreadNewAndRunParamsThreadToolResourcesFileSearchVectorStoreChunkingSt } func (u BetaThreadNewAndRunParamsThreadToolResourcesFileSearchVectorStoreChunkingStrategyUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadNewAndRunParamsThreadToolResourcesFileSearchVectorStoreChunkingStrategyUnion](u.OfAuto, u.OfStatic) + return param.MarshalUnion(u, u.OfAuto, u.OfStatic) } func (u *BetaThreadNewAndRunParamsThreadToolResourcesFileSearchVectorStoreChunkingStrategyUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/betathreadmessage.go b/betathreadmessage.go index f02b393..3078e0a 100644 --- a/betathreadmessage.go +++ b/betathreadmessage.go @@ -511,7 +511,7 @@ func (r *ImageFile) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ImageFileParam.Overrides() func (r ImageFile) ToParam() ImageFileParam { - return param.Override[ImageFileParam](r.RawJSON()) + return param.Override[ImageFileParam](json.RawMessage(r.RawJSON())) } // Specifies the detail level of the image if specified by the user. `low` uses @@ -573,7 +573,7 @@ func (r *ImageFileContentBlock) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ImageFileContentBlockParam.Overrides() func (r ImageFileContentBlock) ToParam() ImageFileContentBlockParam { - return param.Override[ImageFileContentBlockParam](r.RawJSON()) + return param.Override[ImageFileContentBlockParam](json.RawMessage(r.RawJSON())) } // References an image [File](https://platform.openai.com/docs/api-reference/files) @@ -686,7 +686,7 @@ func (r *ImageURL) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ImageURLParam.Overrides() func (r ImageURL) ToParam() ImageURLParam { - return param.Override[ImageURLParam](r.RawJSON()) + return param.Override[ImageURLParam](json.RawMessage(r.RawJSON())) } // Specifies the detail level of the image. `low` uses fewer tokens, you can opt in @@ -746,7 +746,7 @@ func (r *ImageURLContentBlock) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ImageURLContentBlockParam.Overrides() func (r ImageURLContentBlock) ToParam() ImageURLContentBlockParam { - return param.Override[ImageURLContentBlockParam](r.RawJSON()) + return param.Override[ImageURLContentBlockParam](json.RawMessage(r.RawJSON())) } // References an image URL in the content of a message. @@ -1216,7 +1216,7 @@ type MessageContentPartParamUnion struct { } func (u MessageContentPartParamUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[MessageContentPartParamUnion](u.OfImageFile, u.OfImageURL, u.OfText) + return param.MarshalUnion(u, u.OfImageFile, u.OfImageURL, u.OfText) } func (u *MessageContentPartParamUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1541,7 +1541,7 @@ type BetaThreadMessageNewParamsContentUnion struct { } func (u BetaThreadMessageNewParamsContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadMessageNewParamsContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *BetaThreadMessageNewParamsContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1595,7 +1595,7 @@ type BetaThreadMessageNewParamsAttachmentToolUnion struct { } func (u BetaThreadMessageNewParamsAttachmentToolUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadMessageNewParamsAttachmentToolUnion](u.OfCodeInterpreter, u.OfFileSearch) + return param.MarshalUnion(u, u.OfCodeInterpreter, u.OfFileSearch) } func (u *BetaThreadMessageNewParamsAttachmentToolUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/betathreadrun.go b/betathreadrun.go index 32c235a..7d7e116 100644 --- a/betathreadrun.go +++ b/betathreadrun.go @@ -741,7 +741,7 @@ type BetaThreadRunNewParamsAdditionalMessageContentUnion struct { } func (u BetaThreadRunNewParamsAdditionalMessageContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadRunNewParamsAdditionalMessageContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *BetaThreadRunNewParamsAdditionalMessageContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -782,7 +782,7 @@ type BetaThreadRunNewParamsAdditionalMessageAttachmentToolUnion struct { } func (u BetaThreadRunNewParamsAdditionalMessageAttachmentToolUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[BetaThreadRunNewParamsAdditionalMessageAttachmentToolUnion](u.OfCodeInterpreter, u.OfFileSearch) + return param.MarshalUnion(u, u.OfCodeInterpreter, u.OfFileSearch) } func (u *BetaThreadRunNewParamsAdditionalMessageAttachmentToolUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/chatcompletion.go b/chatcompletion.go index 58ac887..98680ec 100644 --- a/chatcompletion.go +++ b/chatcompletion.go @@ -4,6 +4,7 @@ package openai import ( "context" + "encoding/json" "errors" "fmt" "net/http" @@ -366,7 +367,7 @@ type ChatCompletionAssistantMessageParamContentUnion struct { } func (u ChatCompletionAssistantMessageParamContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionAssistantMessageParamContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *ChatCompletionAssistantMessageParamContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -391,7 +392,7 @@ type ChatCompletionAssistantMessageParamContentArrayOfContentPartUnion struct { } func (u ChatCompletionAssistantMessageParamContentArrayOfContentPartUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionAssistantMessageParamContentArrayOfContentPartUnion](u.OfText, u.OfRefusal) + return param.MarshalUnion(u, u.OfText, u.OfRefusal) } func (u *ChatCompletionAssistantMessageParamContentArrayOfContentPartUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -847,7 +848,7 @@ type ChatCompletionContentPartUnionParam struct { } func (u ChatCompletionContentPartUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionContentPartUnionParam](u.OfText, u.OfImageURL, u.OfInputAudio, u.OfFile) + return param.MarshalUnion(u, u.OfText, u.OfImageURL, u.OfInputAudio, u.OfFile) } func (u *ChatCompletionContentPartUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1153,7 +1154,7 @@ type ChatCompletionDeveloperMessageParamContentUnion struct { } func (u ChatCompletionDeveloperMessageParamContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionDeveloperMessageParamContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *ChatCompletionDeveloperMessageParamContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1439,7 +1440,7 @@ type ChatCompletionMessageParamUnion struct { } func (u ChatCompletionMessageParamUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionMessageParamUnion](u.OfDeveloper, + return param.MarshalUnion(u, u.OfDeveloper, u.OfSystem, u.OfUser, u.OfAssistant, @@ -1620,7 +1621,7 @@ func (r *ChatCompletionMessageToolCall) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ChatCompletionMessageToolCallParam.Overrides() func (r ChatCompletionMessageToolCall) ToParam() ChatCompletionMessageToolCallParam { - return param.Override[ChatCompletionMessageToolCallParam](r.RawJSON()) + return param.Override[ChatCompletionMessageToolCallParam](json.RawMessage(r.RawJSON())) } // The function that the model called. @@ -1761,7 +1762,7 @@ type ChatCompletionPredictionContentContentUnionParam struct { } func (u ChatCompletionPredictionContentContentUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionPredictionContentContentUnionParam](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *ChatCompletionPredictionContentContentUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1852,7 +1853,7 @@ type ChatCompletionSystemMessageParamContentUnion struct { } func (u ChatCompletionSystemMessageParamContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionSystemMessageParamContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *ChatCompletionSystemMessageParamContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1963,7 +1964,7 @@ type ChatCompletionToolChoiceOptionUnionParam struct { } func (u ChatCompletionToolChoiceOptionUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionToolChoiceOptionUnionParam](u.OfAuto, u.OfChatCompletionNamedToolChoice) + return param.MarshalUnion(u, u.OfAuto, u.OfChatCompletionNamedToolChoice) } func (u *ChatCompletionToolChoiceOptionUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -2020,7 +2021,7 @@ type ChatCompletionToolMessageParamContentUnion struct { } func (u ChatCompletionToolMessageParamContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionToolMessageParamContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *ChatCompletionToolMessageParamContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -2070,7 +2071,7 @@ type ChatCompletionUserMessageParamContentUnion struct { } func (u ChatCompletionUserMessageParamContentUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionUserMessageParamContentUnion](u.OfString, u.OfArrayOfContentParts) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfContentParts) } func (u *ChatCompletionUserMessageParamContentUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -2302,7 +2303,7 @@ type ChatCompletionNewParamsFunctionCallUnion struct { } func (u ChatCompletionNewParamsFunctionCallUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionNewParamsFunctionCallUnion](u.OfFunctionCallMode, u.OfFunctionCallOption) + return param.MarshalUnion(u, u.OfFunctionCallMode, u.OfFunctionCallOption) } func (u *ChatCompletionNewParamsFunctionCallUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -2367,7 +2368,7 @@ type ChatCompletionNewParamsResponseFormatUnion struct { } func (u ChatCompletionNewParamsResponseFormatUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionNewParamsResponseFormatUnion](u.OfText, u.OfJSONSchema, u.OfJSONObject) + return param.MarshalUnion(u, u.OfText, u.OfJSONSchema, u.OfJSONObject) } func (u *ChatCompletionNewParamsResponseFormatUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -2439,7 +2440,7 @@ type ChatCompletionNewParamsStopUnion struct { } func (u ChatCompletionNewParamsStopUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ChatCompletionNewParamsStopUnion](u.OfString, u.OfStringArray) + return param.MarshalUnion(u, u.OfString, u.OfStringArray) } func (u *ChatCompletionNewParamsStopUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/completion.go b/completion.go index 67fa357..72b2c51 100644 --- a/completion.go +++ b/completion.go @@ -381,7 +381,7 @@ type CompletionNewParamsPromptUnion struct { } func (u CompletionNewParamsPromptUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[CompletionNewParamsPromptUnion](u.OfString, u.OfArrayOfStrings, u.OfArrayOfTokens, u.OfArrayOfTokenArrays) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfStrings, u.OfArrayOfTokens, u.OfArrayOfTokenArrays) } func (u *CompletionNewParamsPromptUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -410,7 +410,7 @@ type CompletionNewParamsStopUnion struct { } func (u CompletionNewParamsStopUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[CompletionNewParamsStopUnion](u.OfString, u.OfStringArray) + return param.MarshalUnion(u, u.OfString, u.OfStringArray) } func (u *CompletionNewParamsStopUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/embedding.go b/embedding.go index 6a19d05..f7650f5 100644 --- a/embedding.go +++ b/embedding.go @@ -174,7 +174,7 @@ type EmbeddingNewParamsInputUnion struct { } func (u EmbeddingNewParamsInputUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[EmbeddingNewParamsInputUnion](u.OfString, u.OfArrayOfStrings, u.OfArrayOfTokens, u.OfArrayOfTokenArrays) + return param.MarshalUnion(u, u.OfString, u.OfArrayOfStrings, u.OfArrayOfTokens, u.OfArrayOfTokenArrays) } func (u *EmbeddingNewParamsInputUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/finetuningalphagrader.go b/finetuningalphagrader.go index ff50e99..4920583 100644 --- a/finetuningalphagrader.go +++ b/finetuningalphagrader.go @@ -301,7 +301,7 @@ type FineTuningAlphaGraderRunParamsGraderUnion struct { } func (u FineTuningAlphaGraderRunParamsGraderUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FineTuningAlphaGraderRunParamsGraderUnion](u.OfStringCheck, + return param.MarshalUnion(u, u.OfStringCheck, u.OfTextSimilarity, u.OfPython, u.OfScoreModel, @@ -505,7 +505,7 @@ type FineTuningAlphaGraderValidateParamsGraderUnion struct { } func (u FineTuningAlphaGraderValidateParamsGraderUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FineTuningAlphaGraderValidateParamsGraderUnion](u.OfStringCheckGrader, + return param.MarshalUnion(u, u.OfStringCheckGrader, u.OfTextSimilarityGrader, u.OfPythonGrader, u.OfScoreModelGrader, diff --git a/finetuningjob.go b/finetuningjob.go index 42e1992..43ce46f 100644 --- a/finetuningjob.go +++ b/finetuningjob.go @@ -688,7 +688,7 @@ type FineTuningJobNewParamsHyperparametersBatchSizeUnion struct { } func (u FineTuningJobNewParamsHyperparametersBatchSizeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FineTuningJobNewParamsHyperparametersBatchSizeUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *FineTuningJobNewParamsHyperparametersBatchSizeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -714,7 +714,7 @@ type FineTuningJobNewParamsHyperparametersLearningRateMultiplierUnion struct { } func (u FineTuningJobNewParamsHyperparametersLearningRateMultiplierUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FineTuningJobNewParamsHyperparametersLearningRateMultiplierUnion](u.OfAuto, u.OfFloat) + return param.MarshalUnion(u, u.OfAuto, u.OfFloat) } func (u *FineTuningJobNewParamsHyperparametersLearningRateMultiplierUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -740,7 +740,7 @@ type FineTuningJobNewParamsHyperparametersNEpochsUnion struct { } func (u FineTuningJobNewParamsHyperparametersNEpochsUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FineTuningJobNewParamsHyperparametersNEpochsUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *FineTuningJobNewParamsHyperparametersNEpochsUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/finetuningmethod.go b/finetuningmethod.go index a7fa95c..b315a9d 100644 --- a/finetuningmethod.go +++ b/finetuningmethod.go @@ -68,7 +68,7 @@ func (r *DpoHyperparametersResp) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // DpoHyperparameters.Overrides() func (r DpoHyperparametersResp) ToParam() DpoHyperparameters { - return param.Override[DpoHyperparameters](r.RawJSON()) + return param.Override[DpoHyperparameters](json.RawMessage(r.RawJSON())) } // DpoHyperparametersBatchSizeUnionResp contains all possible properties and values @@ -255,7 +255,7 @@ type DpoHyperparametersBatchSizeUnion struct { } func (u DpoHyperparametersBatchSizeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[DpoHyperparametersBatchSizeUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *DpoHyperparametersBatchSizeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -281,7 +281,7 @@ type DpoHyperparametersBetaUnion struct { } func (u DpoHyperparametersBetaUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[DpoHyperparametersBetaUnion](u.OfAuto, u.OfFloat) + return param.MarshalUnion(u, u.OfAuto, u.OfFloat) } func (u *DpoHyperparametersBetaUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -307,7 +307,7 @@ type DpoHyperparametersLearningRateMultiplierUnion struct { } func (u DpoHyperparametersLearningRateMultiplierUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[DpoHyperparametersLearningRateMultiplierUnion](u.OfAuto, u.OfFloat) + return param.MarshalUnion(u, u.OfAuto, u.OfFloat) } func (u *DpoHyperparametersLearningRateMultiplierUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -333,7 +333,7 @@ type DpoHyperparametersNEpochsUnion struct { } func (u DpoHyperparametersNEpochsUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[DpoHyperparametersNEpochsUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *DpoHyperparametersNEpochsUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -372,7 +372,7 @@ func (r *DpoMethod) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // DpoMethodParam.Overrides() func (r DpoMethod) ToParam() DpoMethodParam { - return param.Override[DpoMethodParam](r.RawJSON()) + return param.Override[DpoMethodParam](json.RawMessage(r.RawJSON())) } // Configuration for the DPO fine-tuning method. @@ -438,7 +438,7 @@ func (r *ReinforcementHyperparametersResp) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ReinforcementHyperparameters.Overrides() func (r ReinforcementHyperparametersResp) ToParam() ReinforcementHyperparameters { - return param.Override[ReinforcementHyperparameters](r.RawJSON()) + return param.Override[ReinforcementHyperparameters](json.RawMessage(r.RawJSON())) } // ReinforcementHyperparametersBatchSizeUnionResp contains all possible properties @@ -718,7 +718,7 @@ type ReinforcementHyperparametersBatchSizeUnion struct { } func (u ReinforcementHyperparametersBatchSizeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementHyperparametersBatchSizeUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *ReinforcementHyperparametersBatchSizeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -744,7 +744,7 @@ type ReinforcementHyperparametersComputeMultiplierUnion struct { } func (u ReinforcementHyperparametersComputeMultiplierUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementHyperparametersComputeMultiplierUnion](u.OfAuto, u.OfFloat) + return param.MarshalUnion(u, u.OfAuto, u.OfFloat) } func (u *ReinforcementHyperparametersComputeMultiplierUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -770,7 +770,7 @@ type ReinforcementHyperparametersEvalIntervalUnion struct { } func (u ReinforcementHyperparametersEvalIntervalUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementHyperparametersEvalIntervalUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *ReinforcementHyperparametersEvalIntervalUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -796,7 +796,7 @@ type ReinforcementHyperparametersEvalSamplesUnion struct { } func (u ReinforcementHyperparametersEvalSamplesUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementHyperparametersEvalSamplesUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *ReinforcementHyperparametersEvalSamplesUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -822,7 +822,7 @@ type ReinforcementHyperparametersLearningRateMultiplierUnion struct { } func (u ReinforcementHyperparametersLearningRateMultiplierUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementHyperparametersLearningRateMultiplierUnion](u.OfAuto, u.OfFloat) + return param.MarshalUnion(u, u.OfAuto, u.OfFloat) } func (u *ReinforcementHyperparametersLearningRateMultiplierUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -848,7 +848,7 @@ type ReinforcementHyperparametersNEpochsUnion struct { } func (u ReinforcementHyperparametersNEpochsUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementHyperparametersNEpochsUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *ReinforcementHyperparametersNEpochsUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -890,7 +890,7 @@ func (r *ReinforcementMethod) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ReinforcementMethodParam.Overrides() func (r ReinforcementMethod) ToParam() ReinforcementMethodParam { - return param.Override[ReinforcementMethodParam](r.RawJSON()) + return param.Override[ReinforcementMethodParam](json.RawMessage(r.RawJSON())) } // ReinforcementMethodGraderUnion contains all possible properties and values from @@ -1030,7 +1030,7 @@ type ReinforcementMethodGraderUnionParam struct { } func (u ReinforcementMethodGraderUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ReinforcementMethodGraderUnionParam](u.OfStringCheckGrader, + return param.MarshalUnion(u, u.OfStringCheckGrader, u.OfTextSimilarityGrader, u.OfPythonGrader, u.OfScoreModelGrader, @@ -1230,7 +1230,7 @@ func (r *SupervisedHyperparametersResp) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // SupervisedHyperparameters.Overrides() func (r SupervisedHyperparametersResp) ToParam() SupervisedHyperparameters { - return param.Override[SupervisedHyperparameters](r.RawJSON()) + return param.Override[SupervisedHyperparameters](json.RawMessage(r.RawJSON())) } // SupervisedHyperparametersBatchSizeUnionResp contains all possible properties and @@ -1377,7 +1377,7 @@ type SupervisedHyperparametersBatchSizeUnion struct { } func (u SupervisedHyperparametersBatchSizeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[SupervisedHyperparametersBatchSizeUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *SupervisedHyperparametersBatchSizeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1403,7 +1403,7 @@ type SupervisedHyperparametersLearningRateMultiplierUnion struct { } func (u SupervisedHyperparametersLearningRateMultiplierUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[SupervisedHyperparametersLearningRateMultiplierUnion](u.OfAuto, u.OfFloat) + return param.MarshalUnion(u, u.OfAuto, u.OfFloat) } func (u *SupervisedHyperparametersLearningRateMultiplierUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1429,7 +1429,7 @@ type SupervisedHyperparametersNEpochsUnion struct { } func (u SupervisedHyperparametersNEpochsUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[SupervisedHyperparametersNEpochsUnion](u.OfAuto, u.OfInt) + return param.MarshalUnion(u, u.OfAuto, u.OfInt) } func (u *SupervisedHyperparametersNEpochsUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1468,7 +1468,7 @@ func (r *SupervisedMethod) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // SupervisedMethodParam.Overrides() func (r SupervisedMethod) ToParam() SupervisedMethodParam { - return param.Override[SupervisedMethodParam](r.RawJSON()) + return param.Override[SupervisedMethodParam](json.RawMessage(r.RawJSON())) } // Configuration for the supervised fine-tuning method. diff --git a/gradergradermodel.go b/gradergradermodel.go index e4a3e8e..e27a51e 100644 --- a/gradergradermodel.go +++ b/gradergradermodel.go @@ -71,7 +71,7 @@ func (r *LabelModelGrader) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // LabelModelGraderParam.Overrides() func (r LabelModelGrader) ToParam() LabelModelGraderParam { - return param.Override[LabelModelGraderParam](r.RawJSON()) + return param.Override[LabelModelGraderParam](json.RawMessage(r.RawJSON())) } // A message input to the model with a role indicating instruction following @@ -250,7 +250,7 @@ type LabelModelGraderInputContentUnionParam struct { } func (u LabelModelGraderInputContentUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[LabelModelGraderInputContentUnionParam](u.OfString, u.OfInputText, u.OfOutputText) + return param.MarshalUnion(u, u.OfString, u.OfInputText, u.OfOutputText) } func (u *LabelModelGraderInputContentUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -343,7 +343,7 @@ func (r *MultiGrader) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // MultiGraderParam.Overrides() func (r MultiGrader) ToParam() MultiGraderParam { - return param.Override[MultiGraderParam](r.RawJSON()) + return param.Override[MultiGraderParam](json.RawMessage(r.RawJSON())) } // MultiGraderGradersUnion contains all possible properties and values from @@ -496,7 +496,7 @@ type MultiGraderGradersUnionParam struct { } func (u MultiGraderGradersUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[MultiGraderGradersUnionParam](u.OfStringCheckGrader, + return param.MarshalUnion(u, u.OfStringCheckGrader, u.OfTextSimilarityGrader, u.OfPythonGrader, u.OfScoreModelGrader, @@ -701,7 +701,7 @@ func (r *PythonGrader) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // PythonGraderParam.Overrides() func (r PythonGrader) ToParam() PythonGraderParam { - return param.Override[PythonGraderParam](r.RawJSON()) + return param.Override[PythonGraderParam](json.RawMessage(r.RawJSON())) } // A PythonGrader object that runs a python script on the input. @@ -768,7 +768,7 @@ func (r *ScoreModelGrader) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ScoreModelGraderParam.Overrides() func (r ScoreModelGrader) ToParam() ScoreModelGraderParam { - return param.Override[ScoreModelGraderParam](r.RawJSON()) + return param.Override[ScoreModelGraderParam](json.RawMessage(r.RawJSON())) } // A message input to the model with a role indicating instruction following @@ -947,7 +947,7 @@ type ScoreModelGraderInputContentUnionParam struct { } func (u ScoreModelGraderInputContentUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ScoreModelGraderInputContentUnionParam](u.OfString, u.OfInputText, u.OfOutputText) + return param.MarshalUnion(u, u.OfString, u.OfInputText, u.OfOutputText) } func (u *ScoreModelGraderInputContentUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1044,7 +1044,7 @@ func (r *StringCheckGrader) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // StringCheckGraderParam.Overrides() func (r StringCheckGrader) ToParam() StringCheckGraderParam { - return param.Override[StringCheckGraderParam](r.RawJSON()) + return param.Override[StringCheckGraderParam](json.RawMessage(r.RawJSON())) } // The string check operation to perform. One of `eq`, `ne`, `like`, or `ilike`. @@ -1127,7 +1127,7 @@ func (r *TextSimilarityGrader) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // TextSimilarityGraderParam.Overrides() func (r TextSimilarityGrader) ToParam() TextSimilarityGraderParam { - return param.Override[TextSimilarityGraderParam](r.RawJSON()) + return param.Override[TextSimilarityGraderParam](json.RawMessage(r.RawJSON())) } // The evaluation metric to use. One of `fuzzy_match`, `bleu`, `gleu`, `meteor`, diff --git a/image.go b/image.go index f5ec0d6..b2f296b 100644 --- a/image.go +++ b/image.go @@ -322,7 +322,7 @@ type ImageEditParamsImageUnion struct { } func (u ImageEditParamsImageUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ImageEditParamsImageUnion](u.OfFile, u.OfFileArray) + return param.MarshalUnion(u, u.OfFile, u.OfFileArray) } func (u *ImageEditParamsImageUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/internal/version.go b/internal/version.go index 83c436e..02bfc38 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "1.3.0" // x-release-please-version +const PackageVersion = "1.4.0" // x-release-please-version diff --git a/moderation.go b/moderation.go index 0036387..ee88345 100644 --- a/moderation.go +++ b/moderation.go @@ -342,7 +342,7 @@ type ModerationMultiModalInputUnionParam struct { } func (u ModerationMultiModalInputUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ModerationMultiModalInputUnionParam](u.OfImageURL, u.OfText) + return param.MarshalUnion(u, u.OfImageURL, u.OfText) } func (u *ModerationMultiModalInputUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -467,7 +467,7 @@ type ModerationNewParamsInputUnion struct { } func (u ModerationNewParamsInputUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ModerationNewParamsInputUnion](u.OfString, u.OfStringArray, u.OfModerationMultiModalArray) + return param.MarshalUnion(u, u.OfString, u.OfStringArray, u.OfModerationMultiModalArray) } func (u *ModerationNewParamsInputUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/packages/param/encoder.go b/packages/param/encoder.go index 479222c..222fb75 100644 --- a/packages/param/encoder.go +++ b/packages/param/encoder.go @@ -68,7 +68,7 @@ func MarshalWithExtras[T ParamStruct, R any](f T, underlying any, extras map[str // MarshalUnion uses a shimmed 'encoding/json' from Go 1.24, to support the 'omitzero' tag // // Stability for the API of MarshalUnion is not guaranteed. -func MarshalUnion[T any](variants ...any) ([]byte, error) { +func MarshalUnion[T ParamStruct](metadata T, variants ...any) ([]byte, error) { nPresent := 0 presentIdx := -1 for i, variant := range variants { @@ -78,6 +78,9 @@ func MarshalUnion[T any](variants ...any) ([]byte, error) { } } if nPresent == 0 || presentIdx == -1 { + if ovr, ok := metadata.Overrides(); ok { + return shimjson.Marshal(ovr) + } return []byte(`null`), nil } else if nPresent > 1 { return nil, &json.MarshalerError{ diff --git a/packages/param/encoder_test.go b/packages/param/encoder_test.go index 81a4b49..247fe64 100644 --- a/packages/param/encoder_test.go +++ b/packages/param/encoder_test.go @@ -218,10 +218,11 @@ func TestExtraFieldsForceOmitted(t *testing.T) { type UnionWithDates struct { OfDate param.Opt[time.Time] OfTime param.Opt[time.Time] + param.APIUnion } func (r UnionWithDates) MarshalJSON() (data []byte, err error) { - return param.MarshalUnion[UnionWithDates](param.EncodedAsDate(r.OfDate), r.OfTime) + return param.MarshalUnion(r, param.EncodedAsDate(r.OfDate), r.OfTime) } func TestUnionDateMarshal(t *testing.T) { @@ -324,3 +325,41 @@ func TestOptionalInterfaceAssignability(t *testing.T) { notOpt.implOpt() // silence the warning } + +type PrimitiveUnion struct { + OfString param.Opt[string] + OfInt param.Opt[int] + param.APIUnion +} + +func (p PrimitiveUnion) MarshalJSON() (data []byte, err error) { + return param.MarshalUnion(p, p.OfString, p.OfInt) +} + +func TestOverriddenUnion(t *testing.T) { + tests := map[string]struct { + value PrimitiveUnion + expected string + }{ + "string": { + param.Override[PrimitiveUnion](json.RawMessage(`"hello"`)), + `"hello"`, + }, + "int": { + param.Override[PrimitiveUnion](json.RawMessage(`42`)), + `42`, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + b, err := json.Marshal(test.value) + if err != nil { + t.Fatalf("didn't expect error %v, expected %s", err, test.expected) + } + if string(b) != test.expected { + t.Fatalf("expected %s, received %s", test.expected, string(b)) + } + }) + } +} diff --git a/responses/response.go b/responses/response.go index 28e8002..ac4770b 100644 --- a/responses/response.go +++ b/responses/response.go @@ -177,7 +177,7 @@ func (r *ComputerTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ComputerToolParam.Overrides() func (r ComputerTool) ToParam() ComputerToolParam { - return param.Override[ComputerToolParam](r.RawJSON()) + return param.Override[ComputerToolParam](json.RawMessage(r.RawJSON())) } // The type of computer environment to control. @@ -261,7 +261,7 @@ type EasyInputMessageContentUnionParam struct { } func (u EasyInputMessageContentUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[EasyInputMessageContentUnionParam](u.OfString, u.OfInputItemContentList) + return param.MarshalUnion(u, u.OfString, u.OfInputItemContentList) } func (u *EasyInputMessageContentUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -333,7 +333,7 @@ func (r *FileSearchTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // FileSearchToolParam.Overrides() func (r FileSearchTool) ToParam() FileSearchToolParam { - return param.Override[FileSearchToolParam](r.RawJSON()) + return param.Override[FileSearchToolParam](json.RawMessage(r.RawJSON())) } // FileSearchToolFiltersUnion contains all possible properties and values from @@ -439,7 +439,7 @@ type FileSearchToolFiltersUnionParam struct { } func (u FileSearchToolFiltersUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FileSearchToolFiltersUnionParam](u.OfComparisonFilter, u.OfCompoundFilter) + return param.MarshalUnion(u, u.OfComparisonFilter, u.OfCompoundFilter) } func (u *FileSearchToolFiltersUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -554,7 +554,7 @@ func (r *FunctionTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // FunctionToolParam.Overrides() func (r FunctionTool) ToParam() FunctionToolParam { - return param.Override[FunctionToolParam](r.RawJSON()) + return param.Override[FunctionToolParam](json.RawMessage(r.RawJSON())) } // Defines a function in your own code the model can choose to call. Learn more @@ -1142,7 +1142,7 @@ func (r *ResponseCodeInterpreterToolCall) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseCodeInterpreterToolCallParam.Overrides() func (r ResponseCodeInterpreterToolCall) ToParam() ResponseCodeInterpreterToolCallParam { - return param.Override[ResponseCodeInterpreterToolCallParam](r.RawJSON()) + return param.Override[ResponseCodeInterpreterToolCallParam](json.RawMessage(r.RawJSON())) } // ResponseCodeInterpreterToolCallResultUnion contains all possible properties and @@ -1325,7 +1325,7 @@ type ResponseCodeInterpreterToolCallResultUnionParam struct { } func (u ResponseCodeInterpreterToolCallResultUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseCodeInterpreterToolCallResultUnionParam](u.OfLogs, u.OfFiles) + return param.MarshalUnion(u, u.OfLogs, u.OfFiles) } func (u *ResponseCodeInterpreterToolCallResultUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -1503,7 +1503,7 @@ func (r *ResponseComputerToolCall) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseComputerToolCallParam.Overrides() func (r ResponseComputerToolCall) ToParam() ResponseComputerToolCallParam { - return param.Override[ResponseComputerToolCallParam](r.RawJSON()) + return param.Override[ResponseComputerToolCallParam](json.RawMessage(r.RawJSON())) } // ResponseComputerToolCallActionUnion contains all possible properties and values @@ -2000,7 +2000,7 @@ type ResponseComputerToolCallActionUnionParam struct { } func (u ResponseComputerToolCallActionUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseComputerToolCallActionUnionParam](u.OfClick, + return param.MarshalUnion(u, u.OfClick, u.OfDoubleClick, u.OfDrag, u.OfKeypress, @@ -2534,7 +2534,7 @@ func (r *ResponseComputerToolCallOutputScreenshot) UnmarshalJSON(data []byte) er // be used at the last possible moment before sending a request. Test for this with // ResponseComputerToolCallOutputScreenshotParam.Overrides() func (r ResponseComputerToolCallOutputScreenshot) ToParam() ResponseComputerToolCallOutputScreenshotParam { - return param.Override[ResponseComputerToolCallOutputScreenshotParam](r.RawJSON()) + return param.Override[ResponseComputerToolCallOutputScreenshotParam](json.RawMessage(r.RawJSON())) } // A computer screenshot image used with the computer use tool. @@ -3027,7 +3027,7 @@ func (r *ResponseFileSearchToolCall) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseFileSearchToolCallParam.Overrides() func (r ResponseFileSearchToolCall) ToParam() ResponseFileSearchToolCallParam { - return param.Override[ResponseFileSearchToolCallParam](r.RawJSON()) + return param.Override[ResponseFileSearchToolCallParam](json.RawMessage(r.RawJSON())) } // The status of the file search tool call. One of `in_progress`, `searching`, @@ -3188,7 +3188,7 @@ type ResponseFileSearchToolCallResultAttributeUnionParam struct { } func (u ResponseFileSearchToolCallResultAttributeUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseFileSearchToolCallResultAttributeUnionParam](u.OfString, u.OfFloat, u.OfBool) + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) } func (u *ResponseFileSearchToolCallResultAttributeUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -3292,7 +3292,7 @@ func (r *ResponseFormatTextConfigUnion) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseFormatTextConfigUnionParam.Overrides() func (r ResponseFormatTextConfigUnion) ToParam() ResponseFormatTextConfigUnionParam { - return param.Override[ResponseFormatTextConfigUnionParam](r.RawJSON()) + return param.Override[ResponseFormatTextConfigUnionParam](json.RawMessage(r.RawJSON())) } func ResponseFormatTextConfigParamOfJSONSchema(name string, schema map[string]any) ResponseFormatTextConfigUnionParam { @@ -3313,7 +3313,7 @@ type ResponseFormatTextConfigUnionParam struct { } func (u ResponseFormatTextConfigUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseFormatTextConfigUnionParam](u.OfText, u.OfJSONSchema, u.OfJSONObject) + return param.MarshalUnion(u, u.OfText, u.OfJSONSchema, u.OfJSONObject) } func (u *ResponseFormatTextConfigUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -3429,7 +3429,7 @@ func (r *ResponseFormatTextJSONSchemaConfig) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseFormatTextJSONSchemaConfigParam.Overrides() func (r ResponseFormatTextJSONSchemaConfig) ToParam() ResponseFormatTextJSONSchemaConfigParam { - return param.Override[ResponseFormatTextJSONSchemaConfigParam](r.RawJSON()) + return param.Override[ResponseFormatTextJSONSchemaConfigParam](json.RawMessage(r.RawJSON())) } // JSON Schema response format. Used to generate structured JSON responses. Learn @@ -3572,7 +3572,7 @@ func (r *ResponseFunctionToolCall) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseFunctionToolCallParam.Overrides() func (r ResponseFunctionToolCall) ToParam() ResponseFunctionToolCallParam { - return param.Override[ResponseFunctionToolCallParam](r.RawJSON()) + return param.Override[ResponseFunctionToolCallParam](json.RawMessage(r.RawJSON())) } // The status of the item. One of `in_progress`, `completed`, or `incomplete`. @@ -3717,7 +3717,7 @@ func (r *ResponseFunctionWebSearch) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseFunctionWebSearchParam.Overrides() func (r ResponseFunctionWebSearch) ToParam() ResponseFunctionWebSearchParam { - return param.Override[ResponseFunctionWebSearchParam](r.RawJSON()) + return param.Override[ResponseFunctionWebSearchParam](json.RawMessage(r.RawJSON())) } // The status of the web search tool call. @@ -4042,7 +4042,7 @@ func (r *ResponseInputContentUnion) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseInputContentUnionParam.Overrides() func (r ResponseInputContentUnion) ToParam() ResponseInputContentUnionParam { - return param.Override[ResponseInputContentUnionParam](r.RawJSON()) + return param.Override[ResponseInputContentUnionParam](json.RawMessage(r.RawJSON())) } func ResponseInputContentParamOfInputText(text string) ResponseInputContentUnionParam { @@ -4068,7 +4068,7 @@ type ResponseInputContentUnionParam struct { } func (u ResponseInputContentUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseInputContentUnionParam](u.OfInputText, u.OfInputImage, u.OfInputFile) + return param.MarshalUnion(u, u.OfInputText, u.OfInputImage, u.OfInputFile) } func (u *ResponseInputContentUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -4189,7 +4189,7 @@ func (r *ResponseInputFile) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseInputFileParam.Overrides() func (r ResponseInputFile) ToParam() ResponseInputFileParam { - return param.Override[ResponseInputFileParam](r.RawJSON()) + return param.Override[ResponseInputFileParam](json.RawMessage(r.RawJSON())) } // A file input to the model. @@ -4255,7 +4255,7 @@ func (r *ResponseInputImage) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseInputImageParam.Overrides() func (r ResponseInputImage) ToParam() ResponseInputImageParam { - return param.Override[ResponseInputImageParam](r.RawJSON()) + return param.Override[ResponseInputImageParam](json.RawMessage(r.RawJSON())) } // The detail level of the image to be sent to the model. One of `high`, `low`, or @@ -4432,7 +4432,7 @@ type ResponseInputItemUnionParam struct { } func (u ResponseInputItemUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseInputItemUnionParam](u.OfMessage, + return param.MarshalUnion(u, u.OfMessage, u.OfInputMessage, u.OfOutputMessage, u.OfFileSearchCall, @@ -5599,7 +5599,7 @@ func (r *ResponseInputText) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseInputTextParam.Overrides() func (r ResponseInputText) ToParam() ResponseInputTextParam { - return param.Override[ResponseInputTextParam](r.RawJSON()) + return param.Override[ResponseInputTextParam](json.RawMessage(r.RawJSON())) } // A text input to the model. @@ -7095,7 +7095,7 @@ func (r *ResponseOutputMessage) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseOutputMessageParam.Overrides() func (r ResponseOutputMessage) ToParam() ResponseOutputMessageParam { - return param.Override[ResponseOutputMessageParam](r.RawJSON()) + return param.Override[ResponseOutputMessageParam](json.RawMessage(r.RawJSON())) } // ResponseOutputMessageContentUnion contains all possible properties and values @@ -7223,7 +7223,7 @@ type ResponseOutputMessageContentUnionParam struct { } func (u ResponseOutputMessageContentUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseOutputMessageContentUnionParam](u.OfOutputText, u.OfRefusal) + return param.MarshalUnion(u, u.OfOutputText, u.OfRefusal) } func (u *ResponseOutputMessageContentUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -7315,7 +7315,7 @@ func (r *ResponseOutputRefusal) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseOutputRefusalParam.Overrides() func (r ResponseOutputRefusal) ToParam() ResponseOutputRefusalParam { - return param.Override[ResponseOutputRefusalParam](r.RawJSON()) + return param.Override[ResponseOutputRefusalParam](json.RawMessage(r.RawJSON())) } // A refusal from the model. @@ -7371,7 +7371,7 @@ func (r *ResponseOutputText) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseOutputTextParam.Overrides() func (r ResponseOutputText) ToParam() ResponseOutputTextParam { - return param.Override[ResponseOutputTextParam](r.RawJSON()) + return param.Override[ResponseOutputTextParam](json.RawMessage(r.RawJSON())) } // ResponseOutputTextAnnotationUnion contains all possible properties and values @@ -7661,7 +7661,7 @@ type ResponseOutputTextAnnotationUnionParam struct { } func (u ResponseOutputTextAnnotationUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseOutputTextAnnotationUnionParam](u.OfFileCitation, u.OfURLCitation, u.OfContainerFileCitation, u.OfFilePath) + return param.MarshalUnion(u, u.OfFileCitation, u.OfURLCitation, u.OfContainerFileCitation, u.OfFilePath) } func (u *ResponseOutputTextAnnotationUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -8077,7 +8077,7 @@ func (r *ResponseReasoningItem) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseReasoningItemParam.Overrides() func (r ResponseReasoningItem) ToParam() ResponseReasoningItemParam { - return param.Override[ResponseReasoningItemParam](r.RawJSON()) + return param.Override[ResponseReasoningItemParam](json.RawMessage(r.RawJSON())) } type ResponseReasoningItemSummary struct { @@ -9240,7 +9240,7 @@ func (r *ResponseTextConfig) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseTextConfigParam.Overrides() func (r ResponseTextConfig) ToParam() ResponseTextConfigParam { - return param.Override[ResponseTextConfigParam](r.RawJSON()) + return param.Override[ResponseTextConfigParam](json.RawMessage(r.RawJSON())) } // Configuration options for a text response from the model. Can be plain text or @@ -9643,7 +9643,7 @@ func (r *ToolUnion) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ToolUnionParam.Overrides() func (r ToolUnion) ToParam() ToolUnionParam { - return param.Override[ToolUnionParam](r.RawJSON()) + return param.Override[ToolUnionParam](json.RawMessage(r.RawJSON())) } // Give the model access to additional tools via remote Model Context Protocol @@ -10093,7 +10093,7 @@ type ToolUnionParam struct { } func (u ToolUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ToolUnionParam](u.OfFunction, + return param.MarshalUnion(u, u.OfFunction, u.OfFileSearch, u.OfWebSearchPreview, u.OfComputerUsePreview, @@ -10430,7 +10430,7 @@ type ToolMcpAllowedToolsUnionParam struct { } func (u ToolMcpAllowedToolsUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ToolMcpAllowedToolsUnionParam](u.OfMcpAllowedTools, u.OfMcpAllowedToolsFilter) + return param.MarshalUnion(u, u.OfMcpAllowedTools, u.OfMcpAllowedToolsFilter) } func (u *ToolMcpAllowedToolsUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -10472,7 +10472,7 @@ type ToolMcpRequireApprovalUnionParam struct { } func (u ToolMcpRequireApprovalUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ToolMcpRequireApprovalUnionParam](u.OfMcpToolApprovalFilter, u.OfMcpToolApprovalSetting) + return param.MarshalUnion(u, u.OfMcpToolApprovalFilter, u.OfMcpToolApprovalSetting) } func (u *ToolMcpRequireApprovalUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -10565,7 +10565,7 @@ type ToolCodeInterpreterContainerUnionParam struct { } func (u ToolCodeInterpreterContainerUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ToolCodeInterpreterContainerUnionParam](u.OfString, u.OfCodeInterpreterContainerAuto) + return param.MarshalUnion(u, u.OfString, u.OfCodeInterpreterContainerAuto) } func (u *ToolCodeInterpreterContainerUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -10746,7 +10746,7 @@ func (r *ToolChoiceFunction) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ToolChoiceFunctionParam.Overrides() func (r ToolChoiceFunction) ToParam() ToolChoiceFunctionParam { - return param.Override[ToolChoiceFunctionParam](r.RawJSON()) + return param.Override[ToolChoiceFunctionParam](json.RawMessage(r.RawJSON())) } // Use this option to force the model to call a specific function. @@ -10824,7 +10824,7 @@ func (r *ToolChoiceTypes) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ToolChoiceTypesParam.Overrides() func (r ToolChoiceTypes) ToParam() ToolChoiceTypesParam { - return param.Override[ToolChoiceTypesParam](r.RawJSON()) + return param.Override[ToolChoiceTypesParam](json.RawMessage(r.RawJSON())) } // The type of hosted tool the model should to use. Learn more about @@ -10919,7 +10919,7 @@ func (r *WebSearchTool) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // WebSearchToolParam.Overrides() func (r WebSearchTool) ToParam() WebSearchToolParam { - return param.Override[WebSearchToolParam](r.RawJSON()) + return param.Override[WebSearchToolParam](json.RawMessage(r.RawJSON())) } // The type of the web search tool. One of `web_search_preview` or @@ -11189,7 +11189,7 @@ type ResponseNewParamsInputUnion struct { } func (u ResponseNewParamsInputUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseNewParamsInputUnion](u.OfString, u.OfInputItemList) + return param.MarshalUnion(u, u.OfString, u.OfInputItemList) } func (u *ResponseNewParamsInputUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -11241,7 +11241,7 @@ type ResponseNewParamsToolChoiceUnion struct { } func (u ResponseNewParamsToolChoiceUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ResponseNewParamsToolChoiceUnion](u.OfToolChoiceMode, u.OfHostedTool, u.OfFunctionTool) + return param.MarshalUnion(u, u.OfToolChoiceMode, u.OfHostedTool, u.OfFunctionTool) } func (u *ResponseNewParamsToolChoiceUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/shared/shared.go b/shared/shared.go index b5b1887..077e25c 100644 --- a/shared/shared.go +++ b/shared/shared.go @@ -119,7 +119,7 @@ func (r *ComparisonFilter) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ComparisonFilterParam.Overrides() func (r ComparisonFilter) ToParam() ComparisonFilterParam { - return param.Override[ComparisonFilterParam](r.RawJSON()) + return param.Override[ComparisonFilterParam](json.RawMessage(r.RawJSON())) } // Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`. @@ -228,7 +228,7 @@ type ComparisonFilterValueUnionParam struct { } func (u ComparisonFilterValueUnionParam) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[ComparisonFilterValueUnionParam](u.OfString, u.OfFloat, u.OfBool) + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) } func (u *ComparisonFilterValueUnionParam) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -275,7 +275,7 @@ func (r *CompoundFilter) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // CompoundFilterParam.Overrides() func (r CompoundFilter) ToParam() CompoundFilterParam { - return param.Override[CompoundFilterParam](r.RawJSON()) + return param.Override[CompoundFilterParam](json.RawMessage(r.RawJSON())) } // Type of operation: `and` or `or`. @@ -374,7 +374,7 @@ func (r *FunctionDefinition) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // FunctionDefinitionParam.Overrides() func (r FunctionDefinition) ToParam() FunctionDefinitionParam { - return param.Override[FunctionDefinitionParam](r.RawJSON()) + return param.Override[FunctionDefinitionParam](json.RawMessage(r.RawJSON())) } // The property Name is required. @@ -466,7 +466,7 @@ func (r *Reasoning) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ReasoningParam.Overrides() func (r Reasoning) ToParam() ReasoningParam { - return param.Override[ReasoningParam](r.RawJSON()) + return param.Override[ReasoningParam](json.RawMessage(r.RawJSON())) } // **Deprecated:** use `summary` instead. @@ -577,7 +577,7 @@ func (ResponseFormatJSONObject) ImplResponseFormatTextConfigUnion() {} // be used at the last possible moment before sending a request. Test for this with // ResponseFormatJSONObjectParam.Overrides() func (r ResponseFormatJSONObject) ToParam() ResponseFormatJSONObjectParam { - return param.Override[ResponseFormatJSONObjectParam](r.RawJSON()) + return param.Override[ResponseFormatJSONObjectParam](json.RawMessage(r.RawJSON())) } func NewResponseFormatJSONObjectParam() ResponseFormatJSONObjectParam { @@ -636,7 +636,7 @@ func (r *ResponseFormatJSONSchema) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // ResponseFormatJSONSchemaParam.Overrides() func (r ResponseFormatJSONSchema) ToParam() ResponseFormatJSONSchemaParam { - return param.Override[ResponseFormatJSONSchemaParam](r.RawJSON()) + return param.Override[ResponseFormatJSONSchemaParam](json.RawMessage(r.RawJSON())) } // Structured Outputs configuration options, including a JSON Schema. @@ -752,7 +752,7 @@ func (ResponseFormatText) ImplResponseFormatTextConfigUnion() {} // be used at the last possible moment before sending a request. Test for this with // ResponseFormatTextParam.Overrides() func (r ResponseFormatText) ToParam() ResponseFormatTextParam { - return param.Override[ResponseFormatTextParam](r.RawJSON()) + return param.Override[ResponseFormatTextParam](json.RawMessage(r.RawJSON())) } func NewResponseFormatTextParam() ResponseFormatTextParam { diff --git a/vectorstore.go b/vectorstore.go index 9a69e03..9ee6f54 100644 --- a/vectorstore.go +++ b/vectorstore.go @@ -248,7 +248,7 @@ type FileChunkingStrategyParamUnion struct { } func (u FileChunkingStrategyParamUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[FileChunkingStrategyParamUnion](u.OfAuto, u.OfStatic) + return param.MarshalUnion(u, u.OfAuto, u.OfStatic) } func (u *FileChunkingStrategyParamUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -339,7 +339,7 @@ func (r *StaticFileChunkingStrategy) UnmarshalJSON(data []byte) error { // be used at the last possible moment before sending a request. Test for this with // StaticFileChunkingStrategyParam.Overrides() func (r StaticFileChunkingStrategy) ToParam() StaticFileChunkingStrategyParam { - return param.Override[StaticFileChunkingStrategyParam](r.RawJSON()) + return param.Override[StaticFileChunkingStrategyParam](json.RawMessage(r.RawJSON())) } // The properties ChunkOverlapTokens, MaxChunkSizeTokens are required. @@ -808,7 +808,7 @@ type VectorStoreSearchParamsQueryUnion struct { } func (u VectorStoreSearchParamsQueryUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[VectorStoreSearchParamsQueryUnion](u.OfString, u.OfStringArray) + return param.MarshalUnion(u, u.OfString, u.OfStringArray) } func (u *VectorStoreSearchParamsQueryUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -833,7 +833,7 @@ type VectorStoreSearchParamsFiltersUnion struct { } func (u VectorStoreSearchParamsFiltersUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[VectorStoreSearchParamsFiltersUnion](u.OfComparisonFilter, u.OfCompoundFilter) + return param.MarshalUnion(u, u.OfComparisonFilter, u.OfCompoundFilter) } func (u *VectorStoreSearchParamsFiltersUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/vectorstorefile.go b/vectorstorefile.go index bc04983..fedbb34 100644 --- a/vectorstorefile.go +++ b/vectorstorefile.go @@ -416,7 +416,7 @@ type VectorStoreFileNewParamsAttributeUnion struct { } func (u VectorStoreFileNewParamsAttributeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[VectorStoreFileNewParamsAttributeUnion](u.OfString, u.OfFloat, u.OfBool) + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) } func (u *VectorStoreFileNewParamsAttributeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) @@ -462,7 +462,7 @@ type VectorStoreFileUpdateParamsAttributeUnion struct { } func (u VectorStoreFileUpdateParamsAttributeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[VectorStoreFileUpdateParamsAttributeUnion](u.OfString, u.OfFloat, u.OfBool) + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) } func (u *VectorStoreFileUpdateParamsAttributeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u) diff --git a/vectorstorefilebatch.go b/vectorstorefilebatch.go index b9d3a15..7618cf5 100644 --- a/vectorstorefilebatch.go +++ b/vectorstorefilebatch.go @@ -292,7 +292,7 @@ type VectorStoreFileBatchNewParamsAttributeUnion struct { } func (u VectorStoreFileBatchNewParamsAttributeUnion) MarshalJSON() ([]byte, error) { - return param.MarshalUnion[VectorStoreFileBatchNewParamsAttributeUnion](u.OfString, u.OfFloat, u.OfBool) + return param.MarshalUnion(u, u.OfString, u.OfFloat, u.OfBool) } func (u *VectorStoreFileBatchNewParamsAttributeUnion) UnmarshalJSON(data []byte) error { return apijson.UnmarshalRoot(data, u)