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));
}
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: {
text: string;
cfg: OpenClawConfig;
@@ -675,12 +683,7 @@ export async function textToSpeech(params: {
voiceCompatible: output.voiceCompatible,
};
} catch (err) {
const error = err as Error;
if (error.name === "AbortError") {
lastError = `${provider}: request timed out`;
} else {
lastError = `${provider}: ${error.message}`;
}
lastError = formatTtsProviderError(provider, err);
}
}
@@ -769,12 +772,7 @@ export async function textToSpeechTelephony(params: {
sampleRate: output.sampleRate,
};
} catch (err) {
const error = err as Error;
if (error.name === "AbortError") {
lastError = `${provider}: request timed out`;
} else {
lastError = `${provider}: ${error.message}`;
}
lastError = formatTtsProviderError(provider, err);
}
}