import type { AgentRegistryEntry } from '../types/coordination.js'; import type { Task, TaskType } from '../tasks/types.js'; /** * Agent capability definitions for intelligent task routing. */ export type AgentCapability = 'typescript' | 'javascript' | 'python' | 'rust' | 'go' | 'cpp' | 'java' | 'cli' | 'frontend' | 'backend' | 'database' | 'security' | 'performance' | 'documentation' | 'testing' | 'devops' | 'infrastructure' | 'code-review' | 'refactoring'; /** * Droid/skill mapping for capability routing. */ export interface CapabilityMapping { capability: AgentCapability; droids: string[]; skills: string[]; filePatterns: string[]; taskTypes: TaskType[]; priority: number; } /** * Default capability mappings for UAM droids and skills. */ export declare const DEFAULT_CAPABILITY_MAPPINGS: CapabilityMapping[]; export interface RoutingResult { recommendedDroids: string[]; recommendedSkills: string[]; matchedCapabilities: AgentCapability[]; confidence: number; reasoning: string; } export interface AgentMatch { agent: AgentRegistryEntry; matchedCapabilities: AgentCapability[]; score: number; } /** * Capability-based router for intelligent task and agent routing. */ export declare class CapabilityRouter { private mappings; constructor(customMappings?: CapabilityMapping[]); /** * Route a task to the best droids/skills based on task content and affected files. */ routeTask(task: Task, affectedFiles?: string[]): RoutingResult; /** * Find the best agent for a task based on capabilities. */ findBestAgent(task: Task, availableAgents: AgentRegistryEntry[], affectedFiles?: string[]): AgentMatch | null; /** * Route files to appropriate capabilities. */ routeFiles(files: string[]): Map; /** * Get recommended parallel review droids for a set of files. */ getParallelReviewDroids(files: string[]): string[]; /** * Match files against a glob-like pattern. */ private matchesPattern; /** * Convert glob pattern to regex. */ private patternToRegex; /** * Extract keywords from task for matching. */ private extractKeywords; /** * Add or update a capability mapping. */ addMapping(mapping: CapabilityMapping): void; /** * Get all registered mappings. */ getMappings(): CapabilityMapping[]; } export declare function getCapabilityRouter(): CapabilityRouter; export declare function setCapabilityRouter(router: CapabilityRouter): void; //# sourceMappingURL=capability-router.d.ts.map