refactor provider interface to return models with metadata

- replaced old TranscriptionModels/LLMModels/SupportsX methods with Models() []Model
- added DefaultModel(t ModelType), IsLocal() to interface
- added helpers: GetModel, ModelsOfType, FindModelByID, ModelsForLanguage, ValidateModelLanguage
- all providers now return full Model metadata with SupportedLanguages, AdapterType, Endpoint
- groq distil-whisper-large-v3-en marked as english-only
- updated TUI to use new interface
This commit is contained in:
leonardotrapani
2026-02-01 00:33:20 +01:00
parent 51aba743f8
commit c23ac60b8f
10 changed files with 498 additions and 98 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ func editTranscription(cfg *config.Config, configuredProviders []string) ([]stri
var transcriptionOptions []huh.Option[string]
for _, name := range configuredProviders {
p := provider.GetProvider(name)
if p != nil && p.SupportsTranscription() {
if p != nil && len(provider.ModelsOfType(p, provider.Transcription)) > 0 {
switch name {
case "openai":
transcriptionOptions = append(transcriptionOptions,