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

112 lines 3.29 kB
/** * Swarm Application Service - Application Layer * * Orchestrates swarm operations and provides simplified interface. * * @module v3/swarm/application/services */ import { Agent, AgentRole, AgentStatus } from '../../domain/entities/agent.js'; import { Task, TaskStatus, TaskPriority } from '../../domain/entities/task.js'; import { IAgentRepository, AgentStatistics } from '../../domain/repositories/agent-repository.interface.js'; import { ITaskRepository, TaskStatistics } from '../../domain/repositories/task-repository.interface.js'; import { LoadBalancingStrategy, SwarmHealth } from '../../domain/services/coordination-service.js'; import { SpawnAgentInput } from '../commands/spawn-agent.command.js'; import { CreateTaskInput } from '../commands/create-task.command.js'; /** * Swarm configuration */ export interface SwarmConfig { loadBalancingStrategy?: LoadBalancingStrategy; autoScaling?: boolean; minAgents?: number; maxAgents?: number; } /** * Swarm Application Service */ export declare class SwarmApplicationService { private readonly agentRepository; private readonly taskRepository; private readonly config; private readonly coordinationService; private readonly spawnHandler; private readonly terminateHandler; private readonly createTaskHandler; private readonly cancelTaskHandler; constructor(agentRepository: IAgentRepository, taskRepository: ITaskRepository, config?: SwarmConfig); /** * Spawn a new agent */ spawnAgent(input: SpawnAgentInput): Promise<Agent>; /** * Terminate an agent */ terminateAgent(agentId: string, force?: boolean): Promise<void>; /** * Get agent by ID */ getAgent(agentId: string): Promise<Agent | null>; /** * List all agents */ listAgents(options?: { status?: AgentStatus; role?: AgentRole; domain?: string; }): Promise<Agent[]>; /** * Get agent statistics */ getAgentStatistics(): Promise<AgentStatistics>; /** * Create a new task */ createTask(input: CreateTaskInput): Promise<Task>; /** * Cancel a task */ cancelTask(taskId: string): Promise<void>; /** * Get task by ID */ getTask(taskId: string): Promise<Task | null>; /** * List tasks */ listTasks(options?: { status?: TaskStatus; priority?: TaskPriority; assignedAgentId?: string; }): Promise<Task[]>; /** * Get task statistics */ getTaskStatistics(): Promise<TaskStatistics>; /** * Assign pending tasks to available agents */ processPendingTasks(): Promise<number>; /** * Complete a task */ completeTask(taskId: string, output?: unknown): Promise<void>; /** * Fail a task */ failTask(taskId: string, error: string): Promise<boolean>; /** * Get swarm health */ getHealth(): Promise<SwarmHealth>; /** * Get scaling recommendation */ getScalingRecommendation(): Promise<{ action: "scale-up" | "scale-down" | "none"; count: number; reason: string; }>; initialize(): Promise<void>; shutdown(): Promise<void>; } //# sourceMappingURL=swarm-application-service.d.ts.map