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

Task Workspace

Task Workspace keeps the title, chronological transcript, bottom composer, and optional artifact inspector in one bounded application region.

Live preview

Release readiness review

  1. Review the release changes and call out blocking risks.

  2. I reviewed the package, documentation, and release checks.

    3 steps completedRelease checks

Usage

<section class="task-workspace">
  <header class="workspace-header">
    <button type="button" data-task-inspector-trigger>Open files</button>
  </header>
  <div data-task-body>
    <main data-task-main>
      <section class="agent-transcript">...</section>
      <form class="agent-composer">...</form>
    </main>
    <aside id="task-files" class="task-pane" data-task-inspector>...</aside>
  </div>
</section>

Parameters

APIValuesPurpose
data-task-bodyrequiredOwns main and inspector columns
data-task-mainrequiredTranscript and composer scroll contract
data-task-inspectoroptionalArtifact, file, citation, or context inspector
data-task-inspector-triggeroptionalOpens or closes the responsive inspector and receives restored focus
data-inspectorhidden, open, omittedInspector visibility and responsive overlay state

JavaScript API

Import @a3s-lab/ui/all, or import @a3s-lab/ui/runtime before @a3s-lab/ui/task-workspace. The controller initializes each workspace once and exposes openInspector(), closeInspector(), toggleInspector(), and refresh() on the root. It dispatches a3s:task-inspector-change with { open, mode, source } after a transition.

States and variants

Below 900px the inspector leaves the grid and opens only when data-inspector="open". Below 520px it becomes a bottom overlay. The controller marks a closed inspector inert and aria-hidden="true", removes those attributes on open, closes on Escape or backdrop activation, and restores focus to the trigger. The transcript and composer keep their DOM order in every state. Use data-inspector="hidden" when the product intentionally removes the inspector at every width.

Accessibility

Name the transcript, inspector, and controls. Return focus to the inspector trigger when it closes. Announce bounded execution status changes rather than making the whole transcript live.