From d9a65745df6eefbe0b69145d6544d7b6c3af555f Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Mon, 15 Dec 2025 20:35:52 +0800 Subject: [PATCH] fix(translator): handle empty item type and string content in OpenAI response parser --- .../openai/responses/openai_openai-responses_request.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/translator/openai/openai/responses/openai_openai-responses_request.go b/internal/translator/openai/openai/responses/openai_openai-responses_request.go index f8bcb7b1..687c2a30 100644 --- a/internal/translator/openai/openai/responses/openai_openai-responses_request.go +++ b/internal/translator/openai/openai/responses/openai_openai-responses_request.go @@ -65,7 +65,7 @@ func ConvertOpenAIResponsesRequestToOpenAIChatCompletions(modelName string, inpu } switch itemType { - case "message": + case "message", "": // Handle regular message conversion role := item.Get("role").String() message := `{"role":"","content":""}` @@ -107,6 +107,8 @@ func ConvertOpenAIResponsesRequestToOpenAIChatCompletions(modelName string, inpu if len(toolCalls) > 0 { message, _ = sjson.Set(message, "tool_calls", toolCalls) } + } else if content.Type == gjson.String { + message, _ = sjson.Set(message, "content", content.String()) } out, _ = sjson.SetRaw(out, "messages.-1", message)