From 5c26c7e2fa2f9b71b9f0afc01f18b13b1a048a93 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Thu, 28 Aug 2025 13:40:10 -0300 Subject: [PATCH] refactor: simplify code with `cmp.Or` --- internal/ai/agent.go | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/internal/ai/agent.go b/internal/ai/agent.go index 54a83a56394f1e92cd2803dcf1cad87567829aaa..e4692767d78a5b7cc5586cc016ccef59f786e912 100644 --- a/internal/ai/agent.go +++ b/internal/ai/agent.go @@ -1,6 +1,7 @@ package ai import ( + "cmp" "context" "encoding/json" "errors" @@ -230,24 +231,14 @@ func NewAgent(model LanguageModel, opts ...AgentOption) Agent { } func (a *agent) prepareCall(call AgentCall) AgentCall { - if call.MaxOutputTokens == nil && a.settings.maxOutputTokens != nil { - call.MaxOutputTokens = a.settings.maxOutputTokens - } - if call.Temperature == nil && a.settings.temperature != nil { - call.Temperature = a.settings.temperature - } - if call.TopP == nil && a.settings.topP != nil { - call.TopP = a.settings.topP - } - if call.TopK == nil && a.settings.topK != nil { - call.TopK = a.settings.topK - } - if call.PresencePenalty == nil && a.settings.presencePenalty != nil { - call.PresencePenalty = a.settings.presencePenalty - } - if call.FrequencyPenalty == nil && a.settings.frequencyPenalty != nil { - call.FrequencyPenalty = a.settings.frequencyPenalty - } + call.MaxOutputTokens = cmp.Or(call.MaxOutputTokens, a.settings.maxOutputTokens) + call.Temperature = cmp.Or(call.Temperature, a.settings.temperature) + call.TopP = cmp.Or(call.TopP, a.settings.topP) + call.TopK = cmp.Or(call.TopK, a.settings.topK) + call.PresencePenalty = cmp.Or(call.PresencePenalty, a.settings.presencePenalty) + call.FrequencyPenalty = cmp.Or(call.FrequencyPenalty, a.settings.frequencyPenalty) + call.MaxRetries = cmp.Or(call.MaxRetries, a.settings.maxRetries) + if len(call.StopWhen) == 0 && len(a.settings.stopWhen) > 0 { call.StopWhen = a.settings.stopWhen } @@ -260,9 +251,6 @@ func (a *agent) prepareCall(call AgentCall) AgentCall { if call.OnRetry == nil && a.settings.onRetry != nil { call.OnRetry = a.settings.onRetry } - if call.MaxRetries == nil && a.settings.maxRetries != nil { - call.MaxRetries = a.settings.maxRetries - } providerOptions := ProviderOptions{} if a.settings.providerOptions != nil {