fix: preserve session thread ids in agent send events

This commit is contained in:
Tak Hoffman
2026-03-27 20:23:10 -05:00
parent 7fadb4f7ff
commit f4a45071e3
2 changed files with 18 additions and 0 deletions

View File

@@ -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<string, unknown> = {
"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",
}),

View File

@@ -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,