refactor config validation to use provider registry
- use provider.GetProvider() for provider validation - use provider.GetModel() for model validation - use p.RequiresAPIKey() for API key checks - warn for unrecognized language codes (don't error) - add ValidateModelLanguageCompatibility for model-language checks - remove hardcoded isValidLanguageCode function
This commit is contained in:
@@ -441,4 +441,21 @@ Started: Sun Feb 1 12:22:47 AM CET 2026
|
||||
- Reconnection logic with exponential backoff (multiple reconnect tests)
|
||||
- Close cleanup (TestElevenLabsStreamingAdapter_Close, TestOpenAIRealtimeAdapter_Close)
|
||||
- `go test -race ./internal/transcriber/...` passes with no race conditions
|
||||
- All tests passing, typecheck passes
|
||||
|
||||
### Task 41: Update config validation to use provider registry
|
||||
- Refactored `internal/config/validate.go` to use provider registry
|
||||
- Added `mapConfigProviderToRegistryName()` to map config names to registry names
|
||||
- Added `envVarForProvider()` helper for error messages
|
||||
- Provider validation now uses `provider.GetProvider()` instead of hardcoded switch
|
||||
- Model validation now uses `provider.GetModel()` to verify model exists
|
||||
- API key validation uses `p.RequiresAPIKey()` - local providers (whisper-cpp) skip this check
|
||||
- Language validation: warns for unrecognized codes (log.Printf) but doesn't error
|
||||
- Added `ValidateModelLanguageCompatibility(registryProvider, modelID, langCode)`:
|
||||
- Returns nil for auto language ("")
|
||||
- Checks `model.SupportsLanguage(langCode)`
|
||||
- Returns error with model name, language, and truncated list of supported languages
|
||||
- LLM validation also refactored to use registry
|
||||
- Removed old hardcoded `isValidLanguageCode()` function
|
||||
- Updated tests: replaced TestIsValidLanguageCode with TestValidateModelLanguageCompatibility
|
||||
- All tests passing, typecheck passes
|
||||
Reference in New Issue
Block a user