/** * @license * Copyright 2025 OSAgent OC * SPDX-License-Identifier: Apache-2.0 */ import type { RegisteredAgent, AgentTier } from './types.js'; /** * Agent Registry - manages available agents and their capabilities */ export declare class AgentRegistry { private agents; private capabilityIndex; private tierIndex; constructor(); /** * Register a new agent */ registerAgent(agent: RegisteredAgent): void; /** * Unregister an agent */ unregisterAgent(id: string): boolean; /** * Get agent by ID */ getAgent(id: string): RegisteredAgent | undefined; /** * Get all registered agents */ getAllAgents(): RegisteredAgent[]; /** * Get agents by tier */ getAgentsByTier(tier: AgentTier): RegisteredAgent[]; /** * Get agents by capability */ getAgentsByCapability(capabilityName: string): RegisteredAgent[]; /** * Find agents matching keywords in prompt */ findAgentsForPrompt(prompt: string): Array<{ agent: RegisteredAgent; score: number; matchedKeywords: string[]; }>; /** * Get tier multiplier for scoring */ private getTierMultiplier; /** * Find agents matching a directory pattern (for project agents) */ findAgentsForDirectory(directory: string): RegisteredAgent[]; /** * Simple pattern matching */ private matchPattern; /** * Update agent statistics */ updateAgentStats(agentId: string, success: boolean, duration: number): void; /** * Enable/disable agent */ setAgentEnabled(agentId: string, enabled: boolean): void; /** * Get agent count by tier */ getAgentCountByTier(): Record; /** * Get total agent count */ getTotalAgentCount(): number; /** * Get enabled agent count */ getEnabledAgentCount(): number; /** * Export registry for persistence */ export(): RegisteredAgent[]; /** * Import agents (e.g., from config file) */ import(agents: RegisteredAgent[]): void; /** * Clear all non-builtin agents */ clearDynamicAgents(): void; } export declare const defaultAgentRegistry: AgentRegistry;