Skip to content

Commit 6e69db0

Browse files
committed
fix: handle transition-shaped ucp_request markers in eval_prop_inclusion
1 parent f8b714b commit 6e69db0

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

preprocess_schemas.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,10 @@ def eval_prop_inclusion(name, data, op, base_required):
412412
is_required = False
413413
elif isinstance(marker, dict):
414414
val = marker.get(op)
415+
if isinstance(val, dict):
416+
# Handle transition-shaped marker: {"transition": {"from": "...", "to": "..."}}
417+
transition = val.get("transition", {})
418+
val = transition.get("to")
415419
if val == "omit" or val is None:
416420
include = False
417421
elif val == "required":

tests/test_codegen_pipeline.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,17 @@ def test_eval_prop_inclusion_applies_operation_overrides(self) -> None:
227227
["field"],
228228
(False, True),
229229
),
230+
(
231+
"transition-omit",
232+
{
233+
"ucp_request": {
234+
"update": {"transition": {"from": "required", "to": "omit"}}
235+
}
236+
},
237+
"update",
238+
["field"],
239+
(False, True),
240+
),
230241
(
231242
"undeclared-operation",
232243
{"ucp_request": {"update": "required"}},

0 commit comments

Comments
 (0)