From f4a45071e34b5ff4399963fdca4b5ed06724fea1 Mon Sep 17 00:00:00 2001 From: Tak Hoffman <781889+Takhoffman@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:23:10 -0500 Subject: [PATCH] fix: preserve session thread ids in agent send events --- src/gateway/server-methods/agent.test.ts | 16 ++++++++++++++++ src/gateway/server-methods/agent.ts | 2 ++ 2 files changed, 18 insertions(+) diff --git a/src/gateway/server-methods/agent.test.ts b/src/gateway/server-methods/agent.test.ts index b751e582d66..ce57fae565e 100644 --- a/src/gateway/server-methods/agent.test.ts +++ b/src/gateway/server-methods/agent.test.ts @@ -544,12 +544,20 @@ describe("gateway agent handler", () => { updatedAt: Date.now(), fastMode: true, sendPolicy: "deny", + lastChannel: "telegram", + lastTo: "-100123", + lastAccountId: "acct-1", + lastThreadId: 42, }); mocks.updateSessionStore.mockImplementation(async (_path, updater) => { const store: Record = { "agent:main:main": buildExistingMainStoreEntry({ fastMode: true, sendPolicy: "deny", + lastChannel: "telegram", + lastTo: "-100123", + lastAccountId: "acct-1", + lastThreadId: 42, }), }; return await updater(store); @@ -557,6 +565,10 @@ describe("gateway agent handler", () => { mocks.loadGatewaySessionRow.mockReturnValue({ fastMode: true, sendPolicy: "deny", + lastChannel: "telegram", + lastTo: "-100123", + lastAccountId: "acct-1", + lastThreadId: 42, totalTokens: 12, status: "running", }); @@ -590,6 +602,10 @@ describe("gateway agent handler", () => { reason: "send", fastMode: true, sendPolicy: "deny", + lastChannel: "telegram", + lastTo: "-100123", + lastAccountId: "acct-1", + lastThreadId: 42, totalTokens: 12, status: "running", }), diff --git a/src/gateway/server-methods/agent.ts b/src/gateway/server-methods/agent.ts index 8eaf0b267ea..8cf3c5374cc 100644 --- a/src/gateway/server-methods/agent.ts +++ b/src/gateway/server-methods/agent.ts @@ -152,6 +152,7 @@ function emitSessionsChanged( lastChannel: sessionRow.lastChannel, lastTo: sessionRow.lastTo, lastAccountId: sessionRow.lastAccountId, + lastThreadId: sessionRow.lastThreadId, totalTokens: sessionRow.totalTokens, totalTokensFresh: sessionRow.totalTokensFresh, contextTokens: sessionRow.contextTokens, @@ -494,6 +495,7 @@ export const agentHandlers: GatewayRequestHandlers = { lastChannel: deliveryFields.lastChannel ?? entry?.lastChannel, lastTo: deliveryFields.lastTo ?? entry?.lastTo, lastAccountId: deliveryFields.lastAccountId ?? entry?.lastAccountId, + lastThreadId: deliveryFields.lastThreadId ?? entry?.lastThreadId, modelOverride: entry?.modelOverride, providerOverride: entry?.providerOverride, label: labelValue,