/** * Task Classifier Service * * Analyses task descriptions and classifies implementation requirements * to determine the appropriate agent specialisation. */ import type { TaskClassification, TaskContext } from '../types/agent.types.js'; import { type DomainKeywordRegistry } from '../utils/domain-keyword-registry.js'; import type { AgentCapabilityRegistryService } from './agent-capability-registry.service.js'; export declare class TaskClassifierService { /** * File patterns for domain detection. * Extend this to add new language/framework file associations. */ static readonly DEFAULT_FILE_PATTERNS: Record; private readonly capabilityRegistry; private readonly keywordRegistry; private readonly logger; constructor(keywordRegistry?: DomainKeywordRegistry, capabilityRegistry?: AgentCapabilityRegistryService); /** * Classify a task based on its description and context */ classifyTask(taskContext: TaskContext): TaskClassification; /** * Extract keywords from task description */ private extractKeywords; /** * Identify patterns from extracted keywords */ private identifyPatterns; /** * Determine primary domain based on patterns and context */ private determinePrimaryDomain; /** * Detect domain from affected files. * File patterns are extensible — new language/framework patterns can be added * to DEFAULT_FILE_PATTERNS without modifying the detection logic. */ private detectDomainFromFiles; /** * Calculate task complexity */ private calculateComplexity; /** * Get suggested agents for a domain. * When the capability registry is available, agents are looked up dynamically * so new language/framework agents are automatically suggested. */ private getSuggestedAgents; /** * Default agent suggestions when the capability registry is unavailable. * Maps well-known domains to conventional agent names. */ private getDefaultAgentsForDomain; } //# sourceMappingURL=task-classifier.service.d.ts.map