Feat/workflow phase2 (#4687)

This commit is contained in:
Yeuoly 2024-05-27 22:01:11 +08:00 committed by GitHub
commit e852a21634
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
139 changed files with 5997 additions and 779 deletions

View file

View file

@ -0,0 +1,13 @@
from core.workflow.entities.base_node_data_entities import BaseIterationNodeData, BaseIterationState
class LoopNodeData(BaseIterationNodeData):
"""
Loop Node Data.
"""
class LoopState(BaseIterationState):
"""
Loop State.
"""

View file

@ -0,0 +1,20 @@
from core.workflow.entities.node_entities import NodeRunResult, NodeType
from core.workflow.entities.variable_pool import VariablePool
from core.workflow.nodes.base_node import BaseIterationNode
from core.workflow.nodes.loop.entities import LoopNodeData, LoopState
class LoopNode(BaseIterationNode):
"""
Loop Node.
"""
_node_data_cls = LoopNodeData
_node_type = NodeType.LOOP
def _run(self, variable_pool: VariablePool) -> LoopState:
return super()._run(variable_pool)
def _get_next_iteration(self, variable_loop: VariablePool) -> NodeRunResult | str:
"""
Get next iteration start node id based on the graph.
"""