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", () => {
|
test("conversation panel auto replays compact historical traces", () => {
|
||||||
assert.equal(shouldAutoReplayTrace(baseAgentMessage), true);
|
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", () => {
|
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, runnerTrace: { ...baseAgentMessage.runnerTrace, eventCount: 0 } }), false);
|
||||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, status: "running" }), false);
|
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, status: "running" }), false);
|
||||||
assert.equal(shouldAutoReplayTrace({ ...baseAgentMessage, traceReplayStatus: "完整 trace 已回放:49 个原始 event" }), 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 (!traceId) return false;
|
||||||
if (message.status === "running" || trace?.status === "running") return false;
|
if (message.status === "running" || trace?.status === "running") return false;
|
||||||
if (message.traceReplayStatus) return false;
|
if (message.traceReplayStatus) return false;
|
||||||
if (trace?.fullTraceLoaded === true) return false;
|
|
||||||
const events = Array.isArray(trace?.events) ? trace.events : [];
|
const events = Array.isArray(trace?.events) ? trace.events : [];
|
||||||
|
if (trace?.fullTraceLoaded === true && events.length > 0) return false;
|
||||||
const declaredCount = Number(trace?.eventCount ?? 0);
|
const declaredCount = Number(trace?.eventCount ?? 0);
|
||||||
return events.length === 0 && declaredCount > 0;
|
return events.length === 0 && declaredCount > 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user