import type { INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from 'n8n-workflow'; export interface SubAgentUsage { prompt_tokens: number; completion_tokens: number; total_tokens: number; iterations: number; } export interface SubAgentResult { response: string; usage: SubAgentUsage; } export interface SubAgentContext { task: string; /** Conversation history injected by the orchestrator (for stateless agents). */ history?: Array<{ role: 'user' | 'assistant'; content: string; }>; /** Arbitrary state passed from the orchestrator (CRM data, contact info, etc.). */ state?: Record; } export interface SubAgentAction { action: string; description: string; } export interface SubAgent { name: string; description: string; /** When true the agent uses orchestrator-provided history; it does not maintain its own session state. */ stateless: boolean; /** Declared output actions — routing and terminal values this agent can return. */ actions: SubAgentAction[]; /** JSON key for the user-facing message in the agent output (e.g. "content_raw"). */ outputContentKey: string; /** JSON key for the routing/instructions block in the agent output (e.g. "routing"). */ outputInstructionsKey: string; call: (context: SubAgentContext, sessionId: string) => Promise; } export declare class SubAgentKit implements INodeType { description: INodeTypeDescription; supplyData(this: ISupplyDataFunctions): Promise; } //# sourceMappingURL=SubAgentKit.node.d.ts.map