it("inter-session on a NEW session (no persisted external route) may set webchat", () => { // When there is no established external route, inter-session should not // forcefully block the update — the session has no external route to protect. const result = resolveLastChannelRaw({
originatingChannelRaw: "webchat",
persistedLastChannel: undefined,
sessionKey: "agent:samantha:main",
isInterSession: true,
}); // No external route existed — falls through to normal resolution (webchat or undefined) // The important thing is it does NOT throw and returns a defined or undefined value.
expect(result === "webchat" || result === undefined).toBe(true);
});
it("inter-session on session with no persisted lastTo does not crash", () => { const result = resolveLastToRaw({
originatingChannelRaw: "webchat",
originatingToRaw: "session:somekey",
toRaw: "session:somekey",
persistedLastTo: undefined,
persistedLastChannel: undefined,
sessionKey: "agent:samantha:main",
isInterSession: true,
}); // No external route — falls through to normal resolution
expect(result === "session:somekey" || result === undefined).toBe(true);
});
});
describe("session delivery direct-session routing overrides", () => {
it.each([ "agent:main:direct:user-1", "agent:main:telegram:direct:123456", "agent:main:telegram:account-a:direct:123456", "agent:main:telegram:dm:123456", "agent:main:telegram:direct:123456:thread:99", "agent:main:telegram:account-a:direct:123456:topic:ops",
])( "preserves persisted external route when webchat accesses channel-peer session %s (fixes #47745)",
(sessionKey) => { // Webchat/dashboard viewing an external-channel session must not overwrite // the delivery route — subagents must still deliver to the original channel.
expect(
resolveLastChannelRaw({
originatingChannelRaw: "webchat",
persistedLastChannel: "telegram",
sessionKey,
}),
).toBe("telegram");
expect(
resolveLastToRaw({
originatingChannelRaw: "webchat",
originatingToRaw: "session:dashboard",
persistedLastChannel: "telegram",
persistedLastTo: "123456",
sessionKey,
}),
).toBe("123456");
},
);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.