






















@@ -438,12 +438,16 @@ export function resolveAllowlistModelKey(
438438cfg?: OpenClawConfig;
439439raw: string;
440440defaultProvider: string;
441+allowManifestNormalization?: boolean;
442+allowPluginNormalization?: boolean;
441443} & ModelManifestNormalizationContext,
442444): string | null {
443445const parsed = parseModelRefWithCompatAlias({
444446cfg: params.cfg,
445447raw: params.raw,
446448defaultProvider: params.defaultProvider,
449+allowManifestNormalization: params.allowManifestNormalization,
450+allowPluginNormalization: params.allowPluginNormalization,
447451manifestPlugins: params.manifestPlugins,
448452});
449453if (!parsed) {
@@ -540,6 +544,8 @@ function buildModelCatalogMetadata(
540544params: {
541545cfg: OpenClawConfig;
542546defaultProvider: string;
547+allowManifestNormalization?: boolean;
548+allowPluginNormalization?: boolean;
543549} & ModelManifestNormalizationContext,
544550): ModelCatalogMetadata {
545551const configuredByKey = new Map<string, ModelCatalogEntry>();
@@ -564,6 +570,8 @@ function buildModelCatalogMetadata(
564570cfg: params.cfg,
565571raw: rawKey,
566572defaultProvider: params.defaultProvider,
573+allowManifestNormalization: params.allowManifestNormalization,
574+allowPluginNormalization: params.allowPluginNormalization,
567575manifestPlugins: params.manifestPlugins,
568576});
569577if (!key) {
@@ -800,6 +808,8 @@ export function buildAllowedModelSetWithFallbacks(
800808const metadata = buildModelCatalogMetadata({
801809cfg: params.cfg,
802810defaultProvider: params.defaultProvider,
811+allowManifestNormalization: params.allowManifestNormalization,
812+allowPluginNormalization: params.allowPluginNormalization,
803813manifestPlugins: params.manifestPlugins,
804814});
805815const configuredCatalog = buildConfiguredModelCatalog({
@@ -1276,9 +1286,13 @@ export function resolveAllowedModelSelection(
12761286allowAny: boolean;
12771287allowedKeys: ReadonlySet<string>;
12781288allowedCatalog: readonly ModelCatalogEntry[];
1289+allowManifestNormalization?: boolean;
1290+allowPluginNormalization?: boolean;
12791291} & ModelManifestNormalizationContext,
12801292): ModelRef | null {
12811293const current = normalizeModelRef(params.provider, params.model, {
1294+allowManifestNormalization: params.allowManifestNormalization,
1295+allowPluginNormalization: params.allowPluginNormalization,
12821296manifestPlugins: params.manifestPlugins,
12831297});
12841298if (
@@ -1292,6 +1306,8 @@ export function resolveAllowedModelSelection(
12921306return null;
12931307}
12941308return normalizeModelRef(fallback.provider, fallback.id, {
1309+allowManifestNormalization: params.allowManifestNormalization,
1310+allowPluginNormalization: params.allowPluginNormalization,
12951311manifestPlugins: params.manifestPlugins,
12961312});
12971313}
@@ -1335,6 +1351,8 @@ export function createModelVisibilityPolicyWithFallbacks(
13351351defaultProvider: string;
13361352defaultModel?: string;
13371353fallbackModels: readonly string[];
1354+allowManifestNormalization?: boolean;
1355+allowPluginNormalization?: boolean;
13381356} & ModelManifestNormalizationContext,
13391357): ModelVisibilityPolicy {
13401358const visibility = parseConfiguredModelVisibilityEntries({ cfg: params.cfg });
@@ -1347,6 +1365,8 @@ export function createModelVisibilityPolicyWithFallbacks(
13471365cfg: params.cfg,
13481366 raw,
13491367defaultProvider: params.defaultProvider,
1368+allowManifestNormalization: params.allowManifestNormalization,
1369+allowPluginNormalization: params.allowPluginNormalization,
13501370manifestPlugins: params.manifestPlugins,
13511371});
13521372if (key) {
@@ -1370,6 +1390,8 @@ export function createModelVisibilityPolicyWithFallbacks(
13701390allowAny: allowed.allowAny,
13711391allowedKeys: allowed.allowedKeys,
13721392allowedCatalog: allowed.allowedCatalog,
1393+allowManifestNormalization: params.allowManifestNormalization,
1394+allowPluginNormalization: params.allowPluginNormalization,
13731395manifestPlugins: params.manifestPlugins,
13741396}),
13751397visibleCatalog: ({ catalog, defaultVisibleCatalog, view }) => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。