Omit entirely to pass an AgentUIServer object directly — there is no "custom" wrapper.
"trueforge" loads the Harness adapter (plugins/trueforge-agent-server-adapter). See
Quickstart.
Omit for uncontrolled — the SDK resolves system and persists the user’s choice to
localStorage under aui-theme-preference. Passing a value makes it controlled and turns
setTheme into a no-op.
Optional. Omit it to use the built-in TrueForge wordmark in expanded chrome and
square mark in compact surfaces. When set, choose mode first, then pass the
fields that mode requires.
Mode-agnostic source, used when neither light nor dark is set.
A single configured mode is used for both modes, so { light } alone never renders a
missing image. Use BrandLogo with variant="icon" or variant="logo" in custom
layouts. To render a component rather than an image, override its slot through
overrides.
Replace any built-in component. Partial<AtomSlots>, derived from the SDK’s default slot
table — so editor autocomplete lists the overridable names. See
Slot overrides.
Passed to the layout component, and to the loading and error states. Typically
"h-full min-h-0". To style the theme wrapper instead, use theme.className.
The component mounts every provider it needs, so you do not have to wrap it in anything.Switching agents, starting a new draft, or clearing the chat resets the conversation — the
current transcript is cleared so that one agent’s messages do not carry into another’s context.
Persisted sessions remain available through the thread list.
If window.location.search contains screenType=mcp-auth, the component renders only the
OAuth completion screen and no layout. See MCP OAuth.