/** * Multi-Agent Testing — Test interactions between multiple agents. * * Supports agent delegation, conversation flows, tool call expectations, * and inter-agent message passing validation. */ import type { AgentTrace } from './types'; export interface AgentDefinition { name: string; adapter: string; model: string; tools?: string[]; system_prompt?: string; } export interface ConversationStep { to: string; message?: string; expect?: ConversationExpectation; } export interface ConversationExpectation { delegates_to?: string; tool_called?: string | string[]; output_contains?: string | string[]; output_matches?: string; max_steps?: number; max_duration_ms?: number; response_not_empty?: boolean; } export interface MultiAgentTest { name: string; agents: Record; conversation: ConversationStep[]; timeout_ms?: number; } export interface DelegationEvent { from: string; to: string; message?: string; timestamp: string; } export interface MultiAgentResult { test_name: string; passed: boolean; agents_used: string[]; delegations: DelegationEvent[]; step_results: ConversationStepResult[]; duration_ms: number; error?: string; } export interface ConversationStepResult { step_index: number; agent: string; passed: boolean; expectations_met: string[]; expectations_failed: string[]; trace?: AgentTrace; } export declare class AgentRegistry { private agents; register(name: string, definition: AgentDefinition): void; get(name: string): AgentDefinition | undefined; has(name: string): boolean; list(): string[]; clear(): void; } export declare function parseMultiAgentConfig(raw: any): MultiAgentTest; export declare function detectDelegation(trace: AgentTrace, agentNames: string[]): DelegationEvent[]; export declare function evaluateConversationStep(trace: AgentTrace, expect: ConversationExpectation, agentNames: string[]): { passed: boolean; met: string[]; failed: string[]; }; export declare function formatMultiAgentResult(result: MultiAgentResult): string; //# sourceMappingURL=multi-agent.d.ts.map