fix: avoid broad model row runtime resolution

This commit is contained in:
Shakker
2026-04-27 17:58:04 +01:00
parent f5439a341b
commit f049d9dec2
3 changed files with 7 additions and 3 deletions

View File

@@ -620,6 +620,7 @@ describe("modelsListCommand forward-compat", () => {
providerFilter: undefined,
});
expect(mocks.loadProviderCatalogModelsForList).not.toHaveBeenCalled();
expect(mocks.resolveModelWithRegistry).not.toHaveBeenCalled();
expect(lastPrintedRows<{ key: string }>()).toEqual([
expect.objectContaining({
key: "openai-codex/gpt-5.4",

View File

@@ -81,6 +81,7 @@ export async function appendAllModelRowSources(
models: params.modelRegistry?.getAll() ?? [],
modelRegistry: params.modelRegistry,
context: params.context,
resolveWithRegistry: Boolean(params.context.filter.provider),
});
await appendConfiguredProviderRows({

View File

@@ -266,11 +266,13 @@ export async function appendDiscoveredRows(params: {
models: Model<Api>[];
modelRegistry?: ModelRegistry;
context: RowBuilderContext;
resolveWithRegistry?: boolean;
}): Promise<Set<string>> {
const seenKeys = new Set<string>();
const modelResolver = params.modelRegistry
? (await loadModelResolverModule()).resolveModelWithRegistry
: undefined;
const modelResolver =
params.modelRegistry && params.resolveWithRegistry !== false
? (await loadModelResolverModule()).resolveModelWithRegistry
: undefined;
const sorted = [...params.models].toSorted((a, b) => {
const providerCompare = a.provider.localeCompare(b.provider);
if (providerCompare !== 0) {