Skip to main content

compile

Function compile 

Source
pub fn compile(
    files: Vec<RawRuleFile>,
    mw_meta: &dyn MiddlewareMetadataProvider,
    fetch_meta: &dyn FetchMetadataProvider,
) -> Result<Arc<SymbolicFlowGraph>, Error>
Expand description

Facade for the core compile pipeline.

Runs merge → expand → analyze → lower → validate and returns an Arc<SymbolicFlowGraph> ready for vane-engine::FlowGraph::link.

On error the message carries every diagnostic the pipeline accumulated — the underlying compile_collecting runs each stage’s “leaf checks” with push+continue, and only the stage boundary decides whether to bail. Operators running vane compile <dir> see all problems at once instead of fixing them one-at-a-time.

§Errors

Returns Error::compile on duplicate rule names, unknown middleware or fetch names referenced by rules, bad ListenSpec strings, predicate type mismatches, or graph-level validation failures (dangling IDs, cycles, phase mismatches).