For AI agents: the complete documentation index is available at https://a3s-lab.github.io/UI/v0.4.0/en/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/UI/v0.4.0/en/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/UI/v0.4.0/en/components/agent-transcript.md.

Agent Transcript

Agent Transcript presents user, agent, and system Turns in chronological DOM order. It accepts streamed content without owning transport, Markdown rendering, history retention, or virtualization.

Live preview
Cancellation testLocal environment
  1. You

    Add cancellation coverage for the streaming execution path.

  2. A3S CodeRunning

    I found the stream lifecycle in src/runtime.ts. I’ll inspect the existing tests before changing it.

    Search testsrg "cancel|abort" tests srcCompleted
    tests/runtime.spec.ts:118: aborts an idle request
  3. Waiting for approval before running a command outside the current project.

Agent is working

Usage

<section class="agent-transcript" aria-label="Conversation">
  <ol data-transcript-viewport tabindex="0">
    <li data-role="user"><article>...</article></li>
    <li data-role="agent"><article>...</article></li>
    <li data-role="system"><article>...</article></li>
  </ol>
</section>

Parameters

APIValuesPurpose
class="agent-transcript"RequiredNamed conversation region
Direct <ol> or data-transcript-viewportRecommendedOrdered, bounded Turn viewport
Child data-roleuser, agent, systemStable presentation role, independent of provider names
Child <article>RecommendedOne message or Turn surface
data-message-contentRecommendedRich text, code, execution items, approvals, and evidence
data-transcript-statusOptionalCoarse asynchronous status
--agent-transcript-content-widthCSS length, default 47.5remMaximum reading-column width
--agent-transcript-gapCSS length, default 1remGap between Turns
--agent-message-max-widthCSS length, default 48remReadable message width

States and variants

Assistant output remains open document content on the canvas; user Turns use the restrained blue authored surface, and system notices use a bounded notice. Execution, approval, citation, and artifact blocks stay inside the owning Turn without adding a border around the whole assistant response. Loading, empty, interrupted, and failed histories should remain explicit content, using Empty or Alert when appropriate. During streaming, append or update the active Agent Turn without rebuilding earlier Turns. Window long histories in the host application while preserving the logical ordered-list position with aria-posinset and aria-setsize when known.

Accessibility

Give the region an accessible name and preserve chronological DOM order. Make only an actually overflowing viewport focusable. Announce coarse state such as “Agent finished” or “Approval required”; do not place the token stream itself in a live region. New content must not steal focus or force the page to scroll when the reader has moved away from the latest Turn.