UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

101 lines (100 loc) 3.64 kB
import { i as normalizeModelCatalogProviderId } from "./model-catalog-normalize-CkJjoy4K.js"; import { f as isPluginEnabled, s as resolvePluginContributionOwners, u as getPluginRecord } from "./plugin-registry-ChcJPHWl.js"; import { t as planManifestModelCatalogRows } from "./manifest-planner-BRQyTcMi.js"; import "./model-catalog-DfA8Fq9U.js"; import { s as loadManifestMetadataSnapshot } from "./manifest-contract-eligibility-DEeoLRlM.js"; //#region src/commands/models/list.manifest-catalog.ts /** Manifest-backed model catalog row loaders for `openclaw models list`. */ function loadManifestCatalogRowsForPluginIds(params) { if (params.pluginIds && params.pluginIds.length === 0) return []; const pluginIdSet = params.pluginIds ? new Set(params.pluginIds) : void 0; const plan = planManifestModelCatalogRows({ registry: pluginIdSet ? { ...params.registry, plugins: params.registry.plugins.filter((plugin) => pluginIdSet.has(plugin.id)) } : params.registry, ...params.providerFilter ? { providerFilter: params.providerFilter } : {} }); const eligibleProviders = new Set(plan.entries.filter((entry) => params.mode === "static-authoritative" ? entry.discovery === "static" : entry.discovery !== "runtime").map((entry) => entry.provider)); if (eligibleProviders.size === 0) return []; return plan.rows.filter((row) => eligibleProviders.has(row.provider)); } function resolveConventionModelCatalogPluginIds(params) { const record = getPluginRecord({ index: params.index, pluginId: params.providerFilter }); if (!record || !isPluginEnabled({ index: params.index, pluginId: record.pluginId, config: params.cfg })) return []; return [record.pluginId]; } function resolveDeclaredModelCatalogPluginIds(params) { return resolvePluginContributionOwners({ index: params.index, config: params.cfg, contribution: "modelCatalogProviders", matches: params.providerFilter }); } function loadManifestCatalogRowsForList(params) { const providerFilter = params.providerFilter ? normalizeModelCatalogProviderId(params.providerFilter) : void 0; const mode = params.mode ?? "static-authoritative"; const snapshot = params.metadataSnapshot ?? loadManifestMetadataSnapshot({ config: params.cfg, env: params.env ?? process.env }); const index = snapshot.index; if (!providerFilter) return loadManifestCatalogRowsForPluginIds({ cfg: params.cfg, env: params.env, index, registry: snapshot.manifestRegistry, mode }); const conventionRows = loadManifestCatalogRowsForPluginIds({ cfg: params.cfg, env: params.env, index, registry: snapshot.manifestRegistry, mode, pluginIds: resolveConventionModelCatalogPluginIds({ cfg: params.cfg, index, providerFilter }), providerFilter }); if (conventionRows.length > 0) return conventionRows; return loadManifestCatalogRowsForPluginIds({ cfg: params.cfg, env: params.env, index, registry: snapshot.manifestRegistry, mode, pluginIds: resolveDeclaredModelCatalogPluginIds({ cfg: params.cfg, index, providerFilter }), providerFilter }); } /** Loads authoritative static manifest catalog rows for model-list output. */ function loadStaticManifestCatalogRowsForList(params) { return loadManifestCatalogRowsForList({ ...params, mode: "static-authoritative" }); } /** Loads supplemental non-runtime manifest catalog rows for fallback list sources. */ function loadSupplementalManifestCatalogRowsForList(params) { return loadManifestCatalogRowsForList({ ...params, mode: "supplemental" }); } //#endregion export { loadSupplementalManifestCatalogRowsForList as n, loadStaticManifestCatalogRowsForList as t };