1#![deny(missing_docs)]
17#![deny(rustdoc::broken_intra_doc_links)]
18
19pub mod builtins;
20pub mod contract;
21pub mod drafts;
22pub mod event;
23mod executor;
24pub mod graph;
25pub mod host;
26pub mod ingress;
27pub use drafts::*;
28pub mod metadata;
29pub use metadata::*;
30pub mod management;
31pub use management::*;
32pub mod metrics;
33pub mod node;
34pub mod provider;
35pub mod recorder;
36pub mod registry;
37pub mod result;
38pub mod spec;
39pub mod spec_driver;
40pub mod state;
41pub mod supervisor;
42pub mod template;
43pub mod validator;
44
45pub use contract::*;
46pub use event::Event;
47pub use executor::{CompileError, RunOutcome, Terminal};
48pub use graph::{
49 primitive_kind, render_graph, render_graph_json, GraphEdge, GraphNode, WorkflowGraph,
50};
51pub use host::{HostError, WorkflowHost, ROOT_BRANCH};
52pub use ingress::{
53 ingress_plans, next_cron_at, next_scheduled_at, schedule_decision, BranchIngressPlan,
54 ScheduleDecision,
55};
56pub use metrics::{Readiness, RuntimeMetrics};
57pub use node::{StepNode, WorkflowContext};
58pub use provider::{ProviderBlock, ProviderGate, ProviderLimits, ProviderPermit, WorkPriority};
59pub use recorder::{noop_recorder, NoopRecorder, RunHandle, RunRecorder, RunStatus, StepStatus};
60pub use registry::{FieldSpec, FieldType, NodeError, NodeRegistry, NodeSchema, StepFactory};
61pub type WorkflowRegistrar = NodeRegistry;
63pub use result::{PreparedAction, StepResult};
64pub use spec::{Branch, Edge, Node, Spec, SpecError};
65pub use spec_driver::SpecDriver;
66pub use state::{MemoryState, NamespacedState, State};
67pub use supervisor::{
68 run_due_pass, DriverRegistry, EvaluationOutcome, MemoryWorkQueue, SupervisorError,
69 SupervisorSettings, SupervisorStats, Wakeup, WorkDisposition, WorkItem, WorkQueue,
70 WorkflowDriver, WorkflowTransitionCommand,
71};
72pub use template::{resolve_config, TemplateError};
73pub use validator::{validate, Violation};
74
75mod admission;
76pub use admission::{WorkflowAdmissionPolicy, WorkflowAdmissionRecord, WorkflowSourceGrant};