mlua-flow-ir
flow.ir async runtime + mlua binding. Layer 3 of the 4-layer flow.ir stack.
Re-exports the Pure Rust core (flow-ir-core) and adds AsyncDispatcher + eval_async + fanout_eval + Lua module() binding.
Stack position
flow-ir-lua— Pure Lua DSL (separate repo, ecosystem-neutral)flow-ir-core— Pure Rust schema + sync interpretermlua-flow-ir— this crate: async runtime + mlua bindingmlua-swarm-engine— host concerns (Spawner / Worker / Loop / AuthzPolicy / cp_state persist)
What's in
- All
flow-ir-coreschema types re-exported verbatim (Node/Expr/Dispatcher/EvalError/ …) AsyncDispatchertrait +eval_asyncfor tokio / async-runtime hostsfanout_evalfor parallelStepdispatchmodule(lua)binding that registersflow.evalinto a Lua state
Quick start (sync)
use ;
use ;
let node: Node = from_value.unwrap;
;
let result = eval.unwrap;
assert_eq!;
Async dispatch
use ;
use async_trait;
use Value;
;
License
MIT OR Apache-2.0