fix: enhance 429 error handling and fix failed cases

This commit is contained in:
mingholy.lmh 2025-12-01 16:18:18 +08:00
parent 3056f8a63d
commit 50e3a6ee0a
7 changed files with 68 additions and 43 deletions

View file

@ -17,6 +17,7 @@ import {
OutputFormat,
InputFormat,
uiTelemetryService,
parseAndFormatApiError,
} from '@qwen-code/qwen-code-core';
import type { Content, Part, PartListUnion } from '@google/genai';
import type { CLIUserMessage, PermissionMode } from './nonInteractive/types.js';
@ -210,6 +211,15 @@ export async function runNonInteractive(
process.stdout.write(event.value);
} else if (event.type === GeminiEventType.ToolCallRequest) {
toolCallRequests.push(event.value);
} else if (event.type === GeminiEventType.Error) {
// Format and output the error message for text mode
const errorText = parseAndFormatApiError(
event.value.error,
config.getContentGeneratorConfig()?.authType,
undefined,
config.getModel(),
);
process.stderr.write(`${errorText}\n`);
}
}
}