import { describe, expect, it } from "vitest" ;
import { resolveNativeCommandSessionTargets } from "./native-command-session-targets.js" ;
describe("resolveNativeCommandSessionTargets" , () => {
it("uses the bound session for both targets when present" , () => {
expect(
resolveNativeCommandSessionTargets({
agentId: "codex" ,
sessionPrefix: "discord:slash" ,
userId: "user-1" ,
targetSessionKey: "agent:codex:discord:channel:chan-1" ,
boundSessionKey: "agent:codex:acp:binding:discord:default:seed" ,
}),
).toEqual({
sessionKey: "agent:codex:acp:binding:discord:default:seed" ,
commandTargetSessionKey: "agent:codex:acp:binding:discord:default:seed" ,
});
});
it("falls back to the routed session target when unbound" , () => {
expect(
resolveNativeCommandSessionTargets({
agentId: "qwen" ,
sessionPrefix: "telegram:slash" ,
userId: "user-1" ,
targetSessionKey: "agent:qwen:telegram:direct:user-1" ,
}),
).toEqual({
sessionKey: "agent:qwen:telegram:slash:user-1" ,
commandTargetSessionKey: "agent:qwen:telegram:direct:user-1" ,
});
});
it("supports lowercase session keys for providers that already normalize" , () => {
expect(
resolveNativeCommandSessionTargets({
agentId: "Qwen" ,
sessionPrefix: "Slack:Slash" ,
userId: "U123" ,
targetSessionKey: "agent:qwen:slack:channel:c1" ,
lowercaseSessionKey: true ,
}),
).toEqual({
sessionKey: "agent:qwen:slack:slash:u123" ,
commandTargetSessionKey: "agent:qwen:slack:channel:c1" ,
});
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland