feat: return foreach items through owner back-edges

This commit is contained in:
lda
2026-09-04 07:40:49 +07:00 Verified
parent f69c4502cf
commit f23e760b5f
13 changed files with 902 additions and 21 deletions
+2 -2
View File
@@ -114,7 +114,7 @@ def build_concurrent_foreach_workflow(
)
builder.set_entry_point(each)
builder.connect(each, "loop", record)
builder.connect(record, "ok", END)
builder.connect(record, "ok", each)
builder.connect(each, "done", END)
if _item_error_action(item_error) in {"collect", "skip"}:
builder.connect(each, "completed_with_errors", END)
@@ -165,7 +165,7 @@ def run_replace_conflict_example() -> None:
)
builder.set_entry_point(each)
builder.connect(each, "loop", record)
builder.connect(record, "ok", END)
builder.connect(record, "ok", each)
builder.connect(each, "done", END)
try:
builder.execute({"items": ["a", "b"]})
+1 -1
View File
@@ -255,7 +255,7 @@ def build_demo_workflow() -> Workflow:
"outcome": "done",
"to": "combine_summaries",
},
{"from": "summarize_one", "outcome": "ok", "to": END},
{"from": "summarize_one", "outcome": "ok", "to": "summarize_each"},
{"from": "combine_summaries", "outcome": "ok", "to": "should_email"},
{"from": "should_email", "outcome": "true", "to": "approve_email"},
{"from": "should_email", "outcome": "false", "to": "skip_email"},
+1 -1
View File
@@ -97,7 +97,7 @@ def build_raw_concurrent_foreach_workflow() -> Workflow:
],
"edges": [
{"from": "each", "outcome": "loop", "to": "record"},
{"from": "record", "outcome": "ok", "to": END},
{"from": "record", "outcome": "ok", "to": "each"},
{"from": "each", "outcome": "done", "to": END},
{"from": "each", "outcome": "completed_with_errors", "to": END},
],