fix(workbench): stream turn timing to optimistic cards (#1970)

This commit is contained in:
Lyon
2026-06-23 14:08:33 +08:00
committed by GitHub
parent 949b11dea8
commit 730c1a7fbc
2 changed files with 6 additions and 1 deletions
+5
View File
@@ -1837,6 +1837,11 @@ function turnSnapshot({ projection, result, session, trace }) {
assistantMessageId: assistantMessage?.messageId ?? null,
assistantText: finalText ?? null,
finalResponse: projection.finalResponse ?? null,
timing: projection.timing ?? null,
startedAt: projection.timing?.startedAt ?? null,
lastEventAt: projection.timing?.lastEventAt ?? null,
finishedAt: projection.timing?.finishedAt ?? null,
durationMs: projection.timing?.durationMs ?? null,
agentRun: result?.agentRun ?? null,
trace: {
traceId,
+1 -1
View File
@@ -1215,7 +1215,7 @@ function nonBlockingProjection(projection: ProjectionDiagnostic | null): Project
if (!traceId) return;
if (!shouldApplyActiveTraceAuthority(traceId, traceResultSessionId(turn))) return;
const status = firstNonEmptyString(turn.status) ?? undefined;
applyTurnStatusSnapshot(traceId, { traceId, status, running: turn.running === true, terminal: turn.terminal === true, sessionId: firstNonEmptyString(turn.sessionId) ?? undefined, threadId: firstNonEmptyString(turn.threadId) ?? undefined, agentRun: turn.agentRun as AgentRunProvenance | undefined } as AgentChatResultResponse);
applyTurnStatusSnapshot(traceId, { ...turn, traceId, status, running: turn.running === true, terminal: turn.terminal === true, sessionId: firstNonEmptyString(turn.sessionId) ?? undefined, threadId: firstNonEmptyString(turn.threadId) ?? undefined, agentRun: turn.agentRun as AgentRunProvenance | undefined } as AgentChatResultResponse);
if (turn.terminal === true || isTerminalMessageStatus(status)) void refreshTerminalTraceFromRest(traceId, "realtime-turn-snapshot");
}