- Split 25+ index.ts files into hook.ts + extracted modules - Rename all catch-all utils.ts/helpers.ts to domain-specific names - Split src/tools/lsp/ into ~15 focused modules - Split src/tools/delegate-task/ into ~18 focused modules - Separate shared types from implementation - 155 files changed, 60+ new files created - All typecheck clean, 61 tests pass
31 lines
623 B
TypeScript
31 lines
623 B
TypeScript
import type { FallbackEntry } from "./model-requirements"
|
|
|
|
export type ModelResolutionRequest = {
|
|
intent?: {
|
|
uiSelectedModel?: string
|
|
userModel?: string
|
|
categoryDefaultModel?: string
|
|
}
|
|
constraints: {
|
|
availableModels: Set<string>
|
|
}
|
|
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
|
|
}
|