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:
@@ -64,7 +64,7 @@ test("durable code agent trace store projects appended events without counting a
|
|||||||
});
|
});
|
||||||
const traceId = "trc_trace-store-durable-projection";
|
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" });
|
traceStore.appendAssistantDelta(traceId, { itemId: "assistant", chunk: "hello" });
|
||||||
await Promise.resolve();
|
await Promise.resolve();
|
||||||
await Promise.resolve();
|
await Promise.resolve();
|
||||||
|
|||||||
@@ -253,10 +253,12 @@ function persistTraceEvent(traceEventStore, event, meta = {}, workbenchEventWrit
|
|||||||
|
|
||||||
async function persistTraceEventAsync(traceEventStore, event, meta = {}, workbenchEventWriter = null) {
|
async function persistTraceEventAsync(traceEventStore, event, meta = {}, workbenchEventWriter = null) {
|
||||||
try {
|
try {
|
||||||
|
const resolvedAgentSessionId = event.agentSessionId ?? event.sessionId ?? meta.agentSessionId ?? meta.sessionId;
|
||||||
|
const resolvedSessionId = event.sessionId ?? meta.sessionId ?? resolvedAgentSessionId;
|
||||||
const projectionContext = {
|
const projectionContext = {
|
||||||
traceId: event.traceId,
|
traceId: event.traceId,
|
||||||
agentSessionId: event.agentSessionId ?? event.sessionId ?? meta.agentSessionId ?? meta.sessionId,
|
agentSessionId: resolvedAgentSessionId,
|
||||||
sessionId: event.sessionId ?? meta.sessionId
|
sessionId: resolvedSessionId
|
||||||
};
|
};
|
||||||
try {
|
try {
|
||||||
await traceEventStore.writeAgentTraceEvent({ event }, projectionContext);
|
await traceEventStore.writeAgentTraceEvent({ event }, projectionContext);
|
||||||
|
|||||||
Reference in New Issue
Block a user