diff --git a/providers/google/google.go b/providers/google/google.go index 097e8c52c0f7f8a0b93a69ba1618b4d151d4c6f6..de210ab26fc0e2c880c4b2323e7f23aac0ea0062 100644 --- a/providers/google/google.go +++ b/providers/google/google.go @@ -1088,10 +1088,7 @@ func (g *languageModel) streamObjectWithJSONMode(ctx context.Context, call fanta // Final validation and emit if streamErr == nil && lastParsedObject != nil { - finishReason := lastFinishReason - if finishReason == "" { - finishReason = fantasy.FinishReasonStop - } + finishReason := cmp.Or(lastFinishReason, fantasy.FinishReasonStop) var finalUsage fantasy.Usage if usage != nil { @@ -1105,7 +1102,7 @@ func (g *languageModel) streamObjectWithJSONMode(ctx context.Context, call fanta }) } else if streamErr == nil && lastParsedObject == nil { // No object was generated - finalUsage := fantasy.Usage{} + var finalUsage fantasy.Usage if usage != nil { finalUsage = *usage } @@ -1130,7 +1127,7 @@ func toGoogleTools(tools []fantasy.Tool, toolChoice *fantasy.ToolChoice) (google continue } - required := []string{} + var required []string var properties map[string]any if props, ok := ft.InputSchema["properties"]; ok { properties, _ = props.(map[string]any)