<UI> lets a workflow carry its own Gateway UI declaration in the workflow
TSX, instead of registering a separate UI from the launcher. It 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, 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: