import type { FallbackEntry } from "./model-requirements"; export interface DelegatedModelConfig { providerID: string; modelID: string; variant?: string; reasoningEffort?: string; temperature?: number; top_p?: number; maxTokens?: number; thinking?: { type: "enabled" | "disabled"; budgetTokens?: number; }; } 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; };