diff --git a/internal/cloud/code-agent-trace-store.test.ts b/internal/cloud/code-agent-trace-store.test.ts index 85c6440d..920b75dd 100644 --- a/internal/cloud/code-agent-trace-store.test.ts +++ b/internal/cloud/code-agent-trace-store.test.ts @@ -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(); diff --git a/internal/cloud/code-agent-trace-store.ts b/internal/cloud/code-agent-trace-store.ts index f1d0e594..59943573 100644 --- a/internal/cloud/code-agent-trace-store.ts +++ b/internal/cloud/code-agent-trace-store.ts @@ -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);