import { normalizeModelCatalogProviderRows } from "./normalize.js"; import { normalizeModelCatalogProviderId } from "./refs.js"; import type { ModelCatalog, NormalizedModelCatalogRow } from "./types.js";
for (const plugin of params.registry.plugins) { for (const entry of planManifestModelCatalogPluginEntries({ plugin, providerFilter })) {
entries.push(entry);
}
}
const rowCandidates: NormalizedModelCatalogRow[] = []; const seenRows = new Map<string, { pluginId: string; row: NormalizedModelCatalogRow }>(); const conflicts = new Map<string, ManifestModelCatalogConflict>(); for (const entry of entries) { for (const row of entry.rows) { const seen = seenRows.get(row.mergeKey); if (seen) { if (!conflicts.has(row.mergeKey)) {
conflicts.set(row.mergeKey, {
mergeKey: row.mergeKey,
ref: seen.row.ref,
provider: seen.row.provider,
modelId: seen.row.id,
firstPluginId: seen.pluginId,
secondPluginId: entry.pluginId,
});
} continue;
}
seenRows.set(row.mergeKey, { pluginId: entry.pluginId, row });
rowCandidates.push(row);
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.