/** * Agent Capability Matcher Service * * Maps task requirements to agent specializations by scoring * agents based on their capabilities, expertise, and selection criteria. */ import type { AgentScore, CodebaseContext, TaskClassification } from '../types/agent.types.js'; import type { AgentCapabilityRegistryService } from './agent-capability-registry.service.js'; export declare class AgentCapabilityMatcherService { private readonly logger; private registryService; constructor(registryService: AgentCapabilityRegistryService); /** * Score all available agents based on task classification and context */ scoreAgents(taskClassification: TaskClassification, context: CodebaseContext): AgentScore[]; /** * Calculate comprehensive score for an agent */ private calculateAgentScore; /** * Calculate domain match score */ private calculateDomainMatchScore; /** * Get related domains for a given domain. * Derived dynamically from the registry: two domains are related if * specialist agents (≤5 domains) cover both. This automatically adapts * when new language/framework agents are added to the registry. */ private getRelatedDomains; /** * Calculate expertise match score */ private calculateExpertiseMatchScore; /** * Calculate selection criteria match score */ private calculateCriteriaMatchScore; /** * Extract selection criteria from codebase context. * Uses a data-driven mapping so new file types and technologies * can be associated with criteria without modifying the logic. */ private extractSelectionCriteriaFromContext; /** * Add criteria from a lookup table for each matching key. */ private addMatchingCriteria; /** * Calculate context match score */ private calculateContextMatchScore; /** * Generate human-readable reasons for the scoring */ private generateScoringReasons; /** * Add domain alignment reasons */ private addDomainReasons; /** * Add expertise relevance reasons */ private addExpertiseReasons; /** * Find relevant expertise based on task classification */ private findRelevantExpertise; /** * Add selection criteria reasons */ private addCriteriaReasons; /** * Add technology alignment reasons */ private addTechnologyReasons; /** * Find technology matches between capability and context */ private findTechnologyMatches; /** * Add priority information reason */ private addPriorityReason; /** * Find the best agent for a specific task and context */ findBestAgent(taskClassification: TaskClassification, context: CodebaseContext): null | { agent: string; score: AgentScore; }; /** * Get agents above a minimum confidence threshold */ getQualifiedAgents(taskClassification: TaskClassification, context: CodebaseContext, minScore?: number): AgentScore[]; } //# sourceMappingURL=agent-capability-matcher.service.d.ts.map