diff --git a/internal/ai/bailian_tts.go b/internal/ai/bailian_tts.go index 113e982..190ea3f 100644 --- a/internal/ai/bailian_tts.go +++ b/internal/ai/bailian_tts.go @@ -126,7 +126,17 @@ func bailianFailureSummary(err error) (string, int) { } } for _, item := range []struct{ prefix, kind string }{ + {"Bailian TTS requires the configured ffmpeg audio converter", "missing_converter"}, + {"approved Bailian TTS settings or text are incomplete", "invalid_settings"}, + {"encode approved Bailian request", "request_encoding"}, + {"create approved Bailian request", "request_construction"}, + {"approved Bailian endpoint:", "invalid_endpoint"}, + {"Bailian TTS response is unreadable or oversized", "invalid_response"}, {"Bailian TTS response has no complete audio reference", "missing_audio"}, + {"Bailian TTS audio reference is invalid", "invalid_audio_reference"}, + {"create Bailian audio request", "audio_request_construction"}, + {"Bailian audio is empty, unreadable or oversized", "invalid_audio"}, + {"Bailian TTS PCM exceeds approved media ceiling", "pcm_ceiling"}, {"Bailian TTS request failed:", "generation_transport"}, {"Bailian audio download failed:", "audio_transport"}, {"Bailian audio conversion failed:", "audio_conversion"}, diff --git a/internal/ai/bailian_tts_test.go b/internal/ai/bailian_tts_test.go index 5cae02c..9a86678 100644 --- a/internal/ai/bailian_tts_test.go +++ b/internal/ai/bailian_tts_test.go @@ -59,6 +59,12 @@ func TestBailianFailureSummaryNeverLogsProviderPayload(t *testing.T) { {"Bailian TTS rejected request: HTTP 403", "generation_http", 403}, {"Bailian audio download rejected: HTTP 502", "audio_http", 502}, {"Bailian TTS response has no complete audio reference", "missing_audio", 0}, + {"Bailian TTS requires the configured ffmpeg audio converter", "missing_converter", 0}, + {"approved Bailian TTS settings or text are incomplete", "invalid_settings", 0}, + {"Bailian TTS response is unreadable or oversized", "invalid_response", 0}, + {"Bailian TTS audio reference is invalid", "invalid_audio_reference", 0}, + {"Bailian audio is empty, unreadable or oversized", "invalid_audio", 0}, + {"approved Bailian endpoint: HTTPS URL required outside isolated local Mock", "invalid_endpoint", 0}, {"Authorization: Bearer private-signature and prompt", "unknown", 0}, } { kind, status := bailianFailureSummary(errors.New(tc.message))