//#region src/contracts/preferred-model.d.ts /** * Cost-tier vocabulary for declaring a preferred model on a tool or * agent. Provider-agnostic at the tool-author level; the operator-side * `Agent.modelTierMap?: Partial>` mapping * resolves the hint to a concrete provider per agent. * * The three tiers describe canonical cloud-provider price-quality * envelopes circa 2026: * * - `'fast'` - low-cost / low-latency / file-navigation / * parameter-extraction / low-stakes calls. * - `'balanced'` - median cost-quality; the default tier for most * tools. * - `'smart'` - high-quality / high-stakes / reasoning-heavy / * summarization / code-review calls. * * The vocabulary is Graphorin's own design - no third-party routing- * guide attribution leaks into the public surface. Per-provider * dispatch lives in `@graphorin/provider/model-tier/classify.ts`. * * @stable */ type ModelHint = 'fast' | 'balanced' | 'smart'; /** * Discriminated string-literal triple for type-level work. * * @stable */ declare const MODEL_HINTS: readonly ModelHint[]; /** * Forward-declared shape of `Provider`. Re-declared here as a minimal * structural type so this module stays cycle-free with respect to * `./provider.ts` and downstream consumers can use `ModelSpec` without * importing the heavier `Provider` interface. * * @internal */ interface ProviderLike { readonly name: string; readonly modelId: string; } /** * Concrete provider declaration used at site of the per-tool hint * override (Phase 07), the per-tier mapping * (`Agent.modelTierMap`, Phase 12), and the agent-level fallback chain * (`Agent.fallbackModels`, Phase 12). * * The shape is unified deliberately so operators learn one thing and * use it three places. * * @stable */ type ModelSpec = ProviderLike | { readonly provider: ProviderLike; readonly model: string; }; //#endregion export { MODEL_HINTS, ModelHint, ModelSpec, ProviderLike }; //# sourceMappingURL=preferred-model.d.ts.map