From 05e27a0885a933afd99a88a070f2d7d757a23c6f Mon Sep 17 00:00:00 2001 From: Animesh Gosain <126562373+animeshlego5@users.noreply.github.com> Date: Mon, 19 May 2025 13:34:01 +0530 Subject: [PATCH] Refactor role mapping logic --- .../contrib/void/common/modelCapabilities.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/void/common/modelCapabilities.ts b/src/vs/workbench/contrib/void/common/modelCapabilities.ts index 6f69f3cb..bc46fe99 100644 --- a/src/vs/workbench/contrib/void/common/modelCapabilities.ts +++ b/src/vs/workbench/contrib/void/common/modelCapabilities.ts @@ -374,19 +374,29 @@ const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallbac const lower = modelName.toLowerCase() const toFallback = },>(obj: T, recognizedModelName: string & keyof T) - : VoidStaticModelInfo & { modelName: string, recognizedModelName: string } => { + : VoidStaticModelInfo & { modelName: string, recognizedModelName: string, roleMode: 'system' | 'developer' | false } => { + + const opts = obj[recognizedModelName]; + + const roleMode = + recognizedModelName === 'system' || recognizedModelName === 'gemini' + ? 'system' + : recognizedModelName === 'developer' + ? 'developer' + : false; - const opts = obj[recognizedModelName] return { recognizedModelName, modelName, ...opts, - supportsSystemMessage: opts.supportsSystemMessage ?? false, + supportsSystemMessage: roleMode !== false, + roleMode, cost: { input: 0, output: 0 }, downloadable: false, ...fallbackKnownValues - } + }; } + if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5'))) return toFallback(geminiModelOptions, 'gemini-2.5-pro-exp-03-25') if (lower.includes('claude-3-5') || lower.includes('claude-3.5')) return toFallback(anthropicModelOptions, 'claude-3-5-sonnet-20241022')