From 71bca980cce575bf79b1f91e206fb941577dbfc0 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Thu, 28 Aug 2025 12:35:38 -0400 Subject: [PATCH] fix: assistant message --- internal/llm/provider/openai.go | 39 ++++++++++----------------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/internal/llm/provider/openai.go b/internal/llm/provider/openai.go index ffed9325e0a70fb86ffe2fecd5b7f00e63e3e215..b26ef3477a82edd349236194d215ed805774f2fa 100644 --- a/internal/llm/provider/openai.go +++ b/internal/llm/provider/openai.go @@ -125,33 +125,7 @@ func (o *openaiClient) convertMessages(messages []message.Message) (openaiMessag Role: "assistant", } - hasContent := false - if msg.Content().String() != "" { - hasContent = true - textBlock := openai.ChatCompletionContentPartTextParam{Text: msg.Content().String()} - if cache && !o.providerOptions.disableCache && isAnthropicModel { - textBlock.SetExtraFields(map[string]any{ - "cache_control": map[string]string{ - "type": "ephemeral", - }, - }) - } - assistantMsg.Content = openai.ChatCompletionAssistantMessageParamContentUnion{ - OfArrayOfContentParts: []openai.ChatCompletionAssistantMessageParamContentArrayOfContentPartUnion{ - { - OfText: &textBlock, - }, - }, - } - if !isAnthropicModel { - assistantMsg.Content = openai.ChatCompletionAssistantMessageParamContentUnion{ - OfString: param.NewOpt(msg.Content().String()), - } - } - } - if len(msg.ToolCalls()) > 0 { - hasContent = true assistantMsg.ToolCalls = make([]openai.ChatCompletionMessageToolCallParam, len(msg.ToolCalls())) for i, call := range msg.ToolCalls() { assistantMsg.ToolCalls[i] = openai.ChatCompletionMessageToolCallParam{ @@ -164,10 +138,19 @@ func (o *openaiClient) convertMessages(messages []message.Message) (openaiMessag } } } - if !hasContent { - continue + if msg.Content().String() != "" { + assistantMsg.Content = openai.ChatCompletionAssistantMessageParamContentUnion{ + OfString: param.NewOpt(msg.Content().Text), + } } + if cache && !o.providerOptions.disableCache && isAnthropicModel { + assistantMsg.SetExtraFields(map[string]any{ + "cache_control": map[string]string{ + "type": "ephemeral", + }, + }) + } openaiMessages = append(openaiMessages, openai.ChatCompletionMessageParamUnion{ OfAssistant: &assistantMsg, })