fix(v02): replay empty loaded traces (#865)
Co-authored-by: Codex Agent <codex@hwlab.local>
This commit is contained in:
@@ -23,6 +23,7 @@ const baseAgentMessage: ChatMessage = {
|
||||
|
||||
test("conversation panel auto replays compact historical traces", () => {
|
||||
assert.equal(shouldAutoReplayTrace(baseAgentMessage), true);
|
||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, runnerTrace: { ...baseAgentMessage.runnerTrace, fullTraceLoaded: true, events: [] } }), true);
|
||||
});
|
||||
|
||||
test("conversation panel does not auto replay loaded, empty, or running traces", () => {
|
||||
@@ -30,5 +31,5 @@ test("conversation panel does not auto replay loaded, empty, or running traces",
|
||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, runnerTrace: { ...baseAgentMessage.runnerTrace, eventCount: 0 } }), false);
|
||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, status: "running" }), false);
|
||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, traceReplayStatus: "完整 trace 已回放:49 个原始 event" }), false);
|
||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, runnerTrace: { ...baseAgentMessage.runnerTrace, fullTraceLoaded: true } }), false);
|
||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, runnerTrace: { ...baseAgentMessage.runnerTrace, fullTraceLoaded: true, events: [{ seq: 1, label: "assistant:message" }] } }), false);
|
||||
});
|
||||
|
||||
@@ -107,8 +107,8 @@ export function shouldAutoReplayTrace(message: ChatMessage): boolean {
|
||||
if (!traceId) return false;
|
||||
if (message.status === "running" || trace?.status === "running") return false;
|
||||
if (message.traceReplayStatus) return false;
|
||||
if (trace?.fullTraceLoaded === true) return false;
|
||||
const events = Array.isArray(trace?.events) ? trace.events : [];
|
||||
if (trace?.fullTraceLoaded === true && events.length > 0) return false;
|
||||
const declaredCount = Number(trace?.eventCount ?? 0);
|
||||
return events.length === 0 && declaredCount > 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user