> ## Documentation Index
> Fetch the complete documentation index at: https://smithers-feat-claude-workflow-mirror.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Components API

> The typed JSX component surface a workflow is built from, at a glance.

Components are not imported from `smithers-orchestrator`; the factory returns a
typed set bound to your output schemas.

```ts theme={null}
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](/reference/types); for the model, see the
[JSX overview](/jsx/overview).

## Control flow

The structural primitives. They order, branch, repeat, and gate the work.

| Component    | Props type                            | Purpose                                                                      | Reference                             |
| ------------ | ------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------- |
| `Workflow`   | [`WorkflowProps`](/reference/types)   | Root node; names the run and holds the graph.                                | [Workflow](/components/workflow)      |
| `Task`       | [`TaskProps`](/reference/types)       | Executable node; runs an agent, a compute callback, or emits a static value. | [Task](/components/task)              |
| `Sequence`   | [`SequenceProps`](/reference/types)   | Run children in order, each waiting for the last.                            | [Sequence](/components/sequence)      |
| `Parallel`   | [`ParallelProps`](/reference/types)   | Run children concurrently and join.                                          | [Parallel](/components/parallel)      |
| `Branch`     | [`BranchProps`](/reference/types)     | Pick one child path from a predicate.                                        | [Branch](/components/branch)          |
| `Loop`       | [`LoopProps`](/reference/types)       | Re-run children until a condition holds.                                     | [Loop](/components/loop)              |
| `Approval`   | [`ApprovalProps`](/reference/types)   | Pause for a human decision before continuing.                                | [Approval](/components/approval)      |
| `MergeQueue` | [`MergeQueueProps`](/reference/types) | Serialize merges through an ordered queue.                                   | [MergeQueue](/components/merge-queue) |
| `Worktree`   | [`WorktreeProps`](/reference/types)   | Run children in an isolated git worktree.                                    | [Worktree](/components/worktree)      |

## Composite

Higher-order patterns built from the primitives. Reach for these before
hand-rolling the same shape.

| Component             | Props type                                     | Purpose                                                   | Reference                                                |
| --------------------- | ---------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------- |
| `Kanban`              | [`KanbanProps`](/reference/types)              | Pull work across columns with bounded concurrency.        | [Kanban](/components/kanban)                             |
| `ClassifyAndRoute`    | [`ClassifyAndRouteProps`](/reference/types)    | Classify an input, then dispatch to the matching handler. | [ClassifyAndRoute](/components/classify-and-route)       |
| `GatherAndSynthesize` | [`GatherAndSynthesizeProps`](/reference/types) | Fan out gatherers, then fold their results into one.      | [GatherAndSynthesize](/components/gather-and-synthesize) |
| `Panel`               | [`PanelProps`](/reference/types)               | Ask several agents, then aggregate their answers.         | [Panel](/components/panel)                               |
| `CheckSuite`          | [`CheckSuiteProps`](/reference/types)          | Run a set of pass/fail checks and gate on them.           | [CheckSuite](/components/check-suite)                    |
| `Debate`              | [`DebateProps`](/reference/types)              | Opposing agents argue across rounds toward a verdict.     | [Debate](/components/debate)                             |
| `ReviewLoop`          | [`ReviewLoopProps`](/reference/types)          | Produce, review, and revise until the review passes.      | [ReviewLoop](/components/review-loop)                    |
| `Optimizer`           | [`OptimizerProps`](/reference/types)           | Iterate a candidate against a scorer toward a target.     | [Optimizer](/components/optimizer)                       |
| `ContentPipeline`     | [`ContentPipelineProps`](/reference/types)     | Draft, edit, and finalize content in stages.              | [ContentPipeline](/components/content-pipeline)          |
| `ApprovalGate`        | [`ApprovalGateProps`](/reference/types)        | Conditional human gate with auto-approve rules.           | [ApprovalGate](/components/approval-gate)                |
| `EscalationChain`     | [`EscalationChainProps`](/reference/types)     | Try handlers in order, escalating on failure.             | [EscalationChain](/components/escalation-chain)          |
| `DecisionTable`       | [`DecisionTableProps`](/reference/types)       | Map matched conditions to actions, rule by rule.          | [DecisionTable](/components/decision-table)              |
| `DriftDetector`       | [`DriftDetectorProps`](/reference/types)       | Compare current state to a baseline and act on drift.     | [DriftDetector](/components/drift-detector)              |
| `ScanFixVerify`       | [`ScanFixVerifyProps`](/reference/types)       | Scan for issues, apply fixes, then verify them.           | [ScanFixVerify](/components/scan-fix-verify)             |
| `Poller`              | [`PollerProps`](/reference/types)              | Poll a source until a condition is met or it times out.   | [Poller](/components/poller)                             |
| `Supervisor`          | [`SupervisorProps`](/reference/types)          | Watch a child and restart it under a policy.              | [Supervisor](/components/supervisor)                     |
| `Runbook`             | [`RunbookProps`](/reference/types)             | Run an ordered set of operational steps.                  | [Runbook](/components/runbook)                           |

## Engine

Durability and external-world primitives: subflows, events, timers, sandboxes,
and compensable transactions.

| Component         | Props type                                 | Purpose                                                 | Reference                                        |
| ----------------- | ------------------------------------------ | ------------------------------------------------------- | ------------------------------------------------ |
| `Subflow`         | [`SubflowProps`](/reference/types)         | Embed another workflow as a child node.                 | [Subflow](/components/subflow)                   |
| `WaitForEvent`    | [`WaitForEventProps`](/reference/types)    | Suspend until a named external event arrives.           | [WaitForEvent](/components/wait-for-event)       |
| `Signal`          | [`SignalProps`](/reference/types)          | Emit a named signal other nodes can wait on.            | [Signal](/components/signal)                     |
| `Timer`           | [`TimerProps`](/reference/types)           | Durably wait for a delay or a deadline.                 | [Timer](/components/timer)                       |
| `HumanTask`       | [`HumanTaskProps`](/reference/types)       | Assign work to a human and wait for the result.         | [HumanTask](/components/human-task)              |
| `Sandbox`         | [`SandboxProps`](/reference/types)         | Run children in an isolated execution sandbox.          | [Sandbox](/components/sandbox)                   |
| `ContinueAsNew`   | [`ContinueAsNewProps`](/reference/types)   | Restart the run with fresh history to bound state.      | [ContinueAsNew](/components/continue-as-new)     |
| `Saga`            | [`SagaProps`](/reference/types)            | Run steps with compensation that rolls back on failure. | [Saga](/components/saga)                         |
| `TryCatchFinally` | [`TryCatchFinallyProps`](/reference/types) | Structured error handling around a child subtree.       | [TryCatchFinally](/components/try-catch-finally) |

## Cross-cutting

Concerns that wrap or augment the whole graph.

| Component       | Props type                               | Purpose                                        | Reference                                   |
| --------------- | ---------------------------------------- | ---------------------------------------------- | ------------------------------------------- |
| `Aspects`       | [`AspectsProps`](/reference/types)       | Apply cross-cutting behavior to matched nodes. | [Aspects](/components/aspects)              |
| `SuperSmithers` | [`SuperSmithersProps`](/reference/types) | Orchestrate child workflows as one super-run.  | [SuperSmithers](/components/super-smithers) |

***

**Source** [components package](https://github.com/smithersai/smithers/blob/main/packages/components/src) · **Tests** [packages/components/tests](https://github.com/smithersai/smithers/blob/main/packages/components/tests) · **See also** [JSX overview](/jsx/overview), [Types](/reference/types)
