reducer as wf_mcp capability

This commit is contained in:
lda
2026-05-17 17:02:12 +07:00 Verified
parent 281229a78f
commit 32bcba9b35
14 changed files with 169 additions and 13 deletions
+25 -1
View File
@@ -40,7 +40,9 @@ def test_state_field_defaults_to_replace_reducer() -> None:
def test_unknown_state_reducer_fails_clearly() -> None:
workflow = _workflow(fields={"person.tags": StateField(type="array", reducer="x.nope")})
workflow = _workflow(
fields={"person.tags": StateField(type="array", reducer="x.nope")}
)
state = {"person": {"tags": ["seed"]}}
try:
@@ -51,6 +53,28 @@ def test_unknown_state_reducer_fails_clearly() -> None:
raise AssertionError("expected unknown reducer to fail")
def test_set_union_reducer_preserves_first_seen_order() -> None:
workflow = _workflow(
fields={"person.tags": StateField(type="array", reducer="wf.std.set_union")}
)
state = {"person": {"tags": ["alpha", "beta"]}}
write_state_value(workflow, state, "state.person.tags", ["beta", "gamma"])
assert state["person"]["tags"] == ["alpha", "beta", "gamma"]
def test_max_reducer_keeps_larger_value() -> None:
workflow = _workflow(
fields={"best_score": StateField(type="integer", reducer="wf.std.max")}
)
state = {"best_score": 7}
write_state_value(workflow, state, "state.best_score", 9)
assert state["best_score"] == 9
def _workflow(*, fields: dict[str, StateField]) -> Workflow:
return Workflow(
name="nested_state_paths",