From f77ce1394440e909e45d0e69581e0bce0587d82b Mon Sep 17 00:00:00 2001 From: Jeremy McSpadden Date: Tue, 17 Mar 2026 11:37:59 -0500 Subject: [PATCH] fix: use generic type on resolveModelId to preserve Model through resolution resolveModelId narrowed the return type to { id, provider } which lost the full Model shape needed by pi.setModel(). Using a generic preserves the actual type from the registry's getAvailable() call. --- src/resources/extensions/gsd/auto-model-selection.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/resources/extensions/gsd/auto-model-selection.ts b/src/resources/extensions/gsd/auto-model-selection.ts index ed139cd6c..70be37671 100644 --- a/src/resources/extensions/gsd/auto-model-selection.ts +++ b/src/resources/extensions/gsd/auto-model-selection.ts @@ -143,11 +143,11 @@ export async function selectAndApplyModel( * Resolve a model ID string to a model object from the available models list. * Handles formats: "provider/model", "bare-id", "org/model-name" (OpenRouter). */ -function resolveModelId( +function resolveModelId( modelId: string, - availableModels: Array<{ id: string; provider: string }>, + availableModels: T[], currentProvider: string | undefined, -): { id: string; provider: string } | undefined { +): T | undefined { const slashIdx = modelId.indexOf("/"); if (slashIdx !== -1) {