aion/manifest
Canonical JSON wire form of a package’s activity declarations.
The typed Gleam declaration is the single source of truth (ADR-014). To
generate the activity plumbing, aion generate runs a small generated
export module that calls a package’s manifest() function and prints
to_json of the result; the out-of-process Rust generator parses that JSON
to drive codegen. This module is the wire boundary between the typed source
and the generator — not a second authoring surface: the JSON is derived
from the declarations and never hand-written.
Values
pub fn to_json(
declarations: List(activity.Declaration),
) -> String
Serialize a package’s activity declarations to the canonical JSON array the
aion generate extractor consumes.
Each declaration becomes one object carrying its name, tier, input
type, and output type, in declaration order. Order is load-bearing: it is
the order in which the generator emits wrappers, registration entries, and
the workflow.toml activities list, so a byte-identical round-trip depends
on it.