/** * Workflow executor - runs workflows and tracks data flow. */ import type { MCPClient } from '../transport/mcp-client.js'; import type { MCPTool } from '../transport/types.js'; import type { LLMClient } from '../llm/client.js'; import type { Workflow, WorkflowResult, WorkflowExecutorOptions } from './types.js'; /** * Executes workflows against an MCP server. */ export declare class WorkflowExecutor { private client; private llm; private tools; private options; private stepResults; private onProgress?; private logger; private stateTracker?; private timeouts; constructor(client: MCPClient, llm: LLMClient | null, tools: MCPTool[], options?: WorkflowExecutorOptions); /** * Emit progress event if callback is registered. */ private emitProgress; /** * Execute a workflow. * * @param workflow - The workflow to execute * @throws AbortError if the operation is aborted via signal */ execute(workflow: Workflow): Promise; /** * Execute a single workflow step. */ private executeStep; /** * Resolve arguments for a step, applying mappings from previous step outputs. */ private resolveArguments; /** * Resolve a JSONPath-like expression against previous step results. * Supports: $steps[n].result.path.to.value */ private resolvePath; /** * Navigate a dot-separated path in an object. */ private navigatePath; /** * Run assertions against a step response. */ private runAssertions; /** * Run a single assertion. */ private runAssertion; /** * Extract error message from a tool response. */ private extractErrorMessage; /** * Get indices of dependency steps that have failed. * Dependencies are steps referenced in argMapping. */ private getFailedDependencies; /** * Build a data flow graph showing how data moves between steps. */ private buildDataFlowGraph; /** * Generate LLM analysis for a step. * Returns a fallback message if LLM is not available (check mode). */ private analyzeStep; /** * Generate a summary of the workflow execution. * Returns a fallback message if LLM is not available (check mode). */ private generateWorkflowSummary; } //# sourceMappingURL=executor.d.ts.map