aion-server 0.26.0

Aion workflow server library: HTTP, gRPC, WebSocket, and worker endpoints. Run it with the `aion` binary from the aion-cli crate.
Documentation
//! Project block-nested sibling steps with an inherited per-item region.
workflow region_scoped_substeps
  input items: [String]
  outcome done: type Result, route success

type Result { value: String }

worker jobs
  action decide() -> Bool
  action mark(item: String) -> String

step wave
  distribute item in items

step member
  fork branch in items
    step fork_choose
      outcome next: else, route fork_finish

    step fork_finish
      outcome again: else, route fork_choose
      max 2 visits
  join

  loop complete = false
    step loop_choose
      outcome next: else, route loop_finish

    step loop_finish
      outcome again: else, route loop_choose
      max 2 visits

    decide() -> complete
    until complete
    max 1

  mark(item: item) -> verdict

  outcome loop_complete: if complete, route gather
  outcome loop_exhausted: else, route gather

step gather
  collect verdict -> results

step finish
  route done(value: "region complete")