import { normalizeModelCompat } from "../agents/model-compat.js"; import type { ProviderResolveDynamicModelContext, ProviderRuntimeModel } from "./types.js"; export function cloneFirstTemplateModel(params: { providerId: string; modelId: string; templateIds: readonly string[]; ctx: ProviderResolveDynamicModelContext; patch?: Partial; }): ProviderRuntimeModel | undefined { const trimmedModelId = params.modelId.trim(); for (const templateId of [...new Set(params.templateIds)].filter(Boolean)) { const template = params.ctx.modelRegistry.find( params.providerId, templateId, ) as ProviderRuntimeModel | null; if (!template) { continue; } return normalizeModelCompat({ ...template, id: trimmedModelId, name: trimmedModelId, ...params.patch, } as ProviderRuntimeModel); } return undefined; }