Add OpenRouter filtered reason display
This commit is contained in:
parent
958cf6a373
commit
107fe85543
|
@ -1160,6 +1160,7 @@ function tryParseStreamingError(response, decoded) {
|
|||
}
|
||||
|
||||
checkQuotaError(data);
|
||||
checkModerationError(data);
|
||||
|
||||
if (data.error) {
|
||||
toastr.error(data.error.message || response.statusText, 'Chat Completion API');
|
||||
|
@ -1187,6 +1188,15 @@ function checkQuotaError(data) {
|
|||
}
|
||||
}
|
||||
|
||||
function checkModerationError(data) {
|
||||
const moderationError = data?.error?.message?.includes('requires moderation');
|
||||
if (moderationError) {
|
||||
const moderationReason = `Reasons: ${data?.error?.metadata?.reasons?.join(', ') ?? '(N/A)'}`;
|
||||
const flaggedText = data?.error?.metadata?.flagged_input ?? '(N/A)';
|
||||
toastr.info(flaggedText, moderationReason, { timeOut: 10000 });
|
||||
}
|
||||
}
|
||||
|
||||
async function sendWindowAIRequest(messages, signal, stream) {
|
||||
if (!('ai' in window)) {
|
||||
return showWindowExtensionError();
|
||||
|
@ -1688,6 +1698,7 @@ async function sendOpenAIRequest(type, messages, signal) {
|
|||
const data = await response.json();
|
||||
|
||||
checkQuotaError(data);
|
||||
checkModerationError(data);
|
||||
|
||||
if (data.error) {
|
||||
toastr.error(data.error.message || response.statusText, 'API returned an error');
|
||||
|
|
|
@ -831,7 +831,7 @@ router.post('/generate', jsonParser, function (request, response) {
|
|||
let json = await fetchResponse.json();
|
||||
response.send(json);
|
||||
console.log(json);
|
||||
console.log(json?.choices[0]?.message);
|
||||
console.log(json?.choices?.[0]?.message);
|
||||
} else if (fetchResponse.status === 429 && retries > 0) {
|
||||
console.log(`Out of quota, retrying in ${Math.round(timeout / 1000)}s`);
|
||||
setTimeout(() => {
|
||||
|
|
Loading…
Reference in New Issue