




















@@ -176,6 +176,19 @@ function buildModelCatalogProviderAliasTargets(
176176return aliasesByTargetProvider;
177177}
178178179+function buildModelCatalogProviderRefs(plugin: ManifestModelCatalogPlugin): ReadonlySet<string> {
180+const ownedProviders = buildOwnedProviderSet(plugin);
181+const refs = new Set(ownedProviders);
182+for (const [rawAlias, alias] of Object.entries(plugin.modelCatalog?.aliases ?? {})) {
183+const aliasProvider = normalizeModelCatalogProviderId(rawAlias);
184+const targetProvider = normalizeModelCatalogProviderId(alias.provider);
185+if (aliasProvider && targetProvider && ownedProviders.has(targetProvider)) {
186+refs.add(aliasProvider);
187+}
188+}
189+return refs;
190+}
191+179192function applyModelCatalogAliasOverrides(params: {
180193rows: readonly NormalizedModelCatalogRow[];
181194alias?: ModelCatalogAlias;
@@ -190,27 +203,6 @@ function applyModelCatalogAliasOverrides(params: {
190203}));
191204}
192205193-function pluginOwnsModelCatalogProviderRef(params: {
194-plugin: ManifestModelCatalogPlugin;
195-provider: string;
196-}): boolean {
197-const provider = normalizeModelCatalogProviderId(params.provider);
198-if (!provider) {
199-return false;
200-}
201-const ownedProviders = buildOwnedProviderSet(params.plugin);
202-if (ownedProviders.has(provider)) {
203-return true;
204-}
205-return Object.entries(params.plugin.modelCatalog?.aliases ?? {}).some(([rawAlias, alias]) => {
206-const aliasProvider = normalizeModelCatalogProviderId(rawAlias);
207-const targetProvider = normalizeModelCatalogProviderId(alias.provider);
208-return (
209-aliasProvider === provider && Boolean(targetProvider) && ownedProviders.has(targetProvider)
210-);
211-});
212-}
213-214206export function planManifestModelCatalogSuppressions(params: {
215207registry: ManifestModelCatalogRegistry;
216208providerFilter?: string;
@@ -224,6 +216,7 @@ export function planManifestModelCatalogSuppressions(params: {
224216 : undefined;
225217const suppressions: ManifestModelCatalogSuppressionEntry[] = [];
226218for (const plugin of params.registry.plugins) {
219+const providerRefs = buildModelCatalogProviderRefs(plugin);
227220for (const suppression of plugin.modelCatalog?.suppressions ?? []) {
228221const provider = normalizeModelCatalogProviderId(suppression.provider);
229222const model = normalizeLowercaseStringOrEmpty(suppression.model);
@@ -236,7 +229,7 @@ export function planManifestModelCatalogSuppressions(params: {
236229if (modelFilter && model !== modelFilter) {
237230continue;
238231}
239-if (!pluginOwnsModelCatalogProviderRef({ plugin, provider })) {
232+if (!providerRefs.has(provider)) {
240233continue;
241234}
242235suppressions.push({
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。