Reference

GenUI — Complete Capabilities Reference

GenUI is everything an agent can put on screen beyond spoken text: flashcards, summaries, sources, forms, Kaltura/external video, images, and links. The brain emits each of these as a unisphere-tool runtime, a stream segment with type:"unisphere-tool". The SDK renders these natively via ExperienceRenderer.

This page is the authoritative map. For each runtime, it covers the enabling capability, the exact wire shape, the SDK function and keys that parse and render it, and the restrictions that bite in practice.

Naming note. unisphere-tool and unisphere.widget.genie below are the brain's literal, on-the-wire constant values. A naming decision made outside this SDK set them, and they're preserved verbatim here because changing them would break real interoperability. They are unrelated to "GenUI," this doc's own name for the feature. Don't read them as a reference to a different product.

Doc Covers
GenUI · Model and Runtimes The model in one paragraph, the first-class runtime catalog, the data-flow pipeline, the two delivery paths, force_experience
GenUI · Per-Runtime Widget Detail Per-runtime model keys, constraints, and descriptor shapes — all 10 widgets
GenUI · Authoring and Consuming Widgets Which capability gates which widget; ExperienceRenderer/mountWidget consumption; screen_share_analysis
GenUI · Widget Analytics Reporting widget interactions to KAVA without double-counting
GenUI · Safety and Restrictions The OWASP LLM05 safety model; restrictions and gotchas to read before you build

Pointers (source of truth)

Topic File
Runtime catalog, normalize, and parse src/experience/genui/parse.js
The 9 default renderers src/experience/genui/renderers/*.js (and index.js map, WIDGET_KINDS)
graded-question (host-registered 10th runtime) src/experience/genui/renderers/graded-question.js (and its mountWidget builder); runnable example: examples/genui-graded-question.mjs
DOM mount helper (mountWidget and kgenui classes) src/experience/genui/renderers/mount.js
Multi-fragment assembly src/experience/genui/segments.js
Dispatch, dual-mode, and fallback src/experience/genui/renderer.js
Wire enums (GENUI_RUNTIMES, segmentKind, collectConverse) src/core/stream.js
force_experience (EXPERIENCES) and join hardcode src/experience/wire.js
HTTP converse and validation src/management/conversations.js
Capability gating (CAPABILITY_INFO) src/management/capabilities.js
Safety primitives src/core/safety.js
submitStructuredDataForm / sendScreenShot src/experience/session.js
Widget-interaction analytics (KavaAnalytics.buttonClicked) src/experience/analytics.js
Wire segment shape and force_experience Wire Protocol · Events Catalog §4e, Wire Protocol · Client Configuration §7
Click to talk with Nova — she knows this whole SDK.
Nova AI assistant — knows this whole site

Reloading starts a fresh chat. “New conversation” does the same without leaving the drawer.