From a606838b4b25980b0c936f25934b4c10910a9423 Mon Sep 17 00:00:00 2001 From: Shakker Date: Fri, 24 Apr 2026 02:14:16 +0100 Subject: [PATCH] refactor: plan models list registry loading --- src/commands/models/list.list-command.ts | 12 ++++++++++-- src/commands/models/list.row-sources.ts | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/commands/models/list.list-command.ts b/src/commands/models/list.list-command.ts index cd34d74e6fe..9395ed18bf1 100644 --- a/src/commands/models/list.list-command.ts +++ b/src/commands/models/list.list-command.ts @@ -5,7 +5,11 @@ import { normalizeLowercaseStringOrEmpty } from "../../shared/string-coerce.js"; import { resolveConfiguredEntries } from "./list.configured.js"; import { formatErrorWithStack } from "./list.errors.js"; import { loadListModelRegistry } from "./list.registry-load.js"; -import { appendAllModelRowSources, appendConfiguredModelRowSources } from "./list.row-sources.js"; +import { + appendAllModelRowSources, + appendConfiguredModelRowSources, + modelRowSourcesRequireRegistry, +} from "./list.row-sources.js"; import { printModelTable } from "./list.table.js"; import type { ModelRow } from "./list.types.js"; import { loadModelsConfigWithSource } from "./load-config.js"; @@ -55,8 +59,12 @@ export async function modelsListCommand( let availableKeys: Set | undefined; let availabilityErrorMessage: string | undefined; const useProviderCatalogFastPath = Boolean(opts.all && providerFilter === "codex"); + const shouldLoadRegistry = modelRowSourcesRequireRegistry({ + all: opts.all, + useProviderCatalogFastPath, + }); try { - if (!useProviderCatalogFastPath) { + if (shouldLoadRegistry) { const loaded = await loadListModelRegistry(cfg, { providerFilter }); modelRegistry = loaded.registry; discoveredKeys = loaded.discoveredKeys; diff --git a/src/commands/models/list.row-sources.ts b/src/commands/models/list.row-sources.ts index 9faceac4462..9ced8a300b8 100644 --- a/src/commands/models/list.row-sources.ts +++ b/src/commands/models/list.row-sources.ts @@ -16,6 +16,13 @@ type AllModelRowSources = { useProviderCatalogFastPath: boolean; }; +export function modelRowSourcesRequireRegistry(params: { + all?: boolean; + useProviderCatalogFastPath: boolean; +}): boolean { + return !(params.all && params.useProviderCatalogFastPath); +} + export async function appendAllModelRowSources(params: AllModelRowSources): Promise { const seenKeys = appendDiscoveredRows({ rows: params.rows,