mcp-think-tank
Version:
Structured thinking and knowledge management tool for Model Context Protocol
46 lines • 1.82 kB
TypeScript
import { IAgent } from '../agents/IAgent.js';
/**
* Interface for coordination strategies that manage the order and manner
* in which agents are executed.
*/
export interface CoordinationStrategy {
/**
* Determine the next agent to run in the orchestration sequence.
*
* @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 callback function to check if an agent's output indicates completion
* @returns The next agent to run, or null if orchestration should terminate
*/
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.
*
* @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.
*
* @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;
}
/**
* Result of an orchestration run, including the final output
* and metadata about the run.
*/
export interface OrchestrationResult {
output: string;
finalOutput: string;
outputs: string[];
agentOutputs: Map<string, string[]>;
status: 'COMPLETED' | 'HALTED_LIMIT' | 'ERROR';
steps: number;
duration: number;
}
//# sourceMappingURL=CoordinationStrategy.d.ts.map