fix(gateway,agent): only enforce session sendPolicy=deny when delivering

This commit is contained in:
clawsweeper
2026-05-03 01:55:14 +00:00
parent 76679676f1
commit 5cfcb1c584
2 changed files with 9 additions and 3 deletions

View File

@@ -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();
});

View File

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