Lynx

genui / a2ui / A2UIProps

A2UIProps

Props for the all-in-one A2UI ReactLynx renderer.

Properties

catalogs

catalogs: readonly CatalogInput[];

Components the renderer is allowed to instantiate. Each item is either a bare component (name read from displayName ?? name) or a tuple [component, manifest] where the manifest is the JSON the extractor emits at dist/catalog/<Name>/catalog.json.

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:57


className?

optional className: string;

Optional class name applied to the top-level surface-${surfaceId} view for the active surface. Use this when theme switching is expressed as surface-level classes.

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:70


messageStore

messageStore: MessageStore;

The raw-message buffer the developer pushes protocol messages into. <A2UI> subscribes via useSyncExternalStore and processes new messages incrementally.

The internal MessageProcessor (surfaces, signals, resources) is created once per mount and is not reset if messageStore is later replaced with a different instance. Pass a key prop derived from the store's identity if you want a fresh session, e.g. <A2UI key={turnId} messageStore={turnStore} ... />.

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:50


onAction()?

optional onAction: (action: UserActionPayload) => void;

Called when a user action fires inside the rendered tree (button tap, etc.). Forward to your agent and push the response messages back into the same messageStore to update the UI. Fire-and-forget; the renderer never awaits this.

Parameters

ParameterType
actionUserActionPayload

Returns

void

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:64


renderEmpty()?

optional renderEmpty: () => ReactNode;

Render before the first beginRendering arrives from the buffer.

Returns

ReactNode

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:80


renderError()?

optional renderError: (err: unknown) => ReactNode;

Render when the active resource fails.

Parameters

ParameterType
errunknown

Returns

ReactNode

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:84


renderFallback()?

optional renderFallback: () => ReactNode;

Render while the active resource is pending.

Returns

ReactNode

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:82


renderUnsupported()?

optional renderUnsupported: (info: UnsupportedInfo) => ReactNode;

Render when unsupported data syntax or an unsupported component is encountered.

Parameters

ParameterType
infoUnsupportedInfo

Returns

ReactNode

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:86


wrapSurface()?

optional wrapSurface: (children: ReactNode, ctx: object) => ReactNode;

Wrap each top-level surface so consumers can apply an outer theme shell, wrapper className, or additional styles.

Parameters

ParameterType
childrenReactNode
ctxobject
ctx.surfaceIdstring

Returns

ReactNode

Defined in

@lynx-js/genui/a2ui/src/react/A2UI.tsx:75

Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.