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, named signals queue in history,
first-class child runs have durable lifecycle policy, 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§
- A3sEvent
BusFlow Event Sink - Sink that publishes bridged Flow events into an A3S Event bus.
- 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.
- Boot
Flow Task Manager - A3S Boot-backed task manager for Flow scheduler and callback dispatch.
- Boot
Flow Task Policy - Typed Boot queue policy applied to every task dispatched by one manager.
- Cancellation
Request - Durable request for a workflow to stop through its cleanup-aware path.
- Cancellation
Request Snapshot - Projected cancellation request with its durable event position.
- Child
Operation Reference - Durable reference from a parent workflow to a child operation.
- Child
Workflow Snapshot - Parent-owned projection of one first-class child workflow execution.
- 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
History Hold - Persistent reason that prevents a run history from being pruned.
- Flow
History Retention Policy - Bounded policy for deleting complete terminal histories.
- Flow
History Retention Report - Detailed result of a terminal-history retention scan.
- Flow
History Tombstone - Minimal audit record retained after a complete event history is deleted.
- Flow
Scheduler - Scheduler that scans durable state once and enqueues one task per due run.
- Flow
Scheduler Tick - Result of one scheduler scan and its targeted per-run dispatches.
- 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 - Materialized state of one external callback hook.
- 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 - Versioned request envelope sent to a native TypeScript executable.
- Native
Runtime Response - Versioned response envelope returned by a native TypeScript executable.
- Native
TsCompiler Capabilities - Capabilities reported by the installable native TypeScript compiler.
- Native
TsDependency Manifest - Compiler-owned source graph used to bind native artifacts to every input.
- 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.
- Postgres
Dead Lettered Task - Task moved out of Postgres inflight dispatch after exceeding a lease policy.
- Postgres
Event Store - A3S ORM-backed PostgreSQL event store for multi-process durable hosts.
- Postgres
Flow Task Queue - A3S ORM-backed PostgreSQL task queue for shared workers.
- Retry
Policy - Retry behavior for a step command.
- Runtime
Build Compatibility - Runtime builds one engine instance can execute deterministically.
- Runtime
Build Id - Immutable identity of a deployed workflow runtime build.
- Runtime
Build Task Router - Routes pinned Flow tasks to dispatchers serving exact runtime builds.
- Runtime
Spec - Runtime metadata stored with a run so replay can happen on another process.
- Scheduled
Wakeup - Minimal indexed record for a wait timer or delayed step retry.
- Signal
Wait Snapshot - A deterministic workflow wait for the next unconsumed signal of one name.
- Sqlite
Event Store - A3S ORM-backed SQLite event store for single-node durable hosts.
- Step
Command - Step definition returned by workflow replay.
- Step
Invocation - Step execution request passed to a runtime implementation.
- Step
Snapshot - Materialized state of one durable step.
- Wait
Snapshot - Materialized state of one durable timer wait.
- Workflow
Context - Replay helper for Rust workflow runtimes.
- Workflow
Continuation - Durable link from a closed history segment to its successor run.
- Workflow
Dag - Authoring graph containing workflow nodes, edges, and canvas metadata.
- Workflow
DagEdge - One directed connection between workflow DAG nodes.
- Workflow
DagNode - One semantic node in a workflow authoring graph.
- Workflow
DagPlan - Deterministic topological node order grouped by container scope.
- Workflow
Dsl - Lossless representation of an imported A3S workflow DSL document.
- Workflow
DslApp - Application identity and authoring mode from a workflow DSL document.
- Workflow
DslBody - Workflow-specific body of a DSL document.
- Workflow
Invocation - Workflow replay request passed to a runtime implementation.
- Workflow
Patch Id - Stable identity of a replay-safe workflow code change.
- Workflow
Progress - A durable, idempotently identified progress update.
- Workflow
RunSnapshot - Materialized state of a workflow run.
- Workflow
RunSummary - Aggregated run counts for host dashboards and health probes.
- Workflow
Signal - One durable asynchronous message delivered to a workflow execution.
- Workflow
Signal Snapshot - A received signal together with its durable history position.
- Workflow
Spec - Durable workflow definition.
Enums§
- Boot
Flow Task Deduplication - How a Boot queue coalesces duplicate Flow task targets.
- Child
Workflow Cancellation Policy - Action applied to an open child when its parent enters cancellation.
- 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 - Materialized lifecycle state of an external callback hook.
- Native
Runtime Kind - Kind of invocation sent to a native TypeScript runtime.
- Native
TsDependency Mode - Source-identity policy for native TypeScript artifacts.
- Runtime
Command - Command emitted by the workflow runtime after replay.
- Runtime
Kind - Runtime family used to execute workflow code.
- Scheduled
Wakeup Kind - Kind of durable timer that can wake a suspended workflow run.
- Signal
Wait Status - Materialized lifecycle state of a deterministic signal wait.
- Step
Failure Action - What the engine should do after a step exhausts its retry attempts.
- Step
Status - Materialized lifecycle state of a durable step.
- Wait
Status - Materialized lifecycle state of a durable timer wait.
- Workflow
DslCompatibility - Compatibility of an imported workflow DSL with the version exercised by this release of A3S Flow.
- Workflow
DslError - Failure returned while parsing, validating, planning, or encoding workflow DSL.
- Workflow
RunStatus - Materialized lifecycle state of a workflow run.
- Workflow
RunSuspension - Open suspension projected for host dashboards and operator consoles.
- Workflow
Terminal Outcome - Typed terminal result projected from the final run event.
Constants§
- MAX_
WORKFLOW_ PATCH_ MARKERS - Maximum number of replay-safe patch markers pinned to one workflow run.
- NATIVE_
COMPILER_ PROTOCOL - Command protocol implemented by the installable native TypeScript compiler.
- NATIVE_
DEPENDENCY_ MANIFEST_ PROTOCOL - Dependency-manifest protocol emitted by the native TypeScript compiler.
- NATIVE_
RUNTIME_ PROTOCOL - Wire protocol implemented by native TypeScript workflow executables.
- TESTED_
WORKFLOW_ DSL_ VERSION - Latest workflow DSL version covered by compatibility tests.
- WORKFLOW_
DSL_ MAX_ BYTES - Maximum accepted UTF-8 byte length for one workflow DSL document or graph.
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 Dispatcher - Enqueue-only dispatch boundary used by schedulers and callback routers.
- Flow
Task Queue - Queue abstraction for workflow dispatch.
Functions§
- migrate_
postgres_ flow - Apply the canonical Flow PostgreSQL schema with a dedicated migration executor.