@@ -69,19 +69,16 @@ func (g *geminiClient) convertMessages(messages []message.Message) []*genai.Cont
69 Role: "user",
69 Role: "user",
71 case message.Assistant:
71 case message.Assistant:
72− content := &genai.Content{
74− Parts: []*genai.Part{},
72+ var assistantParts []*genai.Part
77 if msg.Content().String() != "" {
74 if msg.Content().String() != "" {
78− content.Parts = append(content.Parts, &genai.Part{Text: msg.Content().String()})
75+ assistantParts = append(assistantParts, &genai.Part{Text: msg.Content().String()})
81 if len(msg.ToolCalls()) > 0 {
78 if len(msg.ToolCalls()) > 0 {
82 for _, call := range msg.ToolCalls() {
79 for _, call := range msg.ToolCalls() {
83 args, _ := parseJsonToMap(call.Input)
80 args, _ := parseJsonToMap(call.Input)
84− content.Parts = append(content.Parts, &genai.Part{
81+ assistantParts = append(assistantParts, &genai.Part{
85 FunctionCall: &genai.FunctionCall{
82 FunctionCall: &genai.FunctionCall{
86 Name: call.Name,
83 Name: call.Name,
87 Args: args,
84 Args: args,
@@ -90,7 +87,12 @@ func (g *geminiClient) convertMessages(messages []message.Message) []*genai.Cont
90+ if len(assistantParts) > 0 {
93− history = append(history, content)
91+ history = append(history, &genai.Content{
93+ Parts: assistantParts,
95 case message.Tool:
97 case message.Tool:
96 for _, result := range msg.ToolResults() {
98 for _, result := range msg.ToolResults() {