mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 11:04:59 +00:00
fix: fail-closed shared-session reply routing (#24571) (thanks @brandonwise)
This commit is contained in:
@@ -191,6 +191,49 @@ describe("deliverAgentCommandResult", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("uses runContext turn source over stale session last route", async () => {
|
||||
await runDelivery({
|
||||
opts: {
|
||||
message: "hello",
|
||||
deliver: true,
|
||||
runContext: {
|
||||
messageChannel: "whatsapp",
|
||||
currentChannelId: "+15559876543",
|
||||
accountId: "work",
|
||||
},
|
||||
},
|
||||
sessionEntry: {
|
||||
lastChannel: "slack",
|
||||
lastTo: "U_WRONG",
|
||||
lastAccountId: "wrong",
|
||||
} as SessionEntry,
|
||||
});
|
||||
|
||||
expect(mocks.resolveOutboundTarget).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ channel: "whatsapp", to: "+15559876543", accountId: "work" }),
|
||||
);
|
||||
});
|
||||
|
||||
it("does not reuse session lastTo when runContext source omits currentChannelId", async () => {
|
||||
await runDelivery({
|
||||
opts: {
|
||||
message: "hello",
|
||||
deliver: true,
|
||||
runContext: {
|
||||
messageChannel: "whatsapp",
|
||||
},
|
||||
},
|
||||
sessionEntry: {
|
||||
lastChannel: "slack",
|
||||
lastTo: "U_WRONG",
|
||||
} as SessionEntry,
|
||||
});
|
||||
|
||||
expect(mocks.resolveOutboundTarget).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ channel: "whatsapp", to: undefined }),
|
||||
);
|
||||
});
|
||||
|
||||
it("prefixes nested agent outputs with context", async () => {
|
||||
const runtime = createRuntime();
|
||||
await runDelivery({
|
||||
|
||||
Reference in New Issue
Block a user