Versions in this module Expand all Collapse all v0 v0.17.0 Aug 17, 2026 v0.16.0 Aug 16, 2026 Changes in this version + type Builder struct + func NewBuilder(name string) *Builder + func (b *Builder) Build() (*Workflow, error) + func (b *Builder) Description(desc string) *Builder + func (b *Builder) MustBuild() *Workflow + func (b *Builder) Node(id, name string) *NodeBuilder + func (b *Builder) Phase(id, name string, order int) *Builder + func (b *Builder) PhaseWithDescription(id, name, desc string, order int) *Builder + type DOTRenderer struct + Cluster bool + RankDir string + ShowStatus bool + func NewDOTRenderer() *DOTRenderer + func (r *DOTRenderer) Render(w *Workflow) string + type JSONRenderer struct + Indent bool + func (r *JSONRenderer) Render(w *Workflow) string + type MermaidRenderer struct + Direction string + ShowPhases bool + ShowStatus bool + func NewMermaidRenderer() *MermaidRenderer + func (r *MermaidRenderer) Render(w *Workflow) string + type Node struct + Automated bool + DependsOn []string + Description string + ID string + Metadata map[string]any + Name string + Phase string + Status Status + Type NodeType + type NodeBuilder struct + func (nb *NodeBuilder) Add() *Builder + func (nb *NodeBuilder) Automated() *NodeBuilder + func (nb *NodeBuilder) DependsOn(deps ...string) *NodeBuilder + func (nb *NodeBuilder) Description(desc string) *NodeBuilder + func (nb *NodeBuilder) Metadata(key string, value any) *NodeBuilder + func (nb *NodeBuilder) Status(s Status) *NodeBuilder + func (nb *NodeBuilder) Type(t NodeType) *NodeBuilder + type NodeType string + type Phase struct + Description string + ID string + Name string + Nodes []string + Order int + type Renderer interface + Render func(w *Workflow) string + type Status string + const StatusBlocked + const StatusCompleted + const StatusInProgress + const StatusPending + const StatusReady + const StatusSkipped + type Workflow struct + Description string + Name string + Nodes map[string]*Node + Phases []Phase + func New(name string) *Workflow + func (w *Workflow) AddNode(node *Node) error + func (w *Workflow) AddPhase(id, name string, order int) *Phase + func (w *Workflow) Clone() *Workflow + func (w *Workflow) Dependencies(nodeID string) []*Node + func (w *Workflow) Dependents(nodeID string) []*Node + func (w *Workflow) GetNode(id string) (*Node, bool) + func (w *Workflow) IsReady(nodeID string) bool + func (w *Workflow) NodesByPhase() []struct{ ... } + func (w *Workflow) Progress() (completed, total int, percent float64) + func (w *Workflow) ReadyNodes() []*Node + func (w *Workflow) TopologicalSort() ([]*Node, error) + func (w *Workflow) UpdateStatus(nodeID string, status Status) error + func (w *Workflow) Validate() error