Skip to main content

Crate af_workflow

Crate af_workflow 

Source
Expand description

af-workflow — spec-driven workflow chassis.

A workflow is typed node expressions composed into a branched DAG. Port of agent_core/workflow.

Re-exports§

pub use event::Event;
pub use graph::primitive_kind;
pub use graph::render_graph;
pub use graph::render_graph_json;
pub use graph::GraphEdge;
pub use graph::GraphNode;
pub use graph::WorkflowGraph;
pub use host::HostError;
pub use host::WorkflowHost;
pub use host::ROOT_BRANCH;
pub use ingress::ingress_plans;
pub use ingress::next_cron_at;
pub use ingress::next_scheduled_at;
pub use ingress::schedule_decision;
pub use ingress::BranchIngressPlan;
pub use ingress::ScheduleDecision;
pub use metrics::Readiness;
pub use metrics::RuntimeMetrics;
pub use node::StepNode;
pub use node::WorkflowContext;
pub use provider::ProviderBlock;
pub use provider::ProviderGate;
pub use provider::ProviderLimits;
pub use provider::ProviderPermit;
pub use provider::WorkPriority;
pub use recorder::noop_recorder;
pub use recorder::NoopRecorder;
pub use recorder::RunHandle;
pub use recorder::RunRecorder;
pub use recorder::RunStatus;
pub use recorder::StepStatus;
pub use registry::FieldSpec;
pub use registry::FieldType;
pub use registry::NodeError;
pub use registry::NodeRegistry;
pub use registry::NodeSchema;
pub use registry::StepFactory;
pub use result::PreparedAction;
pub use result::StepResult;
pub use spec::Branch;
pub use spec::Edge;
pub use spec::Node;
pub use spec::Spec;
pub use spec::SpecError;
pub use spec_driver::SpecDriver;
pub use state::MemoryState;
pub use state::NamespacedState;
pub use state::State;
pub use supervisor::run_due_pass;
pub use supervisor::DriverRegistry;
pub use supervisor::EvaluationOutcome;
pub use supervisor::MemoryWorkQueue;
pub use supervisor::SupervisorError;
pub use supervisor::SupervisorSettings;
pub use supervisor::SupervisorStats;
pub use supervisor::Wakeup;
pub use supervisor::WorkDisposition;
pub use supervisor::WorkItem;
pub use supervisor::WorkQueue;
pub use supervisor::WorkflowDriver;
pub use supervisor::WorkflowTransitionCommand;
pub use template::resolve_config;
pub use template::TemplateError;
pub use validator::validate;
pub use validator::Violation;
pub use contract::*;

Modules§

builtins
Generic (non-business) node implementations.
contract
Stable contracts for durable workflow execution.
event
Events flowing through a branch.
graph
Presentation-only workflow graph rendering for UI consumers.
host
Validated multi-branch workflow host.
ingress
Pure ingress planning helpers for durable workflow hosts.
metrics
Dependency-free scheduler metrics and readiness.
node
Node trait + context. Port of platform/node_protocol.py.
provider
Provider-local backpressure and circuit breaking.
recorder
Infra-agnostic workflow run and step persistence seam.
registry
Node-type registry. Port of platform/registry.py.
result
What a step node returns. Port of platform/types.py Pass / Drop / FanOut.
spec
Workflow spec data model.
spec_driver
Bridge from a validated product Spec to the durable supervisor.
state
Branch-scoped run state.
supervisor
Database-agnostic scheduler for claimed long-running workflow instances.
template
$config.X / $instance.X / $event.X template resolution.
validator
Static spec validator. Port of platform/validator.py.

Structs§

RunOutcome
Summary of one event driven through a compiled branch.

Enums§

CompileError
Why a branch could not be compiled.
Terminal
Where a run ended.

Type Aliases§

WorkflowRegistrar
Registrar a product fills in Product::register_workflow.