import type { FitnessRole } from "../../modes/interactive/components/fitness-role-selector.ts"; /** * Curated local-model suggestions: a starting roster validated during pi-adaptative's own * small-model research so a user does not have to know WHICH model fits WHICH role. Each entry is * an install ref (accepted by /models add) plus the role it was validated for and whether it can use * tools. Native tool-calling remains preferred when it works; text-protocol models are listed only * when their runtime is pi-managed and the fitness/probe path can calibrate that fallback. * * Honesty: these are SUGGESTIONS, not guarantees. Fitness is a property of the model AND the host * hardware, so no per-model score is baked in here — `/models add` auto-probes on the actual * machine, and the roster only encodes what role each model was SHAPED for. `assignRole` is the * /fitness role the suggestion maps to (undefined = no single-setting slot yet; use it as a * research/worker lane model). */ export interface ModelSuggestion { /** Display name in the suggestions list. */ name: string; /** Ref accepted by /models add and the source normalizer. */ pullRef: string; /** Role this model was validated/shaped for. */ role: string; /** True if the model can use tools after host-local probing/calibration (required for executor). */ toolCalling: boolean; /** The /fitness assignment target this suggestion maps to, when there is a single-setting slot. */ assignRole?: FitnessRole; /** One-line rationale from the validation work; never a fabricated numeric score. */ rationale: string; /** Optional caveat (quant selection, RAM needs). */ note?: string; } export declare const DEFAULT_MODEL_SUGGESTIONS: readonly ModelSuggestion[]; /** Bounded plain-text roster for `/models suggest` and the empty-store hint. */ export declare function formatModelSuggestions(suggestions?: readonly ModelSuggestion[]): string[]; //# sourceMappingURL=default-model-suggestions.d.ts.map