Skip to content

Commit f18f5b5

Browse files
committed
modelerrors: unexport IsRetryableModelError
The only caller outside the package is ClassifyModelError itself (as a fallback path). ClassifyModelError is the intended public API and provides strictly more information (retryable + rateLimited + retryAfter). Rename to isRetryableModelError to reduce API surface. Assisted-By: docker-agent
1 parent 8485131 commit f18f5b5

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

pkg/modelerrors/modelerrors.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,8 @@ func IsRetryableStatusCode(statusCode int) bool {
220220
}
221221
}
222222

223-
// IsRetryableModelError determines if an error should trigger a retry of the SAME model.
223+
// isRetryableModelError determines if an error should trigger a retry of the SAME model.
224+
// It is used as a fallback by ClassifyModelError when no *StatusError is present.
224225
//
225226
// Retryable errors (retry same model with backoff):
226227
// - Network timeouts
@@ -238,7 +239,7 @@ func IsRetryableStatusCode(statusCode int) bool {
238239
//
239240
// The key distinction is: 429 means "you're calling too fast, slow down" which
240241
// suggests we should try a different model, not keep hammering the same one.
241-
func IsRetryableModelError(err error) bool {
242+
func isRetryableModelError(err error) bool {
242243
if err == nil {
243244
return false
244245
}
@@ -404,7 +405,7 @@ func ClassifyModelError(err error) (retryable, rateLimited bool, retryAfter time
404405
if statusCode != 0 {
405406
return IsRetryableStatusCode(statusCode), false, 0
406407
}
407-
return IsRetryableModelError(err), false, 0
408+
return isRetryableModelError(err), false, 0
408409
}
409410

410411
// CalculateBackoff returns the backoff duration for a given attempt (0-indexed).

pkg/modelerrors/modelerrors_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func TestIsRetryableModelError(t *testing.T) {
6666
for _, tt := range tests {
6767
t.Run(tt.name, func(t *testing.T) {
6868
t.Parallel()
69-
assert.Equal(t, tt.expected, IsRetryableModelError(tt.err), "IsRetryableModelError(%v)", tt.err)
69+
assert.Equal(t, tt.expected, isRetryableModelError(tt.err), "isRetryableModelError(%v)", tt.err)
7070
})
7171
}
7272
}
@@ -252,7 +252,7 @@ func TestIsRetryableModelError_ContextOverflow(t *testing.T) {
252252
for _, tt := range tests {
253253
t.Run(tt.name, func(t *testing.T) {
254254
t.Parallel()
255-
assert.False(t, IsRetryableModelError(tt.err), "context overflow errors should not be retryable: %v", tt.err)
255+
assert.False(t, isRetryableModelError(tt.err), "context overflow errors should not be retryable: %v", tt.err)
256256
})
257257
}
258258
}

0 commit comments

Comments
 (0)