fix: avoid inferred retry failure reason

This commit is contained in:
temp
2026-08-24 14:48:37 +08:00
parent a67761e843
commit b47f8df3b0
2 changed files with 4 additions and 5 deletions
@@ -143,8 +143,7 @@ func einoUserFacingRunError(err error) einoRunUserError {
} }
out.rawLastError = strings.TrimSpace(lastErr.Error()) out.rawLastError = strings.TrimSpace(lastErr.Error())
if isEinoShouldRetryOutputRejected(lastErr) { if isEinoShouldRetryOutputRejected(lastErr) {
out.kind = "empty_model_output" out.kind = "model_output_rejected"
out.summary = "模型输出被重试策略拒绝;常见原因是空内容或缺少有效输出。"
out.message = formatEinoRetryExhaustedMessage(out.rawLastError, retryErr.TotalRetries) out.message = formatEinoRetryExhaustedMessage(out.rawLastError, retryErr.TotalRetries)
return out return out
} }
@@ -87,11 +87,11 @@ func TestEinoRunErrorHandlerRetryExhaustedEmptyOutputProgress(t *testing.T) {
!strings.Contains(message, "model output rejected by ShouldRetry at attempt 5") { !strings.Contains(message, "model output rejected by ShouldRetry at attempt 5") {
t.Fatalf("message = %q", message) t.Fatalf("message = %q", message)
} }
if data["errorKind"] != "empty_model_output" { if data["errorKind"] != "model_output_rejected" {
t.Fatalf("errorKind = %#v", data["errorKind"]) t.Fatalf("errorKind = %#v", data["errorKind"])
} }
if data["errorSummary"] != "模型输出被重试策略拒绝;常见原因是空内容或缺少有效输出。" { if _, ok := data["errorSummary"]; ok {
t.Fatalf("errorSummary = %#v", data["errorSummary"]) t.Fatalf("errorSummary should not infer a reason, got %#v", data["errorSummary"])
} }
if data["retryExhausted"] != true || data["totalRetries"] != 4 { if data["retryExhausted"] != true || data["totalRetries"] != 4 {
t.Fatalf("retry metadata = %#v", data) t.Fatalf("retry metadata = %#v", data)