| 111 | } |
| 112 | |
| 113 | private initializeConfigs(workflow: SerializedWorkflow, dag: DAG): void { |
| 114 | if (workflow.loops) { |
| 115 | for (const [loopId, loopConfig] of Object.entries(workflow.loops)) { |
| 116 | dag.loopConfigs.set(loopId, { |
| 117 | ...loopConfig, |
| 118 | nodes: [...(loopConfig.nodes ?? [])], |
| 119 | }) |
| 120 | } |
| 121 | } |
| 122 | |
| 123 | if (workflow.parallels) { |
| 124 | for (const [parallelId, parallelConfig] of Object.entries(workflow.parallels)) { |
| 125 | dag.parallelConfigs.set(parallelId, { |
| 126 | ...parallelConfig, |
| 127 | nodes: [...(parallelConfig.nodes ?? [])], |
| 128 | }) |
| 129 | } |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | /** |
| 134 | * Validates that loops and parallels have proper internal structure. |