refactor(tts): dedupe provider error formatting

This commit is contained in:
Peter Steinberger
2026-02-15 13:32:35 +00:00
parent 9f9978635c
commit 80e5aebf6a

View File

@@ -519,6 +519,14 @@ export function isTtsProviderConfigured(config: ResolvedTtsConfig, provider: Tts
return Boolean(resolveTtsApiKey(config, provider)); return Boolean(resolveTtsApiKey(config, provider));
} }
function formatTtsProviderError(provider: TtsProvider, err: unknown): string {
const error = err instanceof Error ? err : new Error(String(err));
if (error.name === "AbortError") {
return `${provider}: request timed out`;
}
return `${provider}: ${error.message}`;
}
export async function textToSpeech(params: { export async function textToSpeech(params: {
text: string; text: string;
cfg: OpenClawConfig; cfg: OpenClawConfig;
@@ -675,12 +683,7 @@ export async function textToSpeech(params: {
voiceCompatible: output.voiceCompatible, voiceCompatible: output.voiceCompatible,
}; };
} catch (err) { } catch (err) {
const error = err as Error; lastError = formatTtsProviderError(provider, err);
if (error.name === "AbortError") {
lastError = `${provider}: request timed out`;
} else {
lastError = `${provider}: ${error.message}`;
}
} }
} }
@@ -769,12 +772,7 @@ export async function textToSpeechTelephony(params: {
sampleRate: output.sampleRate, sampleRate: output.sampleRate,
}; };
} catch (err) { } catch (err) {
const error = err as Error; lastError = formatTtsProviderError(provider, err);
if (error.name === "AbortError") {
lastError = `${provider}: request timed out`;
} else {
lastError = `${provider}: ${error.message}`;
}
} }
} }