UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

86 lines (85 loc) 3.64 kB
import { c as resolveAgentConfig } from "./agent-scope-config-DcbEhP0R.js"; import "./model-ref-shared-Dz7QU0Lx.js"; import { t as modelKey } from "./model-key-CMdQNkZf.js"; import { c as inferUniqueProviderFromConfiguredModels, g as resolveConfiguredModelRef, i as buildModelAliasIndex, y as resolveModelRefFromString } from "./model-selection-shared-BlLyx1r2.js"; import "./defaults-CdX9UGcX.js"; import { a as resolveAgentModelPrimaryValue, i as resolveAgentModelFallbackValues } from "./model-input-BuGMCNOz.js"; import { n as resolveConfiguredModelFallbacks } from "./model-selection-resolve-DJs652CE.js"; //#region src/agents/configured-model-entries.ts /** Projects effective configured model refs, aliases, and role tags for one agent. */ function resolveConfiguredModelEntries(params) { const defaultProvider = params.defaultProvider ?? "openai"; const defaultModel = params.defaultModel ?? "gpt-5.6-sol"; const resolvedDefault = resolveConfiguredModelRef({ ...params, defaultProvider, defaultModel }); const aliasIndex = params.aliasIndex ?? buildModelAliasIndex({ ...params, defaultProvider }); const entriesByKey = /* @__PURE__ */ new Map(); const addEntry = (ref, tag) => { const canonicalRef = params.canonicalizeRef?.(ref) ?? ref; const key = modelKey(canonicalRef.provider, canonicalRef.model); const originalKey = modelKey(ref.provider, ref.model); const existing = entriesByKey.get(key); const aliases = [ ...existing?.aliases ?? [], ...aliasIndex.byKey.get(key) ?? [], ...originalKey === key ? [] : aliasIndex.byKey.get(originalKey) ?? [] ]; const aliasDisabled = existing?.aliasDisabled === true || aliasIndex.disabledKeys?.has(key) === true || aliasIndex.disabledKeys?.has(originalKey) === true; if (existing) { existing.tags.add(tag); existing.aliases = [...new Set(aliases)]; existing.aliasDisabled = aliasDisabled; return; } entriesByKey.set(key, { key, ref: canonicalRef, tags: /* @__PURE__ */ new Set([tag]), aliases: [...new Set(aliases)], aliasDisabled }); }; const addRaw = (raw, tag) => { const trimmed = raw.trim(); const inferredProvider = trimmed.includes("/") ? void 0 : inferUniqueProviderFromConfiguredModels({ cfg: params.cfg, agentId: params.agentId, model: trimmed, allowManifestNormalization: params.allowManifestNormalization, manifestPlugins: params.manifestPlugins }); const resolved = resolveModelRefFromString({ ...params, raw, defaultProvider: inferredProvider ?? defaultProvider, aliasIndex }); if (resolved) addEntry(resolved.ref, tag); }; addEntry(resolvedDefault, "default"); resolveConfiguredModelFallbacks({ cfg: params.cfg, agentId: params.agentId }).forEach((raw, index) => addRaw(raw, `fallback#${index + 1}`)); const imageModel = params.cfg.agents?.defaults?.imageModel; const imagePrimary = resolveAgentModelPrimaryValue(imageModel); if (imagePrimary) addRaw(imagePrimary, "image"); resolveAgentModelFallbackValues(imageModel).forEach((raw, index) => addRaw(raw, `img-fallback#${index + 1}`)); const agentModels = params.agentId ? resolveAgentConfig(params.cfg, params.agentId)?.models : void 0; const configuredRefs = /* @__PURE__ */ new Set(); for (const models of [params.cfg.agents?.defaults?.models, agentModels]) for (const raw of Object.keys(models ?? {})) if (!raw.trim().endsWith("/*")) configuredRefs.add(raw); for (const raw of configuredRefs) addRaw(raw, "configured"); return { defaultRef: resolvedDefault, entries: [...entriesByKey.values()], byKey: entriesByKey }; } //#endregion export { resolveConfiguredModelEntries as t };