Entry Points
symbiote-ui- Node-safe core primitives, including the versioned cascade-theme share codec and insert-only user preset store.symbiote-ui/core- graph editor data primitives.symbiote-ui/layout- SSR-safe layout, behavior, and lifecycle helpers.symbiote-ui/graph- provider graph normalization, projection, and deterministic layout-quality analysis.symbiote-ui/manifest- component, schema, rule, theme, and provider catalogs.symbiote-ui/runtime- Node-safe agent UI construction helpers.symbiote-ui/runtime/product-context- Node-safe product context normalization for host-owned agent views.symbiote-ui/ui- browser Web Component registration and UI runtime, includingcascade-theme-widget,cascade-theme-editor, and the hydrate-onlysn-theme-import-dialog.symbiote-ui/ui/screencast-recorder.js- browser Screen Capture API hotkey controller for host-owned screencast recording; default toggle hotkey isAlt+Shift+R, captured tab/display audio is requested by default, and no built-in indicator UI is rendered.symbiote-ui/webmcp- WebMCP descriptor helpers and registration utilities.symbiote-ui/xr- WebXR provider helpers, spatial algorithms, 3D graph layout, and multi-view coordination.symbiote-ui/locale- Node-safe locale catalogs and translation helpers.symbiote-ui/discover- provider discovery JSON API used by the CLI.symbiote-ui/chat/voice-input-defaults.js- Node-safe wake/send/action voice command defaults and matching helpers.symbiote-ui/chat/voice-controller.js- browser wake listening and response speech orchestration for chat hosts.symbiote-ui/chat/voice-arbitration.js- Node-safe shared speaking-channel lock so notification narration yields to chat voice and never overlaps the microphone.symbiote-ui/chat/notification-phrases.js- Node-safe localized, randomized notification phrase bank with terse/chatty depth.symbiote-ui/chat/notification-narrator.js- browserspeechSynthesisnarration primitive that speaks phrase-bank phrases through the arbitration channel.symbiote-ui/chat/dialogue-stage.js- multi-voice dialogue engine: each persona speaks through its own hidden-iframespeechSynthesisso voices can overlap, withsetLocale, pause/resume, and a one-shot gesture unlock; spoken text is sanitized for TTS by default.symbiote-ui/chat/dialogue-timeline.js-playDialogueTimelineandbuildAlternatingTimeline: sequence dialogue turns with per-turn cues and overlap, building round-robin alternating conversations from plain lines.symbiote-ui/chat/dialogue-player.js-createDialoguePlayertransport controller over a stage and timeline:play/pause/resume/prev/next/seek/stop,index/total/isPlaying/isPausedgetters, adonepromise, and settableonCue/onIndexChange/onStateChange.symbiote-ui/chat/presenter-cursor.js-createPresenterCursorrenders a human-paced animated arrow cursor that drag-selects an edge-aware padded area around any element with a Windows marching-ants marquee and travels between checkpoints along a curved path (moveTo/clear/dispose, Node-safe at import);playCursorScenarioplays an agent-authored{ steps: [{ target, holdMs?, gesture?, label? }] }scenario with a hostresolveTarget, per-steponStep, andAbortSignalsupport.ChatMessageItem/ message-model custom-content parts - messages now carry anactionspart ({ type: 'actions', actions: [{ id, label, icon, variant }] }) that renders inline action buttons and emitschat-message-action/chat-workspace-action{ id, actionId, payload }, and anembedpart ({ type: 'embed', key }) that renders a keyed slot soChatTranscriptcan emitchat-transcript-embeds-ready/chat-workspace-embeds-ready{ embeds: [{ key, slot }] }for the host to mount and re-attach a live widget.symbiote-ui/custom-elements.json- Custom Elements manifest.symbiote-ui/schemas/*,symbiote-ui/tokens/*,symbiote-ui/rules/*- machine-readable provider contracts.symbiote-ui/display/*- reusable display utilities exposed by package export map.
For the complete export map and provider catalog, run:
symbiote-ui discover
Use symbiote-node only as the terminal migration facade for older consumers.