fix
This commit is contained in:
@@ -68,8 +68,8 @@ func truncateRunes(s string, max int) string {
|
||||
}
|
||||
|
||||
const (
|
||||
publicErrProcessingFailed = "processing_failed"
|
||||
publicErrProviderUnavailable = "provider_unavailable"
|
||||
publicErrProcessingFailed = "processing_failed"
|
||||
publicErrProviderUnavailable = "provider_unavailable"
|
||||
)
|
||||
|
||||
// TruncateError returns a safe, short error string for DB storage / API clients.
|
||||
@@ -139,6 +139,9 @@ func PublicV1Error(msg string) string {
|
||||
if code := mapPublicErrorCode(cleaned); code != "" {
|
||||
return code
|
||||
}
|
||||
if code := mapPublicV1FallbackCode(cleaned); code != "" {
|
||||
return code
|
||||
}
|
||||
if looksLikeInternalProviderError(cleaned) {
|
||||
return publicErrProcessingFailed
|
||||
}
|
||||
@@ -172,10 +175,6 @@ func mapPublicErrorCode(msg string) string {
|
||||
return publicErrProviderUnavailable
|
||||
case strings.Contains(lower, "ai_enhance: skipped"):
|
||||
return publicErrProcessingFailed
|
||||
case strings.Contains(lower, "unavailable"),
|
||||
strings.Contains(lower, "http 503"),
|
||||
strings.Contains(lower, "overloaded"):
|
||||
return publicErrProviderUnavailable
|
||||
case strings.Contains(lower, "openai"),
|
||||
strings.Contains(lower, "gpt-"),
|
||||
strings.Contains(lower, " for model"):
|
||||
@@ -184,6 +183,17 @@ func mapPublicErrorCode(msg string) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func mapPublicV1FallbackCode(msg string) string {
|
||||
lower := strings.ToLower(strings.TrimSpace(msg))
|
||||
switch {
|
||||
case strings.Contains(lower, "unavailable"),
|
||||
strings.Contains(lower, "http 503"),
|
||||
strings.Contains(lower, "overloaded"):
|
||||
return publicErrProviderUnavailable
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func looksLikeInternalProviderError(msg string) bool {
|
||||
lower := strings.ToLower(msg)
|
||||
for _, n := range []string{
|
||||
|
||||
Reference in New Issue
Block a user