fix: append filtered registry rows in broad model lists

This commit is contained in:
Shakker
2026-04-28 01:07:56 +01:00
parent 53b53ba06b
commit 27a8875241
2 changed files with 7 additions and 1 deletions

View File

@@ -1,3 +1,4 @@
import type { Api, Model } from "@mariozechner/pi-ai";
import type { ModelRegistry } from "@mariozechner/pi-coding-agent";
import { parseModelRef } from "../../agents/model-selection.js";
import type { RuntimeEnv } from "../../runtime.js";
@@ -76,6 +77,7 @@ export async function modelsListCommand(
const agentDir = resolveOpenClawAgentDir();
let modelRegistry: ModelRegistry | undefined;
let registryModels: Model<Api>[] = [];
let discoveredKeys = new Set<string>();
let availableKeys: Set<string> | undefined;
let availabilityErrorMessage: string | undefined;
@@ -97,6 +99,7 @@ export async function modelsListCommand(
normalizeModels: Boolean(providerFilter),
});
modelRegistry = loaded.registry;
registryModels = loaded.models;
discoveredKeys = loaded.discoveredKeys;
availableKeys = loaded.availableKeys;
availabilityErrorMessage = loaded.availabilityErrorMessage;
@@ -141,6 +144,7 @@ export async function modelsListCommand(
rows,
context: rowContext,
modelRegistry,
registryModels,
sourcePlan,
});
if (initialAppend.requiresRegistryFallback) {
@@ -157,6 +161,7 @@ export async function modelsListCommand(
rows,
context: rowContext,
modelRegistry,
registryModels,
sourcePlan: sourcePlanModule.createRegistryModelListSourcePlan(),
});
}

View File

@@ -16,6 +16,7 @@ type AllModelRowSources = {
rows: ModelRow[];
context: RowBuilderContext;
modelRegistry?: ModelRegistry;
registryModels?: ReturnType<ModelRegistry["getAll"]>;
sourcePlan: ModelListSourcePlan;
};
@@ -78,7 +79,7 @@ export async function appendAllModelRowSources(
const seenKeys = await appendDiscoveredRows({
rows: params.rows,
models: params.modelRegistry?.getAll() ?? [],
models: params.registryModels ?? params.modelRegistry?.getAll() ?? [],
modelRegistry: params.modelRegistry,
context: params.context,
resolveWithRegistry: Boolean(params.context.filter.provider),