Files
multica/packages/views/common/task-transcript/task-transcript.css
Naiyuan Qing ba89bf5119 feat(views): revamp execution log — virtualized, readable, two-tier header
Combines the transcript work (previously split across #5860 virtual
scroll and #5871 reading hierarchy) into one branch on current main,
folding in the runtime-alias display from #5881.

- Virtualize the event list (react-virtuoso) so a multi-thousand-event
  run mounts a bounded number of DOM rows (#5733), with firstItemIndex
  anchoring for newest-first live prepends.
- Reading hierarchy via a pure trace-event-presenter: agent text and
  errors render expanded in place through RichContent (compact,
  log-scale markdown); thinking/tool rows fold to one line; tool detail
  expands into a quiet surface with "show all".
- Persisted 3-way expand density (smart/expanded/collapsed) with per-row
  overrides; legacy defaultExpanded boolean migrated. Filters always
  persist (dropped the preserve-filters toggle).
- Two-tier header: identity row (status, agent, trigger source,
  triggered-by) + list toolbar (created/duration/events facts left,
  shared Button controls right); runtime/provider/workdir/timestamps
  move to an ⓘ popover, runtime shown via runtimeDisplayName (#5881).
- Copy-all exports full event bodies (redacted) with RFC 3339 timestamps
  (#5873), not the truncated summary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 16:33:50 +08:00

63 lines
1.5 KiB
CSS

/*
* Log-scale markdown for transcript agent text (rendered via RichContent with
* className="transcript-prose"). Structure is preserved; the type scale is
* flattened to the transcript's data-panel rhythm: body 12.5px, mono 11px,
* headings demoted to body size. Selectors double up with .rich-text-editor
* (the RichContent root) so they outrank the shared base styles regardless of
* CSS load order.
*/
.rich-text-editor.transcript-prose {
font-size: 12.5px;
line-height: 1.7;
}
.rich-text-editor.transcript-prose > :first-child {
margin-top: 0;
}
.rich-text-editor.transcript-prose > :last-child {
margin-bottom: 0;
}
.rich-text-editor.transcript-prose p {
margin: 0.25rem 0;
}
.rich-text-editor.transcript-prose ul,
.rich-text-editor.transcript-prose ol {
margin: 0.25rem 0;
padding-left: 1.25rem;
}
.rich-text-editor.transcript-prose li {
margin: 0.1rem 0;
}
/* A transcript is not an article: every heading demotes to emphasized body. */
.rich-text-editor.transcript-prose h1,
.rich-text-editor.transcript-prose h2,
.rich-text-editor.transcript-prose h3,
.rich-text-editor.transcript-prose h4,
.rich-text-editor.transcript-prose h5,
.rich-text-editor.transcript-prose h6 {
font-size: 12.5px;
font-weight: 500;
margin: 0.5rem 0 0.15rem;
}
.rich-text-editor.transcript-prose code {
font-size: 11px;
}
.rich-text-editor.transcript-prose pre,
.rich-text-editor.transcript-prose .code-block-wrapper {
font-size: 11px;
margin: 0.35rem 0;
}
.rich-text-editor.transcript-prose blockquote {
margin: 0.35rem 0;
font-size: 12.5px;
}