refactor transcriber factory to use model metadata

- factory now looks up Model via provider.GetModel()
- switches on model.AdapterType instead of provider name
- uses model.Endpoint for adapter configuration
- streaming models return clear error (not yet implemented)
- empty model falls back to provider default
- added tests for streaming and unknown model errors
This commit is contained in:
leonardotrapani
2026-02-01 01:00:21 +01:00
parent edc7a5f26b
commit 3563def987
4 changed files with 111 additions and 46 deletions
+22 -2
View File
@@ -145,14 +145,34 @@ func TestNewTranscriber(t *testing.T) {
wantErr: true,
},
{
name: "empty model",
name: "empty model uses default",
config: Config{
Provider: "openai",
APIKey: "test-key",
Language: "en",
Model: "",
},
wantErr: false, // Model validation is not implemented in NewTranscriber
wantErr: false, // uses default model when empty
},
{
name: "streaming model returns error",
config: Config{
Provider: "elevenlabs",
APIKey: "test-key",
Language: "en",
Model: "scribe_v1-streaming",
},
wantErr: true, // streaming not yet supported
},
{
name: "unknown model returns error",
config: Config{
Provider: "openai",
APIKey: "test-key",
Language: "en",
Model: "nonexistent-model",
},
wantErr: true,
},
}