mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
Add error messaging for 429 errors (#1316)
This commit is contained in:
@@ -233,7 +233,9 @@ describe('Turn', () => {
|
||||
expect(events.length).toBe(1);
|
||||
const errorEvent = events[0] as ServerGeminiErrorEvent;
|
||||
expect(errorEvent.type).toBe(GeminiEventType.Error);
|
||||
expect(errorEvent.value).toEqual({ message: 'API Error' });
|
||||
expect(errorEvent.value).toEqual({
|
||||
error: { message: 'API Error', status: undefined },
|
||||
});
|
||||
expect(turn.getDebugResponses().length).toBe(0);
|
||||
expect(reportError).toHaveBeenCalledWith(
|
||||
error,
|
||||
|
||||
@@ -49,8 +49,13 @@ export enum GeminiEventType {
|
||||
Thought = 'thought',
|
||||
}
|
||||
|
||||
export interface GeminiErrorEventValue {
|
||||
export interface StructuredError {
|
||||
message: string;
|
||||
status?: number;
|
||||
}
|
||||
|
||||
export interface GeminiErrorEventValue {
|
||||
error: StructuredError;
|
||||
}
|
||||
|
||||
export interface ToolCallRequestInfo {
|
||||
@@ -236,8 +241,18 @@ export class Turn {
|
||||
contextForReport,
|
||||
'Turn.run-sendMessageStream',
|
||||
);
|
||||
const errorMessage = getErrorMessage(error);
|
||||
yield { type: GeminiEventType.Error, value: { message: errorMessage } };
|
||||
const status =
|
||||
typeof error === 'object' &&
|
||||
error !== null &&
|
||||
'status' in error &&
|
||||
typeof (error as { status: unknown }).status === 'number'
|
||||
? (error as { status: number }).status
|
||||
: undefined;
|
||||
const structuredError: StructuredError = {
|
||||
message: getErrorMessage(error),
|
||||
status,
|
||||
};
|
||||
yield { type: GeminiEventType.Error, value: { error: structuredError } };
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user