From f026151ffbaa0d1a47dcc337e68b360141988255 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=BE=99=200668001470?=
Date: Mon, 16 Mar 2026 09:10:30 +0800
Subject: [PATCH] style(agent): satisfy golines in retry classification
---
pkg/agent/loop.go | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/pkg/agent/loop.go b/pkg/agent/loop.go
index 16f8b702d..a8774e15c 100644
--- a/pkg/agent/loop.go
+++ b/pkg/agent/loop.go
@@ -1152,15 +1152,17 @@ func (al *AgentLoop) runLLMIteration(
isTransientProviderError := classifiedErr != nil && classifiedErr.Reason == providers.FailoverTimeout
// Detect real context window / token limit errors, excluding network timeouts.
- isContextError := !isTimeoutError && !isTransientProviderError && (strings.Contains(errMsg, "context_length_exceeded") ||
- strings.Contains(errMsg, "context window") ||
- strings.Contains(errMsg, "maximum context length") ||
- strings.Contains(errMsg, "token limit") ||
- strings.Contains(errMsg, "too many tokens") ||
- strings.Contains(errMsg, "max_tokens") ||
- strings.Contains(errMsg, "invalidparameter") ||
- strings.Contains(errMsg, "prompt is too long") ||
- strings.Contains(errMsg, "request too large"))
+ isContextError := !isTimeoutError &&
+ !isTransientProviderError &&
+ (strings.Contains(errMsg, "context_length_exceeded") ||
+ strings.Contains(errMsg, "context window") ||
+ strings.Contains(errMsg, "maximum context length") ||
+ strings.Contains(errMsg, "token limit") ||
+ strings.Contains(errMsg, "too many tokens") ||
+ strings.Contains(errMsg, "max_tokens") ||
+ strings.Contains(errMsg, "invalidparameter") ||
+ strings.Contains(errMsg, "prompt is too long") ||
+ strings.Contains(errMsg, "request too large"))
if (isTimeoutError || isTransientProviderError) && retry < maxRetries {
backoff := time.Duration(retry+1) * 5 * time.Second