From 2968a2ab0be23c90a7e69e1c461e96675063408e Mon Sep 17 00:00:00 2001 From: MagMueller Date: Thu, 30 Jul 2026 13:16:33 -0700 Subject: [PATCH] fix(llm): compact on provider image limits --- packages/llm/src/provider-error.ts | 1 + packages/llm/test/provider-error.test.ts | 1 + packages/opencode/test/session/message-v2.test.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/llm/src/provider-error.ts b/packages/llm/src/provider-error.ts index f8b8a5c013..fb2ec7c4c0 100644 --- a/packages/llm/src/provider-error.ts +++ b/packages/llm/src/provider-error.ts @@ -29,6 +29,7 @@ const patterns = [ /model_context_window_exceeded/i, /too many tokens/i, /token limit exceeded/i, + /too many images (?:were )?provided/i, ] const exclusions = [/^(throttling error|service unavailable):/i, /rate limit/i, /too many requests/i] diff --git a/packages/llm/test/provider-error.test.ts b/packages/llm/test/provider-error.test.ts index c418596964..265962e721 100644 --- a/packages/llm/test/provider-error.test.ts +++ b/packages/llm/test/provider-error.test.ts @@ -13,6 +13,7 @@ describe("provider error classification", () => { "Prompt has 5,958,968 tokens, but the configured context size is 256,000 tokens", "Too many tokens", "Token limit exceeded", + "Too many images were provided, we currently limit the number of images per conversation to 60", ] expect(messages.every(isContextOverflow)).toBe(true) diff --git a/packages/opencode/test/session/message-v2.test.ts b/packages/opencode/test/session/message-v2.test.ts index ce1927be34..54a9086053 100644 --- a/packages/opencode/test/session/message-v2.test.ts +++ b/packages/opencode/test/session/message-v2.test.ts @@ -1462,6 +1462,7 @@ describe("session.message-v2.fromError", () => { "Please reduce the length of the messages or completion", "400 status code (no body)", "413 status code (no body)", + "Too many images were provided, we currently limit the number of images per conversation to 60", ] cases.forEach((message) => {