/** * Model Intelligence — knowledge base of model capabilities, strengths, * and task-type suitability. Powers automatic agent → model routing. * * Each entry records: * - Known strengths (what this model family excels at) * - Known weaknesses (what it struggles with) * - Best-for task types (coding, planning, security, docs, etc.) * - Cost tier (budget / standard / premium) * * This is a curated dataset updated as new models release. Falls back * gracefully for unknown models. */ export interface ModelProfile { /** Provider id (e.g. "anthropic", "openai"). */ provider: string; /** Model id regex — matches partial ids for a model family. */ pattern: RegExp; /** Human-readable model family name. */ family: string; /** What this model is particularly good at. */ strengths: string[]; /** Known limitations. */ weaknesses?: string[]; /** Task types this model is the best choice for. Ordered by preference. */ bestFor: TaskType[]; /** Task types to avoid with this model (use a different one). */ avoidFor?: TaskType[]; /** Approximate cost tier. */ costTier: 'budget' | 'standard' | 'premium'; /** Approximate speed tier (relative to other models). */ speedTier: 'fast' | 'normal' | 'slow'; /** Minimum recommended context window. */ minContext?: number; } /** Task categories that map to agent roles. */ export type TaskType = 'coding' | 'planning' | 'security' | 'docs' | 'testing' | 'refactoring' | 'debugging' | 'data' | 'frontend' | 'backend' | 'review' | 'lightweight' | 'general'; /** Known model profiles. Patterns are tried in order; first match wins. */ export declare const MODEL_PROFILES: ModelProfile[]; /** Map task types to the agent roles that handle them. */ export declare const TASK_TO_ROLE: Record; /** * Infer the most likely task type from a task description and target role. * Uses keyword matching; falls back to the role's primary task type. */ export declare function inferTaskType(description: string, role?: string): TaskType; /** * Find the best matching model profile for a given provider + model id. */ export declare function findModelProfile(provider: string, modelId: string): ModelProfile | undefined; /** * Score a model for a given task type. Higher = better fit. * Returns 0-100. */ export declare function scoreModelForTask(profile: ModelProfile | undefined, taskType: TaskType): number; //# sourceMappingURL=model-intelligence.d.ts.map