From 5cfcb1c584a0daccd8941fd1690dbc12ade733d7 Mon Sep 17 00:00:00 2001 From: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Date: Sun, 3 May 2026 01:55:14 +0000 Subject: [PATCH] fix(gateway,agent): only enforce session sendPolicy=deny when delivering --- src/gateway/server-methods/agent.test.ts | 6 ++++++ src/gateway/server-methods/agent.ts | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gateway/server-methods/agent.test.ts b/src/gateway/server-methods/agent.test.ts index bb53530e25d..659fce77d78 100644 --- a/src/gateway/server-methods/agent.test.ts +++ b/src/gateway/server-methods/agent.test.ts @@ -2833,6 +2833,12 @@ describe("gateway agent handler", () => { undefined, expect.objectContaining({ message: "send blocked by session policy" }), ); + expect(mocks.resolveSendPolicy).toHaveBeenCalledWith( + expect.objectContaining({ + entry: expect.objectContaining({ sessionId: "existing-session-id" }), + sessionKey: "agent:main:main", + }), + ); expect(mocks.agentCommand).not.toHaveBeenCalled(); }); diff --git a/src/gateway/server-methods/agent.ts b/src/gateway/server-methods/agent.ts index b91088ab853..f1041ce527b 100644 --- a/src/gateway/server-methods/agent.ts +++ b/src/gateway/server-methods/agent.ts @@ -1072,10 +1072,10 @@ export const agentHandlers: GatewayRequestHandlers = { if (request.deliver === true) { const sendPolicy = resolveSendPolicy({ cfg, - entry, + entry: sessionEntry, sessionKey: canonicalKey, - channel: entry?.channel, - chatType: entry?.chatType, + channel: sessionEntry?.channel, + chatType: sessionEntry?.chatType, }); if (sendPolicy === "deny") { respond(