Node taxonomy
PublicA node is the canvas representation of an operator. Most operators map 1:1 to one of the generic node types below, but a handful (groups, branches, frames) have bespoke rendering.
| Node type | Renders | Operator families | Notes |
|---|---|---|---|
OperatorNode | Title + ports + summary | model, prompt, data, web, http, db, storage, output, input, eval, guardrails, knowledge, media, vars, cache, code, tools, document | The default. Source: web/src/nodes/OperatorNode.tsx. |
GroupNode | Container with children | (synthetic — no operator) | Visual grouping; does not affect execution. |
TriggerNode | Operator + input event indicator | trigger | Same as OperatorNode with a permanent inbound badge. |
BranchNode | Diamond with outbound conditions | logic.if, logic.switch | Special routing UI; underlying operator is unchanged. |
LoopNode | Container with iteration handle | logic.loop, logic.iterate | Drives subgraph execution per iteration. |
WaitNode | Hourglass with reason | logic.wait, logic.wait_for_event | Renders the wait runtime state inline. |
HumanNode | Action button + reviewer slot | human.input, human.approval | Click → opens a side panel for the operator. |
All node files live in /opt/glyph/web/src/nodes/. To add a new node type, see Add a node type to React Flow.