UNPKG

mcp-think-tank

Version:

Structured thinking and knowledge management tool for Model Context Protocol

45 lines 2.01 kB
import { IAgent } from '../../agents/IAgent.js'; import { CoordinationStrategy } from '../CoordinationStrategy.js'; /** * Implements a parallel strategy for agent coordination. * All agents process the input simultaneously. */ export declare class ParallelStrategy implements CoordinationStrategy { private pendingAgents; private completionFunction; /** * Create a new ParallelStrategy */ constructor(); /** * Get the next agent in the parallel execution. * For parallel strategy, this returns each agent once until all have been returned. * * @param agents - Array of available agents * @param currentAgentId - ID of the currently active agent (if any) * @param outputs - Map of agent IDs to their outputs so far * @param isDone - Optional function to check if an agent's output indicates completion * @returns The next agent to run, or null if all agents have been processed */ nextAgent(agents: IAgent[], currentAgentId: string | null, outputs: Map<string, string[]>, isDone?: (output: string) => boolean): IAgent | null; /** * Combine the outputs from multiple agents into a final result. * For parallel strategy, we merge all the outputs. * * @param outputs - Map of agent IDs to their outputs * @returns The combined output */ combine(outputs: Map<string, string[]>): string; /** * Check whether the orchestration is complete based on the current state. * For parallel strategy, we're done when: * 1. Any agent's output satisfies the completion function, if provided * 2. All agents have been processed (pendingAgents is empty) * * @param agents - Array of available agents * @param outputs - Map of agent IDs to their outputs so far * @returns True if orchestration should be considered complete, false otherwise */ isDone(agents: IAgent[], outputs: Map<string, string[]>): boolean; } //# sourceMappingURL=ParallelStrategy.d.ts.map