Skip to main content
Components are not imported from smithers-orchestrator; the factory returns a typed set bound to your output schemas.
const { Workflow, Task, Sequence, Parallel, Branch, Loop } = createSmithers(schemas);
Every row below links to that component’s guide page. Full prop tables live in the Types reference; for the model, see the JSX overview.

Control flow

The structural primitives. They order, branch, repeat, and gate the work.
ComponentProps typePurposeReference
WorkflowWorkflowPropsRoot node; names the run and holds the graph.Workflow
TaskTaskPropsExecutable node; runs an agent, a compute callback, or emits a static value.Task
SequenceSequencePropsRun children in order, each waiting for the last.Sequence
ParallelParallelPropsRun children concurrently and join.Parallel
BranchBranchPropsPick one child path from a predicate.Branch
LoopLoopPropsRe-run children until a condition holds.Loop
ApprovalApprovalPropsPause for a human decision before continuing.Approval
MergeQueueMergeQueuePropsSerialize merges through an ordered queue.MergeQueue
WorktreeWorktreePropsRun children in an isolated git worktree.Worktree

Composite

Higher-order patterns built from the primitives. Reach for these before hand-rolling the same shape.
ComponentProps typePurposeReference
KanbanKanbanPropsPull work across columns with bounded concurrency.Kanban
ClassifyAndRouteClassifyAndRoutePropsClassify an input, then dispatch to the matching handler.ClassifyAndRoute
GatherAndSynthesizeGatherAndSynthesizePropsFan out gatherers, then fold their results into one.GatherAndSynthesize
PanelPanelPropsAsk several agents, then aggregate their answers.Panel
CheckSuiteCheckSuitePropsRun a set of pass/fail checks and gate on them.CheckSuite
DebateDebatePropsOpposing agents argue across rounds toward a verdict.Debate
ReviewLoopReviewLoopPropsProduce, review, and revise until the review passes.ReviewLoop
OptimizerOptimizerPropsIterate a candidate against a scorer toward a target.Optimizer
ContentPipelineContentPipelinePropsDraft, edit, and finalize content in stages.ContentPipeline
ApprovalGateApprovalGatePropsConditional human gate with auto-approve rules.ApprovalGate
EscalationChainEscalationChainPropsTry handlers in order, escalating on failure.EscalationChain
DecisionTableDecisionTablePropsMap matched conditions to actions, rule by rule.DecisionTable
DriftDetectorDriftDetectorPropsCompare current state to a baseline and act on drift.DriftDetector
ScanFixVerifyScanFixVerifyPropsScan for issues, apply fixes, then verify them.ScanFixVerify
PollerPollerPropsPoll a source until a condition is met or it times out.Poller
SupervisorSupervisorPropsWatch a child and restart it under a policy.Supervisor
RunbookRunbookPropsRun an ordered set of operational steps.Runbook

Engine

Durability and external-world primitives: subflows, events, timers, sandboxes, and compensable transactions.
ComponentProps typePurposeReference
SubflowSubflowPropsEmbed another workflow as a child node.Subflow
WaitForEventWaitForEventPropsSuspend until a named external event arrives.WaitForEvent
SignalSignalPropsEmit a named signal other nodes can wait on.Signal
TimerTimerPropsDurably wait for a delay or a deadline.Timer
HumanTaskHumanTaskPropsAssign work to a human and wait for the result.HumanTask
SandboxSandboxPropsRun children in an isolated execution sandbox.Sandbox
ContinueAsNewContinueAsNewPropsRestart the run with fresh history to bound state.ContinueAsNew
SagaSagaPropsRun steps with compensation that rolls back on failure.Saga
TryCatchFinallyTryCatchFinallyPropsStructured error handling around a child subtree.TryCatchFinally

Cross-cutting

Concerns that wrap or augment the whole graph.
ComponentProps typePurposeReference
AspectsAspectsPropsApply cross-cutting behavior to matched nodes.Aspects
SuperSmithersSuperSmithersPropsOrchestrate child workflows as one super-run.SuperSmithers

Source components package · Tests packages/components/tests · See also JSX overview, Types