mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
fix(OpenAI Node): Do not report openai RateLimitErrors to Sentry (no-changelog) (#13637)
This commit is contained in:
parent
139b5b378d
commit
bd87728215
|
@ -1,3 +1,4 @@
|
||||||
|
import { OperationalError } from 'n8n-workflow';
|
||||||
import { RateLimitError } from 'openai';
|
import { RateLimitError } from 'openai';
|
||||||
import { OpenAIError } from 'openai/error';
|
import { OpenAIError } from 'openai/error';
|
||||||
|
|
||||||
|
@ -41,7 +42,9 @@ describe('error-handling', () => {
|
||||||
try {
|
try {
|
||||||
openAiFailedAttemptHandler(error);
|
openAiFailedAttemptHandler(error);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
expect(e).toBe(error);
|
expect(e).toBeInstanceOf(OperationalError);
|
||||||
|
expect(e.level).toBe('warning');
|
||||||
|
expect(e.cause).toBe(error);
|
||||||
expect(e.message).toBe('OpenAI: Rate limit reached');
|
expect(e.message).toBe('OpenAI: Rate limit reached');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { OperationalError } from 'n8n-workflow';
|
||||||
import { RateLimitError } from 'openai';
|
import { RateLimitError } from 'openai';
|
||||||
import { OpenAIError } from 'openai/error';
|
import { OpenAIError } from 'openai/error';
|
||||||
|
|
||||||
|
@ -20,17 +21,8 @@ export const openAiFailedAttemptHandler = (error: any) => {
|
||||||
// If the error is a rate limit error, we want to handle it differently
|
// If the error is a rate limit error, we want to handle it differently
|
||||||
// because OpenAI has multiple different rate limit errors
|
// because OpenAI has multiple different rate limit errors
|
||||||
const errorCode = error?.code;
|
const errorCode = error?.code;
|
||||||
if (errorCode) {
|
const errorMessage =
|
||||||
const customErrorMessage = getCustomErrorMessage(errorCode);
|
getCustomErrorMessage(errorCode ?? 'rate_limit_exceeded') ?? errorMap.rate_limit_exceeded;
|
||||||
|
throw new OperationalError(errorMessage, { cause: error });
|
||||||
if (customErrorMessage) {
|
|
||||||
if (error.error) {
|
|
||||||
(error.error as { message: string }).message = customErrorMessage;
|
|
||||||
error.message = customErrorMessage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw error;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue