From b907c3990fe83dffe6836b2c3872aaac75e61436 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 28 Dec 2025 18:53:53 +0100 Subject: [PATCH] Refactored model capability methods to private for encapsulation --- .../Settings/ProviderExtensions.Alibaba.cs | 2 +- .../Settings/ProviderExtensions.Anthropic.cs | 2 +- .../Settings/ProviderExtensions.DeepSeek.cs | 2 +- .../Settings/ProviderExtensions.Google.cs | 2 +- .../Settings/ProviderExtensions.Mistral.cs | 2 +- .../Settings/ProviderExtensions.OpenAI.cs | 2 +- .../Settings/ProviderExtensions.OpenRouter.cs | 2 +- .../Settings/ProviderExtensions.OpenSource.cs | 2 +- .../Settings/ProviderExtensions.Perplexity.cs | 2 +- .../Settings/ProviderExtensions.cs | 45 ++++++++++++------- 10 files changed, 38 insertions(+), 25 deletions(-) diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.Alibaba.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.Alibaba.cs index c7e1a20e..c57aeeed 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.Alibaba.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.Alibaba.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesAlibaba(Model model) + private static List GetModelCapabilitiesAlibaba(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.Anthropic.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.Anthropic.cs index 3bf2f0b5..64bc8753 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.Anthropic.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.Anthropic.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesAnthropic(Model model) + private static List GetModelCapabilitiesAnthropic(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.DeepSeek.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.DeepSeek.cs index 0d3428e9..9089596b 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.DeepSeek.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.DeepSeek.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesDeepSeek(Model model) + private static List GetModelCapabilitiesDeepSeek(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.Google.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.Google.cs index 379370c1..1931bc8f 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.Google.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.Google.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesGoogle(Model model) + private static List GetModelCapabilitiesGoogle(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.Mistral.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.Mistral.cs index 545dada8..3d0150c9 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.Mistral.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.Mistral.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesMistral(Model model) + private static List GetModelCapabilitiesMistral(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.OpenAI.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.OpenAI.cs index 4f86f377..a65c1534 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.OpenAI.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.OpenAI.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesOpenAI(Model model) + private static List GetModelCapabilitiesOpenAI(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.OpenRouter.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.OpenRouter.cs index c1479819..7677cca8 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.OpenRouter.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.OpenRouter.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesOpenRouter(Model model) + private static List GetModelCapabilitiesOpenRouter(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.OpenSource.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.OpenSource.cs index afd47cfd..51222dbf 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.OpenSource.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.OpenSource.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesOpenSource(Model model) + private static List GetModelCapabilitiesOpenSource(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.Perplexity.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.Perplexity.cs index da873009..d73ba8c5 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.Perplexity.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.Perplexity.cs @@ -4,7 +4,7 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilitiesPerplexity(Model model) + private static List GetModelCapabilitiesPerplexity(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); diff --git a/app/MindWork AI Studio/Settings/ProviderExtensions.cs b/app/MindWork AI Studio/Settings/ProviderExtensions.cs index 984386d1..8ce0ab2a 100644 --- a/app/MindWork AI Studio/Settings/ProviderExtensions.cs +++ b/app/MindWork AI Studio/Settings/ProviderExtensions.cs @@ -4,26 +4,39 @@ namespace AIStudio.Settings; public static partial class ProviderExtensions { - public static List GetModelCapabilities(this Provider provider) => provider.UsedLLMProvider switch + /// + /// Get the capabilities of the model used by the configured provider. + /// + /// The configured provider. + /// The capabilities of the configured model. + public static List GetModelCapabilities(this Provider provider) => provider.UsedLLMProvider.GetModelCapabilities(provider.Model); + + /// + /// Get the capabilities of a model for a specific provider. + /// + /// The LLM provider. + /// The model to get the capabilities for. + /// >The capabilities of the model. + public static List GetModelCapabilities(this LLMProviders provider, Model model) => provider switch { - LLMProviders.OPEN_AI => GetModelCapabilitiesOpenAI(provider.Model), - LLMProviders.MISTRAL => GetModelCapabilitiesMistral(provider.Model), - LLMProviders.ANTHROPIC => GetModelCapabilitiesAnthropic(provider.Model), - LLMProviders.GOOGLE => GetModelCapabilitiesGoogle(provider.Model), - LLMProviders.X => GetModelCapabilitiesOpenSource(provider.Model), - LLMProviders.DEEP_SEEK => GetModelCapabilitiesDeepSeek(provider.Model), - LLMProviders.ALIBABA_CLOUD => GetModelCapabilitiesAlibaba(provider.Model), - LLMProviders.PERPLEXITY => GetModelCapabilitiesPerplexity(provider.Model), - LLMProviders.OPEN_ROUTER => GetModelCapabilitiesOpenRouter(provider.Model), + LLMProviders.OPEN_AI => GetModelCapabilitiesOpenAI(model), + LLMProviders.MISTRAL => GetModelCapabilitiesMistral(model), + LLMProviders.ANTHROPIC => GetModelCapabilitiesAnthropic(model), + LLMProviders.GOOGLE => GetModelCapabilitiesGoogle(model), + LLMProviders.X => GetModelCapabilitiesOpenSource(model), + LLMProviders.DEEP_SEEK => GetModelCapabilitiesDeepSeek(model), + LLMProviders.ALIBABA_CLOUD => GetModelCapabilitiesAlibaba(model), + LLMProviders.PERPLEXITY => GetModelCapabilitiesPerplexity(model), + LLMProviders.OPEN_ROUTER => GetModelCapabilitiesOpenRouter(model), - LLMProviders.GROQ => GetModelCapabilitiesOpenSource(provider.Model), - LLMProviders.FIREWORKS => GetModelCapabilitiesOpenSource(provider.Model), - LLMProviders.HUGGINGFACE => GetModelCapabilitiesOpenSource(provider.Model), + LLMProviders.GROQ => GetModelCapabilitiesOpenSource(model), + LLMProviders.FIREWORKS => GetModelCapabilitiesOpenSource(model), + LLMProviders.HUGGINGFACE => GetModelCapabilitiesOpenSource(model), - LLMProviders.HELMHOLTZ => GetModelCapabilitiesOpenSource(provider.Model), - LLMProviders.GWDG => GetModelCapabilitiesOpenSource(provider.Model), + LLMProviders.HELMHOLTZ => GetModelCapabilitiesOpenSource(model), + LLMProviders.GWDG => GetModelCapabilitiesOpenSource(model), - LLMProviders.SELF_HOSTED => GetModelCapabilitiesOpenSource(provider.Model), + LLMProviders.SELF_HOSTED => GetModelCapabilitiesOpenSource(model), _ => [] };