UNPKG

claude-flow

Version:

Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration

183 lines 5.16 kB
/** * V3 Plugin Registry * Domain-Driven Design - Plugin-Based Architecture (ADR-004) * * Central registry for tracking plugin state, metadata, and registrations */ import type { ClaudeFlowPlugin, PluginInfo, PluginLifecycleState, PluginContext, AgentTypeDefinition, TaskTypeDefinition, MCPToolDefinition, CLICommandDefinition, MemoryBackendFactory } from './plugin-interface.js'; /** * Plugin registry for managing plugin lifecycle and registrations */ export declare class PluginRegistry { private plugins; private agentTypes; private taskTypes; private mcpTools; private cliCommands; private memoryBackends; /** * Register a plugin in the registry */ registerPlugin(plugin: ClaudeFlowPlugin, initialState: PluginLifecycleState, context: PluginContext): void; /** * Unregister a plugin from the registry */ unregisterPlugin(pluginName: string): boolean; /** * Get a plugin by name */ getPlugin(pluginName: string): PluginInfo | undefined; /** * Get all registered plugins */ getAllPlugins(): Map<string, PluginInfo>; /** * Get all plugin names */ getPluginNames(): string[]; /** * Check if a plugin is registered */ hasPlugin(pluginName: string): boolean; /** * Get plugins by state */ getPluginsByState(state: PluginLifecycleState): PluginInfo[]; /** * Get plugin count */ getPluginCount(): number; /** * Update plugin state */ updatePluginState(pluginName: string, state: PluginLifecycleState, error?: Error): void; /** * Collect and update plugin metrics */ collectPluginMetrics(pluginName: string): void; /** * Get plugin status summary */ getStatusSummary(): PluginRegistryStatus; /** * Register agent types from a plugin */ registerAgentTypes(pluginName: string): void; /** * Unregister agent types from a plugin */ unregisterPluginAgentTypes(pluginName: string): void; /** * Get agent type definition */ getAgentType(type: string): AgentTypeDefinition | undefined; /** * Get all agent types */ getAllAgentTypes(): AgentTypeDefinition[]; /** * Get agent types by plugin */ getAgentTypesByPlugin(pluginName: string): AgentTypeDefinition[]; /** * Register task types from a plugin */ registerTaskTypes(pluginName: string): void; /** * Unregister task types from a plugin */ unregisterPluginTaskTypes(pluginName: string): void; /** * Get task type definition */ getTaskType(type: string): TaskTypeDefinition | undefined; /** * Get all task types */ getAllTaskTypes(): TaskTypeDefinition[]; /** * Get task types by plugin */ getTaskTypesByPlugin(pluginName: string): TaskTypeDefinition[]; /** * Register MCP tools from a plugin */ registerMCPTools(pluginName: string): void; /** * Unregister MCP tools from a plugin */ unregisterPluginMCPTools(pluginName: string): void; /** * Get MCP tool definition */ getMCPTool(name: string): MCPToolDefinition | undefined; /** * Get all MCP tools */ getAllMCPTools(): MCPToolDefinition[]; /** * Get MCP tools by plugin */ getMCPToolsByPlugin(pluginName: string): MCPToolDefinition[]; /** * Register CLI commands from a plugin */ registerCLICommands(pluginName: string): void; /** * Unregister CLI commands from a plugin */ unregisterPluginCLICommands(pluginName: string): void; /** * Get CLI command definition */ getCLICommand(name: string): CLICommandDefinition | undefined; /** * Get all CLI commands */ getAllCLICommands(): CLICommandDefinition[]; /** * Get CLI commands by plugin */ getCLICommandsByPlugin(pluginName: string): CLICommandDefinition[]; /** * Register memory backends from a plugin */ registerMemoryBackends(pluginName: string): void; /** * Unregister memory backends from a plugin */ unregisterPluginMemoryBackends(pluginName: string): void; /** * Get memory backend factory */ getMemoryBackend(name: string): MemoryBackendFactory | undefined; /** * Get all memory backends */ getAllMemoryBackends(): MemoryBackendFactory[]; /** * Get memory backends by plugin */ getMemoryBackendsByPlugin(pluginName: string): MemoryBackendFactory[]; /** * Register all extension points from a plugin */ registerAllFromPlugin(pluginName: string): void; /** * Clear all registrations (for testing) */ clear(): void; } /** * Plugin registry status summary */ export interface PluginRegistryStatus { totalPlugins: number; states: Record<PluginLifecycleState, number>; agentTypesRegistered: number; taskTypesRegistered: number; mcpToolsRegistered: number; cliCommandsRegistered: number; memoryBackendsRegistered: number; } //# sourceMappingURL=plugin-registry.d.ts.map