@sethdouglasford/claude-flow
Version:
Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology
66 lines • 2.72 kB
TypeScript
/**
* Coordination manager for task scheduling and resource management
*/
import { Task, CoordinationConfig } from "../utils/types.js";
import { IEventBus } from "../core/event-bus.js";
import { ILogger } from "../core/logger.js";
export interface ICoordinationManager {
initialize(): Promise<void>;
shutdown(): Promise<void>;
assignTask(task: Task, agentId: string): Promise<void>;
getAgentTaskCount(agentId: string): Promise<number>;
getAgentTasks(agentId: string): Promise<Task[]>;
cancelTask(taskId: string, reason?: string): Promise<void>;
acquireResource(resourceId: string, agentId: string): Promise<void>;
releaseResource(resourceId: string, agentId: string): Promise<void>;
sendMessage(from: string, to: string, message: unknown): Promise<void>;
getHealthStatus(): Promise<{
healthy: boolean;
error?: string;
metrics?: Record<string, number>;
}>;
performMaintenance(): Promise<void>;
getCoordinationMetrics(): Promise<Record<string, unknown>>;
enableAdvancedScheduling(): void;
reportConflict(type: "resource" | "task", id: string, agents: string[]): Promise<void>;
}
/**
* Coordination manager implementation
*/
export declare class CoordinationManager implements ICoordinationManager {
private config;
private eventBus;
private logger;
private scheduler;
private resourceManager;
private messageRouter;
private conflictResolver;
private metricsCollector;
private initialized;
private deadlockCheckInterval?;
private advancedSchedulingEnabled;
constructor(config: CoordinationConfig, eventBus: IEventBus, logger: ILogger);
initialize(): Promise<void>;
shutdown(): Promise<void>;
assignTask(task: Task, agentId: string): Promise<void>;
getAgentTaskCount(agentId: string): Promise<number>;
acquireResource(resourceId: string, agentId: string): Promise<void>;
releaseResource(resourceId: string, agentId: string): Promise<void>;
sendMessage(from: string, to: string, message: unknown): Promise<void>;
getHealthStatus(): Promise<{
healthy: boolean;
error?: string;
metrics?: Record<string, number>;
}>;
private setupEventHandlers;
private startDeadlockDetection;
private detectDeadlock;
private resolveDeadlock;
getAgentTasks(agentId: string): Promise<Task[]>;
cancelTask(taskId: string, reason?: string): Promise<void>;
performMaintenance(): Promise<void>;
getCoordinationMetrics(): Promise<Record<string, unknown>>;
enableAdvancedScheduling(): void;
reportConflict(type: "resource" | "task", id: string, agents: string[]): Promise<void>;
}
//# sourceMappingURL=manager.d.ts.map