import { resolveModelPipeline } from "../../shared" export function applyModelResolution(input: { uiSelectedModel?: string userModel?: string requirement?: { fallbackChain?: { providers: string[]; model: string; variant?: string }[] } availableModels: Set systemDefaultModel?: string }) { const { uiSelectedModel, userModel, requirement, availableModels, systemDefaultModel } = input return resolveModelPipeline({ intent: { uiSelectedModel, userModel }, constraints: { availableModels }, policy: { fallbackChain: requirement?.fallbackChain, systemDefaultModel }, }) } export function getFirstFallbackModel(requirement?: { fallbackChain?: { providers: string[]; model: string; variant?: string }[] }) { const entry = requirement?.fallbackChain?.[0] if (!entry || entry.providers.length === 0) return undefined return { model: `${entry.providers[0]}/${entry.model}`, provenance: "provider-fallback" as const, variant: entry.variant, } }