Expand description
Durable workflow engine core for A3S.
a3s-flow models the Workflow SDK style of durable execution as a Rust
core: workflow runs are event-sourced, step results are persisted, waits and
hooks suspend without burning compute, and the actual workflow interpreter is
a pluggable runtime. The native TypeScript runtime boundary compiles source
once, then invokes the compiled executable through a small JSON protocol.
Structs§
- A3sFlow
Event - A3S-style event record derived from a committed
FlowEventEnvelope. - A3sFlow
Event Bridge - Observer adapter that maps Flow envelopes to A3S-style event records.
- A3sFlow
Event Subject - Subject touched by a workflow event.
- Active
Hook Snapshot - Active external callback hook with the run that owns it.
- Fanout
Flow Event Observer - Observer that forwards every committed event to multiple observers.
- Flow
Engine - Event-sourced workflow engine.
- Flow
Engine Builder - Builder for a
FlowEngine. - Flow
Event Envelope - Stored event with per-run sequence and timestamp.
- Flow
Scheduler - Scheduler that scans durable state and enqueues due workflow work.
- Flow
Scheduler Tick - Result of one scheduler scan.
- Flow
Task Lease - Leased task returned by a queue worker before acknowledgement.
- Flow
Task Outcome - Result of handling one queued
FlowTask. - Flow
Worker - Worker that handles queued workflow tasks against a
FlowEngine. - Flow
Workflow Identity - Low-cardinality workflow identity copied from the run-created event.
- Hook
Callback Route - HTTP route metadata for external hook callbacks.
- Hook
Metadata - Typed helper for common hook metadata fields.
- Hook
Snapshot - InMemory
A3sFlow Event Sink - In-memory A3S event sink for examples and tests.
- InMemory
Event Store - In-memory event store for tests, local development, and embedded hosts.
- InMemory
Flow Event Observer - In-memory observer for tests, local debugging, and embedded hosts.
- InMemory
Flow Task Queue - In-process FIFO queue for tests, embedded hosts, and local workers.
- Local
File A3sFlow Event Sink - JSONL-backed A3S Flow event sink for local audit logs.
- Local
File Dead Lettered Task - Task moved out of inflight dispatch after exceeding a local lease policy.
- Local
File Event Store - JSONL-backed event store for local durable runs.
- Local
File Flow Task Queue - JSON-backed local durable task queue.
- Native
Runtime Request - Native
Runtime Response - Native
TsRuntime - Runtime that compiles TypeScript to a native executable and speaks JSON over stdin/stdout with that executable.
- Native
TsRuntime Config - Configuration for the native TypeScript runtime adapter.
- Native
TsRuntime Preflight - Result of validating and compiling a native TypeScript workflow source.
- Noop
Flow Event Observer - Observer that intentionally drops all events.
- Retry
Policy - Retry behavior for a step command.
- Runtime
Spec - Runtime metadata stored with a run so replay can happen on another process.
- Step
Command - Step definition returned by workflow replay.
- Step
Invocation - Step execution request passed to a runtime implementation.
- Step
Snapshot - Wait
Snapshot - Workflow
Context - Replay helper for Rust workflow runtimes.
- Workflow
Invocation - Workflow replay request passed to a runtime implementation.
- Workflow
RunSnapshot - Materialized state of a workflow run.
- Workflow
RunSummary - Aggregated run counts for host dashboards and health probes.
- Workflow
Spec - Durable workflow definition.
Enums§
- Flow
Error - Errors surfaced by the workflow engine and runtime adapters.
- Flow
Event - Event persisted as the single source of truth for a workflow run.
- Flow
Task - Queueable unit of workflow engine work.
- Hook
Status - Native
Runtime Kind - Runtime
Command - Command emitted by the workflow runtime after replay.
- Runtime
Kind - Runtime family used to execute workflow code.
- Step
Failure Action - What the engine should do after a step exhausts its retry attempts.
- Step
Status - Wait
Status - Workflow
RunStatus - Workflow
RunSuspension - Open suspension projected for host dashboards and operator consoles.
Constants§
Traits§
- A3sFlow
Event Sink - Sink for A3S-style Flow events.
- Flow
Event Observer - Observer for committed workflow events.
- Flow
Event Store - Append-only event store for durable workflow runs.
- Flow
Runtime - Runtime boundary for workflow code and side-effecting steps.
- Flow
Task Queue - Queue abstraction for workflow dispatch.