import type { AgentContext, Message } from './types'; /** * Agent Composition — v0.8.0 * Combine multiple agents into a pipeline: Agent A output → Agent B input. * Configurable in OAD: `compose: [agent-a, agent-b]` */ export type AgentHandler = (context: AgentContext, message: Message) => Promise; export interface ComposableAgent { id: string; name: string; handler: AgentHandler; } export interface ComposeOptions { /** Stop pipeline if any agent returns empty content */ stopOnEmpty?: boolean; /** Transform output between agents */ transform?: (output: Message, nextAgentId: string) => Message; /** Timeout per agent in ms */ timeoutMs?: number; } export declare class AgentPipeline { private agents; private options; constructor(agents: ComposableAgent[], options?: ComposeOptions); /** Run the pipeline sequentially: each agent's output becomes the next agent's input */ execute(context: AgentContext, initialMessage: Message): Promise; /** Get the pipeline agent IDs in order */ getAgentIds(): string[]; } /** * Create a pipeline from an array of composable agents. * Usage in OAD: `compose: [agent-a, agent-b, agent-c]` */ export declare function compose(agents: ComposableAgent[], options?: ComposeOptions): AgentPipeline; //# sourceMappingURL=compose.d.ts.map