/** * AutoGen / AG2 Adapter * * Allows Microsoft AutoGen (AG2) agents to plug into the SwarmOrchestrator. * AutoGen agents communicate via message-passing conversations, so this * adapter translates the orchestrator's task payloads into AutoGen messages. * * Usage: * const adapter = new AutoGenAdapter(); * adapter.registerAgent("coder", myAutoGenAgent); * adapter.registerAgent("critic", myCriticAgent); * await registry.addAdapter(adapter); * * Then in the orchestrator: * delegateTask({ targetAgent: "autogen:coder", ... }) * * @module AutoGenAdapter * @version 1.0.0 */ import { BaseAdapter } from './base-adapter'; import type { AdapterCapabilities, AgentPayload, AgentContext, AgentResult } from '../types/agent-adapter'; /** * AutoGen-compatible agent interface. * Matches the core methods of AutoGen's ConversableAgent. */ export interface AutoGenAgent { /** Agent name */ name: string; /** Send a message and get a reply */ generateReply?: (messages: Array<{ role: string; content: string; name?: string; }>, sender?: unknown) => Promise; /** Run the agent with a task (simplified interface) */ run?: (task: string, context?: Record) => Promise; /** Initiate a chat (AutoGen 0.2+ style) */ initiateChat?: (recipient: unknown, message: string, config?: Record) => Promise<{ chat_history: Array<{ role: string; content: string; }>; summary?: string; }>; } export declare class AutoGenAdapter extends BaseAdapter { readonly name = "autogen"; readonly version = "1.0.0"; private agents; get capabilities(): AdapterCapabilities; /** * Register an AutoGen agent. * The agent should implement at least one of: generateReply, run, or initiateChat. */ registerAgent(agentId: string, agent: AutoGenAgent, metadata?: { description?: string; capabilities?: string[]; }): void; executeAgent(agentId: string, payload: AgentPayload, context: AgentContext): Promise; private buildTaskString; private buildMessages; private normalizeResult; } //# sourceMappingURL=autogen-adapter.d.ts.map