Chat
@Composable
A complete chat screen body: the Conversation (streaming Markdown, tools and approvals, sub-agents, plans, branches, checkpoints) above a PromptInput with stop and queueing, all wired to controller. With voiceMode (and speech recognition on the device), the send button of an empty input starts a VoiceMode conversation. Wrap it in AiElementsTheme; add your own buttons to the input with toolbar.
Replies that browse, run commands or edit files show the agent's computer (AgentComputerCard, AgentComputerPanel): beside the chat when it is wide enough, in a bottom sheet otherwise. With replay (e.g. AgUiEventLog.replayOf), a run can be replayed from its recorded events.