import type { FallbackEntry } from "./model-requirements" export type ModelResolutionRequest = { intent?: { uiSelectedModel?: string userModel?: string categoryDefaultModel?: string } constraints: { availableModels: Set } policy?: { fallbackChain?: FallbackEntry[] systemDefaultModel?: string } } export type ModelResolutionProvenance = | "override" | "category-default" | "provider-fallback" | "system-default" export type ModelResolutionResult = { model: string provenance: ModelResolutionProvenance variant?: string attempted?: string[] reason?: string }