From f8ca4ca95e796b10c05250cac52d7c51b0404ca0 Mon Sep 17 00:00:00 2001 From: yushen Date: Thu, 12 Feb 2026 14:43:33 +0800 Subject: [PATCH] feat(agent): add isContextOverflowError utility Detects context overflow 400 errors from various LLM providers (prompt too long, context length exceeded, request too large, etc.) for use in auto-compaction recovery. Co-Authored-By: Claude Opus 4.6 --- packages/core/src/agent/errors.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 packages/core/src/agent/errors.ts diff --git a/packages/core/src/agent/errors.ts b/packages/core/src/agent/errors.ts new file mode 100644 index 00000000..7f51bfce --- /dev/null +++ b/packages/core/src/agent/errors.ts @@ -0,0 +1,21 @@ +/** + * Error classification utilities for agent error handling. + */ + +/** + * Check if an error is a context overflow / "prompt too long" error from any LLM provider. + * + * These errors indicate the request exceeded the model's context window and should + * trigger auto-compaction rather than auth profile rotation. + */ +export function isContextOverflowError(error: unknown): boolean { + const msg = (error instanceof Error ? error.message : String(error)).toLowerCase(); + return ( + msg.includes("prompt is too long") || + msg.includes("context length exceeded") || + msg.includes("maximum context length") || + msg.includes("request_too_large") || + msg.includes("request size exceeds") || + (msg.includes("413") && msg.includes("too large")) + ); +}