refactor: remove placeholder join step
This commit is contained in:
@@ -11,7 +11,6 @@ from .models import (
|
||||
InputPathBinding,
|
||||
InputValueBinding,
|
||||
InterruptNode,
|
||||
JoinNode,
|
||||
JsonValue,
|
||||
LiteralExpression,
|
||||
NodeDef,
|
||||
@@ -89,7 +88,6 @@ __all__ = [
|
||||
"InputValueBinding",
|
||||
"InterruptRequest",
|
||||
"InterruptRoute",
|
||||
"JoinNode",
|
||||
"JsonValue",
|
||||
"LiteralExpression",
|
||||
"NodeDef",
|
||||
|
||||
@@ -30,7 +30,6 @@ from wf_core.models.steps import (
|
||||
ForeachItemErrorPolicy,
|
||||
ForeachNode,
|
||||
InterruptNode,
|
||||
JoinNode,
|
||||
NodeUse,
|
||||
Step,
|
||||
SubgraphNode,
|
||||
@@ -54,7 +53,6 @@ __all__ = [
|
||||
"InputExpressionBinding",
|
||||
"InputPathBinding",
|
||||
"InputValueBinding",
|
||||
"JoinNode",
|
||||
"JsonValue",
|
||||
"LiteralExpression",
|
||||
"LiteralOperand",
|
||||
|
||||
@@ -293,13 +293,6 @@ class ForeachNode(BaseModel):
|
||||
return GraphSourcePath("context", ("foreach", self.id, "index"))
|
||||
|
||||
|
||||
class JoinNode(BaseModel):
|
||||
"""Control-flow step that marks a branch or frame as joined."""
|
||||
|
||||
id: str
|
||||
type: Literal["join"]
|
||||
|
||||
|
||||
class EndNode(BaseModel):
|
||||
"""Explicit workflow terminal that sets the workflow-level outcome.
|
||||
|
||||
@@ -411,13 +404,7 @@ class InterruptNode(BaseModel):
|
||||
|
||||
|
||||
Step = Annotated[
|
||||
NodeUse
|
||||
| SubgraphNode
|
||||
| ConditionNode
|
||||
| ForeachNode
|
||||
| JoinNode
|
||||
| EndNode
|
||||
| InterruptNode,
|
||||
NodeUse | SubgraphNode | ConditionNode | ForeachNode | EndNode | InterruptNode,
|
||||
Field(discriminator="type"),
|
||||
]
|
||||
"""Discriminated union of all executable workflow graph steps."""
|
||||
|
||||
@@ -41,15 +41,6 @@ def handle_condition_step(
|
||||
)
|
||||
|
||||
|
||||
def handle_join_step() -> StepExecutionResult:
|
||||
return StepExecutionResult(
|
||||
outcome="done",
|
||||
resolved_input={},
|
||||
output={},
|
||||
state_changes={},
|
||||
)
|
||||
|
||||
|
||||
def handle_interrupt_step(
|
||||
run: RunState,
|
||||
step: InterruptNode,
|
||||
|
||||
@@ -10,7 +10,6 @@ from wf_core.models.steps import (
|
||||
EndNode,
|
||||
ForeachNode,
|
||||
InterruptNode,
|
||||
JoinNode,
|
||||
NodeUse,
|
||||
SubgraphNode,
|
||||
)
|
||||
@@ -22,7 +21,6 @@ from wf_core.runtime.ops.foreach import step_foreach
|
||||
from wf_core.runtime.ops.handlers import (
|
||||
handle_condition_step,
|
||||
handle_interrupt_step,
|
||||
handle_join_step,
|
||||
)
|
||||
from wf_core.runtime.ops.index import WorkflowIndex, build_workflow_index
|
||||
from wf_core.runtime.ops.merges import ReducerDefinition
|
||||
@@ -149,8 +147,6 @@ def step_workflow(
|
||||
raise
|
||||
elif isinstance(step, ConditionNode):
|
||||
step_result = handle_condition_step(run, step)
|
||||
elif isinstance(step, JoinNode):
|
||||
step_result = handle_join_step()
|
||||
elif isinstance(step, EndNode):
|
||||
return complete_end_step(
|
||||
run=run,
|
||||
@@ -264,8 +260,6 @@ async def step_workflow_async(
|
||||
raise
|
||||
elif isinstance(step, ConditionNode):
|
||||
step_result = handle_condition_step(run, step)
|
||||
elif isinstance(step, JoinNode):
|
||||
step_result = handle_join_step()
|
||||
elif isinstance(step, EndNode):
|
||||
return complete_end_step(
|
||||
run=run,
|
||||
|
||||
@@ -19,8 +19,6 @@ def declared_outcomes_for_step(step: Step, node_defs: dict[str, NodeDef]) -> set
|
||||
if step.item_error.action in {"skip", "collect"}:
|
||||
outcomes.add("completed_with_errors")
|
||||
return outcomes
|
||||
if step.type == "join":
|
||||
return {"done"}
|
||||
if isinstance(step, EndNode):
|
||||
return set()
|
||||
if isinstance(step, InterruptNode):
|
||||
|
||||
Reference in New Issue
Block a user