mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-31 03:41:51 +00:00
fix(regression): preserve session tool event metadata
This commit is contained in:
@@ -655,6 +655,21 @@ describe("agent event handler", () => {
|
||||
resolveSessionKeyForRun: () => "session-1",
|
||||
});
|
||||
|
||||
vi.mocked(loadGatewaySessionRow).mockReturnValue({
|
||||
key: "session-1",
|
||||
kind: "direct",
|
||||
spawnedBy: "agent:main:main",
|
||||
spawnedWorkspaceDir: "/tmp/subagent",
|
||||
forkedFromParent: true,
|
||||
spawnDepth: 2,
|
||||
subagentRole: "orchestrator",
|
||||
subagentControlScope: "children",
|
||||
lastThreadId: 42,
|
||||
fastMode: true,
|
||||
verboseLevel: "on",
|
||||
updatedAt: 1_200,
|
||||
});
|
||||
|
||||
registerAgentRunContext("run-session-tool", { sessionKey: "session-1", verboseLevel: "off" });
|
||||
sessionEventSubscribers.subscribe("conn-session");
|
||||
|
||||
@@ -677,6 +692,15 @@ describe("agent event handler", () => {
|
||||
expect.objectContaining({
|
||||
runId: "run-session-tool",
|
||||
sessionKey: "session-1",
|
||||
spawnedBy: "agent:main:main",
|
||||
spawnedWorkspaceDir: "/tmp/subagent",
|
||||
forkedFromParent: true,
|
||||
spawnDepth: 2,
|
||||
subagentRole: "orchestrator",
|
||||
subagentControlScope: "children",
|
||||
lastThreadId: 42,
|
||||
fastMode: true,
|
||||
verboseLevel: "on",
|
||||
stream: "tool",
|
||||
ts: 1_234,
|
||||
data: expect.objectContaining({
|
||||
|
||||
@@ -780,7 +780,12 @@ export function createAgentEventHandler({
|
||||
if (sessionKey) {
|
||||
const sessionSubscribers = sessionEventSubscribers.getAll();
|
||||
if (sessionSubscribers.size > 0) {
|
||||
broadcastToConnIds("session.tool", toolPayload, sessionSubscribers, { dropIfSlow: true });
|
||||
broadcastToConnIds(
|
||||
"session.tool",
|
||||
{ ...toolPayload, ...buildSessionEventSnapshot(sessionKey) },
|
||||
sessionSubscribers,
|
||||
{ dropIfSlow: true },
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user