<UI> lets a workflow carry its own Gateway UI declaration in the workflow TSX
instead of registering a separate UI from the launcher. The component renders
nothing in the workflow graph; the Gateway discovers it during
gateway.register(), bundles the client-side React entry, and serves it from
the workflow UI route.
entry paths resolve relative to the workflow source file when the Gateway was
given entryFile. This is the default for smithers gateway and generated
.smithers/gateway.ts files.
Props
Inline literal children must be serializable DOM elements and text. Use
entry
when the UI needs gateway-react hooks, Gateway actions, or TanStack collection
state. Use source for a small component export that receives serialized props
and boot metadata from the Gateway.
Existing UIs
Existing.smithers/ui/<workflow>.tsx files that call
createGatewayReactRoot(<App />) should use entry:
source: