aion_flow

aion_flow is the typed Gleam SDK for authoring durable Aion workflows.

Workflow authors write ordinary deterministic Gleam for decisions, loops, and data transformation. Code reaches the outside world only through the SDK primitives exposed from the public modules listed below: activities, signals, queries, timers, child workflows, codecs, durations, errors, and the pure-Gleam testing harness.

The recorded side-effect boundary is structural: activity dispatch goes through aion/workflow.run and its typed concurrency helpers. Workflow code must not read wall clocks or ambient entropy; use the deterministic aion/workflow.now, aion/workflow.random, and timer primitives instead so replay observes the same values.

Public import paths:

The canonical typed example lives in test/aion_flow_test.gleam as canonical_example_workflow: it defines a workflow with workflow.define, runs an activity, reads deterministic time, sleeps, receives a typed signal, spawns and awaits a child workflow, and fans out homogeneous activities with workflow.all under the pure-Gleam harness.

Types

Marker declaration for the documentation-only package root.

Author-facing APIs live in the documented modules above; this type keeps the root module declaration-only while avoiding an empty-module warning.

pub type PackageRoot {
  PackageRoot
}

Constructors

  • PackageRoot
Search Document