/** * AgentRegistry - Central registry for managing available agents * * @module agents/registry */ import type { AgentDefinition, AgentInfo } from "./types.js"; /** * Registry for managing agent definitions and queries. * Maintains a catalog of available agents and supports capability-based lookups. */ export declare class AgentRegistry { private agents; /** * Registers a new agent in the registry. * * @param agent - The agent definition to register * @throws {McpToolError} If an agent with the same name is already registered */ registerAgent(agent: AgentDefinition): void; /** * Retrieves an agent by name. * * @param name - The name of the agent to retrieve * @returns The agent definition, or undefined if not found */ getAgent(name: string): AgentDefinition | undefined; /** * Queries for agents that have at least one of the specified capabilities. * * @param capabilities - Array of capabilities to search for * @returns Array of agent definitions that match at least one capability */ queryByCapability(capabilities: string[]): AgentDefinition[]; /** * Lists all registered agents as AgentInfo objects. * * @returns Array of agent information for all registered agents */ listAgents(): AgentInfo[]; /** * Unregisters an agent by name. * * @param name - The name of the agent to unregister * @returns true if the agent was unregistered, false if it was not found */ unregisterAgent(name: string): boolean; /** * Clears all registered agents from the registry. * Useful for testing or resetting the registry state. */ clear(): void; } /** * Singleton instance of the AgentRegistry. * Use this export for global agent management. */ export declare const agentRegistry: AgentRegistry; //# sourceMappingURL=registry.d.ts.map