This commit is contained in:
王春跃 2026-01-30 11:55:30 +00:00 committed by GitHub
commit 5774320666
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 0 deletions

View File

@ -163,6 +163,7 @@ export function createAgentEventHandler({
seq: number, seq: number,
jobState: "done" | "error", jobState: "done" | "error",
error?: unknown, error?: unknown,
usage?: Record<string, unknown>,
) => { ) => {
const text = chatRunState.buffers.get(clientRunId)?.trim() ?? ""; const text = chatRunState.buffers.get(clientRunId)?.trim() ?? "";
chatRunState.buffers.delete(clientRunId); chatRunState.buffers.delete(clientRunId);
@ -180,6 +181,7 @@ export function createAgentEventHandler({
timestamp: Date.now(), timestamp: Date.now(),
} }
: undefined, : undefined,
usage: usage,
}; };
// Suppress webchat broadcast for heartbeat runs when showOk is false // Suppress webchat broadcast for heartbeat runs when showOk is false
if (!shouldSuppressHeartbeatBroadcast(clientRunId)) { if (!shouldSuppressHeartbeatBroadcast(clientRunId)) {
@ -264,6 +266,7 @@ export function createAgentEventHandler({
evt.seq, evt.seq,
lifecyclePhase === "error" ? "error" : "done", lifecyclePhase === "error" ? "error" : "done",
evt.data?.error, evt.data?.error,
evt.data?.usage as Record<string, unknown> | undefined,
); );
} else { } else {
emitChatFinal( emitChatFinal(
@ -272,6 +275,7 @@ export function createAgentEventHandler({
evt.seq, evt.seq,
lifecyclePhase === "error" ? "error" : "done", lifecyclePhase === "error" ? "error" : "done",
evt.data?.error, evt.data?.error,
evt.data?.usage as Record<string, unknown> | undefined,
); );
} }
} else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) { } else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {

View File

@ -149,6 +149,7 @@ function broadcastChatFinal(params: {
runId: string; runId: string;
sessionKey: string; sessionKey: string;
message?: Record<string, unknown>; message?: Record<string, unknown>;
usage?: Record<string, unknown>;
}) { }) {
const seq = nextChatSeq({ agentRunSeq: params.context.agentRunSeq }, params.runId); const seq = nextChatSeq({ agentRunSeq: params.context.agentRunSeq }, params.runId);
const payload = { const payload = {
@ -157,6 +158,7 @@ function broadcastChatFinal(params: {
seq, seq,
state: "final" as const, state: "final" as const,
message: params.message, message: params.message,
usage: params.usage,
}; };
params.context.broadcast("chat", payload); params.context.broadcast("chat", payload);
params.context.nodeSendToSession(params.sessionKey, "chat", payload); params.context.nodeSendToSession(params.sessionKey, "chat", payload);
@ -545,6 +547,7 @@ export const chatHandlers: GatewayRequestHandlers = {
runId: clientRunId, runId: clientRunId,
sessionKey: p.sessionKey, sessionKey: p.sessionKey,
message, message,
usage: message?.usage as Record<string, unknown> | undefined,
}); });
} }
context.dedupe.set(`chat:${clientRunId}`, { context.dedupe.set(`chat:${clientRunId}`, {