From 98a4cc6569fc66c8d56e94175594102963235447 Mon Sep 17 00:00:00 2001
From: imccyu <276526105+imccyu@users.noreply.github.com>
Date: Tue, 11 Aug 2026 00:04:51 +0800
Subject: [PATCH] style(ui-trajectory): align presentation render tree
---
.../src/client/TrajectoryTable.tsx | 432 +++++++++---------
.../client/ui-trajectory/src/client/layout.ts | 4 +-
.../src/client/trajectory-search-index.ts | 14 +-
3 files changed, 225 insertions(+), 225 deletions(-)
diff --git a/packages/client/ui-trajectory/src/client/TrajectoryTable.tsx b/packages/client/ui-trajectory/src/client/TrajectoryTable.tsx
index 67ec1cd2d6..a1db84f50c 100644
--- a/packages/client/ui-trajectory/src/client/TrajectoryTable.tsx
+++ b/packages/client/ui-trajectory/src/client/TrajectoryTable.tsx
@@ -2214,241 +2214,241 @@ export function TrajectoryTable({
cell={record.cell}
>
{({ displayText, listDisplayText, resultText, toolCallOnly, toolCallText }) => {
- const isCollapsedSummary = record.collapsedSummary !== undefined
- const isRequestOnly = record.cell.requestOnly === true
- const isInitialSystem = record.cell.kind === 'system'
+ const isCollapsedSummary = record.collapsedSummary !== undefined
+ const isRequestOnly = record.cell.requestOnly === true
+ const isInitialSystem = record.cell.kind === 'system'
&& record.cell.index === allRecords[0]?.cell.index
- const request = record.groupStart
+ const request = record.groupStart
&& !isCollapsedSummary
&& (record.turn === null || !collapsedTurns.has(record.turn))
- ? requestNumbers.get(requestKey(record.turn, record.group))
- : undefined
- const requestInfo = request === undefined
- ? undefined
- : sessionRequestNumbers?.find(candidate => candidate.number === request)
- const requestStatus = requestInfo?.status
+ ? requestNumbers.get(requestKey(record.turn, record.group))
+ : undefined
+ const requestInfo = request === undefined
+ ? undefined
+ : sessionRequestNumbers?.find(candidate => candidate.number === request)
+ const requestStatus = requestInfo?.status
?? (record.cell.isError === true ? 'error' : undefined)
- const requestRunIndex = requestBoundaryRuns.get(record.cell.index) ?? 0
- const requestBoundaryStyle: RequestBoundaryStyle = {
- '--request-boundary-offset': `${requestRunIndex * 8}px`,
- }
- const requestLabel = request === undefined
- ? undefined
- : `Request #${request}${requestInfo?.purpose === 'compaction' ? ' · Compaction' : ''}`
- const requestSelected = request !== undefined
+ const requestRunIndex = requestBoundaryRuns.get(record.cell.index) ?? 0
+ const requestBoundaryStyle: RequestBoundaryStyle = {
+ '--request-boundary-offset': `${requestRunIndex * 8}px`,
+ }
+ const requestLabel = request === undefined
+ ? undefined
+ : `Request #${request}${requestInfo?.purpose === 'compaction' ? ' · Compaction' : ''}`
+ const requestSelected = request !== undefined
&& selectedRequest?.turn === record.turn
&& selectedRequest.group === record.group
- const sectionActive = record.turn === null
- ? activeSection === record.section
- : activeTurn === record.turn
- return (
-
{
- if (record.collapsedSummaryKind === 'turn' && record.turn !== null) {
+ const sectionActive = record.turn === null
+ ? activeSection === record.section
+ : activeTurn === record.turn
+ return (
+
{
+ if (record.collapsedSummaryKind === 'turn' && record.turn !== null) {
+ onToggleTurn(record.turn)
+ } else onToggleAssistant(trajectoryRecordId(record.cell))
+ }
+ : () => { selectRecord(record.cell.index) }}
+ onDoubleClick={(event) => {
+ if (isCollapsedSummary || isRequestOnly) return
+ if (record.turn !== null && collapsedTurns.has(record.turn)) {
+ event.preventDefault()
onToggleTurn(record.turn)
- } else onToggleAssistant(trajectoryRecordId(record.cell))
- }
- : () => { selectRecord(record.cell.index) }}
- onDoubleClick={(event) => {
- if (isCollapsedSummary || isRequestOnly) return
- if (record.turn !== null && collapsedTurns.has(record.turn)) {
- event.preventDefault()
- onToggleTurn(record.turn)
- return
- }
- if (
- record.cell.kind === 'message'
+ return
+ }
+ if (
+ record.cell.kind === 'message'
&& assistantToolCalls(allRecords, record.cell.index).length > 0
- ) {
- event.preventDefault()
- onToggleAssistant(trajectoryRecordId(record.cell))
- return
- }
- if (!record.turnStart) return
- if (record.turn === null) return
- if (allRecords.filter(candidate =>
- candidate.turn === record.turn
+ ) {
+ event.preventDefault()
+ onToggleAssistant(trajectoryRecordId(record.cell))
+ return
+ }
+ if (!record.turnStart) return
+ if (record.turn === null) return
+ if (allRecords.filter(candidate =>
+ candidate.turn === record.turn
&& candidate.cell.requestOnly !== true
&& candidate.cell.kind !== 'system').length <= 1) return
- event.preventDefault()
- onToggleTurn(record.turn)
- }}
- onKeyDown={(event) => {
- if (isRequestOnly) return
- if (event.key !== 'Enter' && event.key !== ' ') return
- event.preventDefault()
- if (isCollapsedSummary) {
- if (record.collapsedSummaryKind === 'turn' && record.turn !== null) {
+ event.preventDefault()
onToggleTurn(record.turn)
- } else onToggleAssistant(trajectoryRecordId(record.cell))
- return
- }
- selectRecord(record.cell.index)
- }}
- >
- |
- {request !== undefined && (
- |
- )
+
+ {!isCollapsedSummary && !isRequestOnly && (
+
+
+
+
+ {KIND_ICON[record.cell.kind]}
+
+
+
+ {KIND_LABEL[record.cell.kind]}
+
+
+
+ )}
+
+
+
+ {isRequestOnly
+ ? null
+ : record.collapsedSummary !== undefined
+ ? (
+
+ …
+ {record.collapsedSummary}
+
+ )
+ : (
+
+
+
+
+ {resultText !== undefined && (
+
+ →
+
+ {resultText}
+
+
+ )}
+
+ )}
+ |
+
+ )
}}
))}
diff --git a/packages/client/ui-trajectory/src/client/layout.ts b/packages/client/ui-trajectory/src/client/layout.ts
index 3a118aadfb..6a24967ac2 100644
--- a/packages/client/ui-trajectory/src/client/layout.ts
+++ b/packages/client/ui-trajectory/src/client/layout.ts
@@ -943,8 +943,8 @@ function expandSubCalls(
callId: sub.callId,
...(settled
? (sub.call !== null
- ? summarizeCall(sub.call.name, sub.call.argsRaw)
- : resultAsText(resultPreview))
+ ? summarizeCall(sub.call.name, sub.call.argsRaw)
+ : resultAsText(resultPreview))
: summarizeCall(sub.name, sub.argsRaw)),
...(settled
? (sub.call !== null ? { inputDetail: sub.call.argsRaw } : {})
diff --git a/packages/client/ui-trajectory/src/client/trajectory-search-index.ts b/packages/client/ui-trajectory/src/client/trajectory-search-index.ts
index 889fbff7e6..93dddb6856 100644
--- a/packages/client/ui-trajectory/src/client/trajectory-search-index.ts
+++ b/packages/client/ui-trajectory/src/client/trajectory-search-index.ts
@@ -97,13 +97,13 @@ export class TrajectorySearchIndex {
const entry = previous !== undefined && sameSources(previous.sources, sources)
? previous
: {
- sources,
- text: [
- ...sources,
- markdownPreview(cell),
- resultPreview(cell),
- ].join('\n').toLocaleLowerCase(),
- }
+ sources,
+ text: [
+ ...sources,
+ markdownPreview(cell),
+ resultPreview(cell),
+ ].join('\n').toLocaleLowerCase(),
+ }
this.entries.set(id, entry)
seen.add(id)
}