From 87875430a88d06ac894b451492283ec4e841f129 Mon Sep 17 00:00:00 2001 From: Tak Hoffman <781889+Takhoffman@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:36:39 -0500 Subject: [PATCH] fix(regression): preserve chat lifecycle subagent metadata --- src/gateway/server-chat.agent-events.test.ts | 12 ++++++++++++ src/gateway/server-chat.ts | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/src/gateway/server-chat.agent-events.test.ts b/src/gateway/server-chat.agent-events.test.ts index 44bec1fddae..721d69a3924 100644 --- a/src/gateway/server-chat.agent-events.test.ts +++ b/src/gateway/server-chat.agent-events.test.ts @@ -756,6 +756,12 @@ describe("agent event handler", () => { key: "session-finished", kind: "direct", updatedAt: 1_650, + spawnedBy: "agent:main:main", + spawnedWorkspaceDir: "/tmp/subagent", + forkedFromParent: true, + spawnDepth: 2, + subagentRole: "orchestrator", + subagentControlScope: "children", fastMode: true, sendPolicy: "deny", verboseLevel: "on", @@ -798,6 +804,12 @@ describe("agent event handler", () => { expect.objectContaining({ sessionKey: "session-finished", phase: "end", + spawnedBy: "agent:main:main", + spawnedWorkspaceDir: "/tmp/subagent", + forkedFromParent: true, + spawnDepth: 2, + subagentRole: "orchestrator", + subagentControlScope: "children", fastMode: true, sendPolicy: "deny", verboseLevel: "on", diff --git a/src/gateway/server-chat.ts b/src/gateway/server-chat.ts index 510ca45dabb..fb221ff7192 100644 --- a/src/gateway/server-chat.ts +++ b/src/gateway/server-chat.ts @@ -494,6 +494,11 @@ export function createAgentEventHandler({ chatType: row?.chatType, origin: row?.origin, spawnedBy: row?.spawnedBy, + spawnedWorkspaceDir: row?.spawnedWorkspaceDir, + forkedFromParent: row?.forkedFromParent, + spawnDepth: row?.spawnDepth, + subagentRole: row?.subagentRole, + subagentControlScope: row?.subagentControlScope, label: row?.label, displayName: row?.displayName, deliveryContext: row?.deliveryContext,