/** * Agent Capability Registry Service * * Centralized registry for agent capabilities and selection criteria. * Loads and manages agent capabilities from the registry.json file. */ import type { AgentCapability, SelectionCriterion, TaskDomain } from '../types/agent.types.js'; export declare class AgentCapabilityRegistryService { private initialized; private readonly logger; private registry; private selectionCriteria; private taskDomains; /** * Initialize the registry by loading from registry.json */ initialize(): Promise; /** * Load agent capabilities into the registry */ private loadCapabilities; /** * Load selection criteria descriptions */ private loadSelectionCriteria; /** * Load task domain descriptions */ private loadTaskDomains; /** * Get a specific agent's capability */ getCapability(role: string): AgentCapability | undefined; /** * Get all agent capabilities */ getAllCapabilities(): Map; /** * Find agents that match a specific domain */ findAgentsByDomain(domain: TaskDomain): string[]; /** * Find agents that match specific selection criteria */ findAgentsByCriteria(criteria: SelectionCriterion[]): string[]; /** * Find the best agent for a combination of domain and criteria */ findBestAgent(domain: TaskDomain, criteria?: SelectionCriterion[]): string | undefined; /** * Get selection criteria description */ getSelectionCriterionDescription(criterion: SelectionCriterion): string | undefined; /** * Get task domain description */ getTaskDomainDescription(domain: TaskDomain): string | undefined; /** * Get all available selection criteria */ getAllSelectionCriteria(): SelectionCriterion[]; /** * Get all available task domains */ getAllTaskDomains(): TaskDomain[]; /** * Check if an agent exists in the registry */ hasAgent(role: string): boolean; /** * Get agent roles that have specific capabilities */ findAgentsWithCapability(capability: keyof AgentCapability): string[]; /** * Validate that the registry is properly initialized */ private ensureInitialized; /** * Get registry statistics for monitoring */ getStats(): { agentsByDomain: Record; averageCriteriaPerAgent: number; totalAgents: number; totalCriteria: number; totalDomains: number; }; /** * Reload the registry (useful for development/testing) */ reload(): Promise; } //# sourceMappingURL=agent-capability-registry.service.d.ts.map