Download uncategorized/patterns/state-machine-workflow/workflow.fz from Jules-OC/flowzap-sequence-workflows: direct link, hf CLI and curl.
- Browser
- Download file 1.93 kB
-
https://huggingface.co/Jules-OC/flowzap-sequence-workflows/resolve/main/uncategorized/patterns/state-machine-workflow/workflow.fz
- Command line
-
hf download hf://Jules-OC/flowzap-sequence-workflows/uncategorized/patterns/state-machine-workflow/workflow.fz
-
curl -L -o workflow.fz https://huggingface.co/Jules-OC/flowzap-sequence-workflows/resolve/main/uncategorized/patterns/state-machine-workflow/workflow.fz
1.93 kB
| OrderSystem { # Order System | |
| n1: circle label:"Start" | |
| n2: rectangle label:"Receive order event" | |
| n3: rectangle label:"Load current state" | |
| n4: rectangle label:"Order completed" | |
| n5: circle label:"End" | |
| n1.handle(right) -> n2.handle(left) | |
| n2.handle(right) -> n3.handle(left) | |
| n3.handle(bottom) -> StateMachine.n6.handle(top) [label="Process"] | |
| n4.handle(right) -> n5.handle(left) | |
| } | |
| StateMachine { # State Machine | |
| n6: diamond label:"Current state?" | |
| n7: rectangle label:"Pending to Confirmed" | |
| n8: rectangle label:"Confirmed to Processing" | |
| n9: rectangle label:"Processing to Shipped" | |
| n10: rectangle label:"Shipped to Delivered" | |
| n11: rectangle label:"Any to Cancelled" | |
| n12: diamond label:"Valid transition?" | |
| n13: rectangle label:"Update state" | |
| n14: rectangle label:"Reject invalid transition" | |
| n6.handle(right) -> n7.handle(left) [label="Pending"] | |
| n6.handle(bottom) -> n8.handle(top) [label="Confirmed"] | |
| n6.handle(left) -> n9.handle(top) [label="Processing"] | |
| n7.handle(bottom) -> n12.handle(top) | |
| n8.handle(bottom) -> n12.handle(top) | |
| n9.handle(bottom) -> n12.handle(top) | |
| n10.handle(bottom) -> n12.handle(top) | |
| n11.handle(bottom) -> n12.handle(top) | |
| n12.handle(right) -> n13.handle(left) [label="Yes"] | |
| n12.handle(bottom) -> n14.handle(top) [label="No"] | |
| n13.handle(bottom) -> EventLog.n15.handle(top) [label="Persist"] | |
| n14.handle(top) -> OrderSystem.n4.handle(bottom) [label="Error"] | |
| } | |
| EventLog { # Event Log | |
| n15: rectangle label:"Record state transition" | |
| n16: rectangle label:"Emit state changed event" | |
| n17: diamond label:"Final state?" | |
| n18: rectangle label:"Trigger completion handlers" | |
| n19: rectangle label:"Continue processing" | |
| n15.handle(right) -> n16.handle(left) | |
| n16.handle(right) -> n17.handle(left) | |
| n17.handle(right) -> n18.handle(left) [label="Yes"] | |
| n17.handle(bottom) -> n19.handle(top) [label="No"] | |
| n18.handle(top) -> OrderSystem.n4.handle(bottom) [label="Complete"] | |
| n19.handle(top) -> OrderSystem.n4.handle(bottom) [label="Updated"] | |
| } | |