fix: render projected trace events only (#2088)

This commit is contained in:
Lyon
2026-06-25 06:29:51 +08:00
committed by GitHub
parent 2d7c6387ae
commit a693e40b1e
+5 -1
View File
@@ -17,7 +17,7 @@ export interface TraceDisplayRowsOptions {
}
export function traceDisplayRows(trace: Record<string, unknown> = {}, events: TraceEvent[] = [], options: TraceDisplayRowsOptions = {}): TraceEventRow[] {
const orderedEvents = traceEventsForDisplay(events);
const orderedEvents = traceEventsForDisplay(events.filter(hasProjectedTraceSequence));
const effectiveTrace = traceWithInferredStart(trace, orderedEvents);
const finalResponseText = traceFinalResponseText(effectiveTrace);
const finalResponseFingerprint = traceMessageFingerprint(finalResponseText);
@@ -76,6 +76,10 @@ export function traceDisplayRows(trace: Record<string, unknown> = {}, events: Tr
return orderedEvents.filter((event) => !isSuppressedTraceEvent(event)).map((event) => traceDisplayRow(effectiveTrace, event, options));
}
function hasProjectedTraceSequence(event: TraceEvent | null | undefined): boolean {
return traceEventDisplaySeq(event) !== null;
}
export function renderTraceRowsMarkdown(rows: TraceEventRow[] = []): string {
if (!Array.isArray(rows) || rows.length === 0) return `_No rendered trace rows were returned._`;
return rows.map((row, index) => renderTraceRowMarkdown(row, index + 1)).join("\n\n");