diff --git a/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml b/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml index b610c3d44..9f04f6364 100644 --- a/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml +++ b/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml @@ -111,6 +111,14 @@ ApiStrategy { return ({}) } + // Error response handling + if (dataJson.error) { + const errorMsg = `**Error ${dataJson.error.code}**: ${dataJson.error.message}`; + message.rawContent += errorMsg; + message.content += errorMsg; + return { finished: true }; + } + // No candidates? if (!dataJson.candidates) return {}; diff --git a/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml b/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml index 14cd1a17a..9a37df096 100644 --- a/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml +++ b/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml @@ -58,8 +58,17 @@ ApiStrategy { // Real stuff try { const dataJson = JSON.parse(cleanData); + + // Error response handling + if (dataJson.error) { + const errorMsg = `**Error**: ${dataJson.error.message || JSON.stringify(dataJson.error)}`; + message.rawContent += errorMsg; + message.content += errorMsg; + return { finished: true }; + } + let newContent = ""; - + const responseContent = dataJson.choices[0]?.delta?.content || dataJson.message?.content; const responseReasoning = dataJson.choices[0]?.delta?.reasoning || dataJson.choices[0]?.delta?.reasoning_content; diff --git a/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml b/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml index 1178c837f..a049abf30 100644 --- a/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml +++ b/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml @@ -49,8 +49,17 @@ ApiStrategy { // Real stuff try { const dataJson = JSON.parse(cleanData); + + // Error response handling + if (dataJson.error) { + const errorMsg = `**Error**: ${dataJson.error.message || JSON.stringify(dataJson.error)}`; + message.rawContent += errorMsg; + message.content += errorMsg; + return { finished: true }; + } + let newContent = ""; - + const responseContent = dataJson.choices[0]?.delta?.content || dataJson.message?.content; const responseReasoning = dataJson.choices[0]?.delta?.reasoning || dataJson.choices[0]?.delta?.reasoning_content;