diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-06 11:06:19 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-06 11:06:19 +0300 |
| commit | 05f54cc0cb8cf3535698ab5027d200842bdb28e3 (patch) | |
| tree | 30b7e778be29db63301119b7cfa8be5a5edc041e /internal/audio | |
| parent | 23160bce9a18a70080a85dda6e9c654499aba7f7 (diff) | |
refactor: consolidate provider factory test seams into shared named types
Define audio.ProviderFactory, image.PromptAwareClient,
image.OpenAIClientFactory, image.NanoBananaClientFactory, and
image.ClientFactories as the single source of truth for the three injectable
factory signatures that were previously duplicated across processor.Processor,
gui.Application, and gui.GenerationOrchestrator. Replace all three separate
function-type fields with imageFactories image.ClientFactories +
newAudioProvider audio.ProviderFactory, eliminating the parallel field
declarations and the local promptAwareImageClient interface in gui/generator.go.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/audio')
| -rw-r--r-- | internal/audio/provider.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/internal/audio/provider.go b/internal/audio/provider.go index e4e5888..296521d 100644 --- a/internal/audio/provider.go +++ b/internal/audio/provider.go @@ -131,6 +131,12 @@ func DefaultProviderConfig() *Config { } } +// ProviderFactory is the canonical type for functions that construct an audio +// Provider from a Config. Using a named type avoids duplicating the raw function +// signature in every package that needs to inject or replace the factory +// (processor, gui). The production default is audio.NewProvider itself. +type ProviderFactory func(*Config) (Provider, error) + // NewProvider creates the appropriate audio provider based on configuration. // It extracts provider-specific sub-configs so each implementation only // receives the fields it needs (ISP). |
