(
context: ExecutionContext,
dag: DAG,
state: ExecutionState,
snapshotState = this.contextExtensions.snapshotState
)
| 345 | } |
| 346 | |
| 347 | private buildExecutionPipeline( |
| 348 | context: ExecutionContext, |
| 349 | dag: DAG, |
| 350 | state: ExecutionState, |
| 351 | snapshotState = this.contextExtensions.snapshotState |
| 352 | ) { |
| 353 | const resolver = new VariableResolver(this.workflow, this.workflowVariables, state, { |
| 354 | navigatePathAsync, |
| 355 | }) |
| 356 | const allHandlers = createBlockHandlers() |
| 357 | const blockExecutor = new BlockExecutor(allHandlers, resolver, this.contextExtensions, state) |
| 358 | const edgeManager = new EdgeManager(dag) |
| 359 | const loopOrchestrator = new LoopOrchestrator( |
| 360 | dag, |
| 361 | state, |
| 362 | resolver, |
| 363 | this.contextExtensions, |
| 364 | edgeManager |
| 365 | ) |
| 366 | const parallelOrchestrator = new ParallelOrchestrator( |
| 367 | dag, |
| 368 | state, |
| 369 | resolver, |
| 370 | this.contextExtensions, |
| 371 | edgeManager |
| 372 | ) |
| 373 | edgeManager.restoreDeactivatedEdges( |
| 374 | snapshotState?.deactivatedEdges, |
| 375 | snapshotState?.nodesWithActivatedEdge |
| 376 | ) |
| 377 | const nodeOrchestrator = new NodeExecutionOrchestrator( |
| 378 | dag, |
| 379 | state, |
| 380 | blockExecutor, |
| 381 | loopOrchestrator, |
| 382 | parallelOrchestrator |
| 383 | ) |
| 384 | return new ExecutionEngine(context, dag, edgeManager, nodeOrchestrator) |
| 385 | } |
| 386 | |
| 387 | private createExecutionContext( |
| 388 | workflowId: string, |
no test coverage detected