fix(workbench): 用 agent session 上下文补齐 durable 投影 sessionId (#2013)

* fix(workbench): pass projection context to message writer

* fix(workbench): resolve session id from agent session context
This commit is contained in:
Lyon
2026-06-24 05:02:06 +08:00
committed by GitHub
parent db6e889009
commit d0a00abfce
2 changed files with 5 additions and 3 deletions
@@ -64,7 +64,7 @@ test("durable code agent trace store projects appended events without counting a
});
const traceId = "trc_trace-store-durable-projection";
traceStore.append(traceId, { type: "request", status: "accepted", label: "request:accepted", sessionId: "ses_trace_store_durable" });
traceStore.append(traceId, { type: "request", status: "accepted", label: "request:accepted" }, { agentSessionId: "ses_trace_store_durable" });
traceStore.appendAssistantDelta(traceId, { itemId: "assistant", chunk: "hello" });
await Promise.resolve();
await Promise.resolve();
+4 -2
View File
@@ -253,10 +253,12 @@ function persistTraceEvent(traceEventStore, event, meta = {}, workbenchEventWrit
async function persistTraceEventAsync(traceEventStore, event, meta = {}, workbenchEventWriter = null) {
try {
const resolvedAgentSessionId = event.agentSessionId ?? event.sessionId ?? meta.agentSessionId ?? meta.sessionId;
const resolvedSessionId = event.sessionId ?? meta.sessionId ?? resolvedAgentSessionId;
const projectionContext = {
traceId: event.traceId,
agentSessionId: event.agentSessionId ?? event.sessionId ?? meta.agentSessionId ?? meta.sessionId,
sessionId: event.sessionId ?? meta.sessionId
agentSessionId: resolvedAgentSessionId,
sessionId: resolvedSessionId
};
try {
await traceEventStore.writeAgentTraceEvent({ event }, projectionContext);