Skip to content

Commit 4fc6c2c

Browse files
ghost91-Adrian Mârza
authored andcommitted
fix(core): detect context_length_exceeded in API call errors (backport B1 #17748)
Parse response body for error code so providers returning context_length_exceeded are correctly classified as context overflow. Upstream: anomalyco/opencode#17748 (e718db6)
1 parent 1a8bc7e commit 4fc6c2c

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

packages/opencode/src/provider/error.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ export namespace ProviderError {
167167

168168
export function parseAPICallError(input: { providerID: ProviderID; error: APICallError }): ParsedAPICallError {
169169
const m = message(input.providerID, input.error)
170-
if (isOverflow(m) || input.error.statusCode === 413) {
170+
const body = json(input.error.responseBody)
171+
if (isOverflow(m) || input.error.statusCode === 413 || body?.error?.code === "context_length_exceeded") {
171172
return {
172173
type: "context_overflow",
173174
message: m,

0 commit comments

Comments
 (0)