From 42d67d512e6efd49e1f9e169bdf4d5f13ed5b507 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 13 Nov 2025 16:38:58 +0100 Subject: [PATCH] Optimized the keys to remove data type --- .../Provider/BaseProvider.cs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/app/MindWork AI Studio/Provider/BaseProvider.cs b/app/MindWork AI Studio/Provider/BaseProvider.cs index 889f2585..e2b56609 100644 --- a/app/MindWork AI Studio/Provider/BaseProvider.cs +++ b/app/MindWork AI Studio/Provider/BaseProvider.cs @@ -528,7 +528,7 @@ public abstract class BaseProvider : IProvider, ISecretId /// (case-insensitive). The parameters stream, model, and messages are removed by default. protected IDictionary ParseApiParameters( string additionalUserProvidedParameters, - params IEnumerable keysToRemove) + params List keysToRemove) { try { @@ -536,16 +536,15 @@ public abstract class BaseProvider : IProvider, ISecretId var jsonDoc = JsonSerializer.Deserialize(json, JSON_SERIALIZER_OPTIONS); var dict = this.ConvertToDictionary(jsonDoc); - // Some keys are always removed because we always set them - var finalKeysToRemove = keysToRemove?.ToList() ?? []; - finalKeysToRemove.Add("stream"); - finalKeysToRemove.Add("model"); - finalKeysToRemove.Add("messages"); + // Some keys are always removed because we set them: + keysToRemove.Add("stream"); + keysToRemove.Add("model"); + keysToRemove.Add("messages"); - var removeSet = new HashSet(finalKeysToRemove, StringComparer.OrdinalIgnoreCase); - var toRemove = dict.Keys.Where(k => removeSet.Contains(k)).ToList(); - foreach (var k in toRemove) - dict.Remove(k); + // Remove the specified keys (case-insensitive): + var removeSet = new HashSet(keysToRemove, StringComparer.OrdinalIgnoreCase); + foreach (var key in removeSet) + dict.Remove(key); return dict; }