@@ -221,7 +221,10 @@ func (g *geminiClient) send(ctx context.Context, messages []message.Message, too
224+ finishReason := message.FinishReasonEndTurn
225+ if len(resp.Candidates) > 0 {
224− finishReason := g.finishReason(resp.Candidates[0].FinishReason)
226+ finishReason = g.finishReason(resp.Candidates[0].FinishReason)
225 if len(toolCalls) > 0 {
228 if len(toolCalls) > 0 {
226 finishReason = message.FinishReasonToolUse
229 finishReason = message.FinishReasonToolUse
@@ -350,7 +353,11 @@ func (g *geminiClient) stream(ctx context.Context, messages []message.Message, t
350 eventChan <- ProviderEvent{Type: EventContentStop}
353 eventChan <- ProviderEvent{Type: EventContentStop}
352 if finalResp != nil {
355 if finalResp != nil {
357+ finishReason := message.FinishReasonEndTurn
358+ if len(finalResp.Candidates) > 0 {
353− finishReason := g.finishReason(finalResp.Candidates[0].FinishReason)
359+ finishReason = g.finishReason(finalResp.Candidates[0].FinishReason)
354 if len(toolCalls) > 0 {
361 if len(toolCalls) > 0 {
355 finishReason = message.FinishReasonToolUse
362 finishReason = message.FinishReasonToolUse