





















@@ -2332,18 +2332,22 @@ describe("dispatchReplyFromConfig", () => {
23322332id: "acpx",
23332333 runtime,
23342334});
2335-sessionBindingMocks.resolveByConversation.mockReturnValue({
2335+const boundConversationBinding = {
23362336bindingId: "binding-acp-current",
23372337targetSessionKey: boundSessionKey,
23382338targetKind: "session",
23392339conversation: {
2340-channel: "slack",
2340+channel: "discord",
23412341accountId: "default",
23422342conversationId: "C123",
23432343},
23442344status: "active",
23452345boundAt: Date.now(),
2346-} satisfies SessionBindingRecord);
2346+} satisfies SessionBindingRecord;
2347+sessionBindingMocks.resolveByConversation.mockReturnValue(boundConversationBinding);
2348+sessionBindingMocks.listBySession.mockImplementation((targetSessionKey: string) =>
2349+targetSessionKey === boundSessionKey ? [boundConversationBinding] : [],
2350+);
2347235123482352const cfg = {
23492353acp: {
@@ -2355,21 +2359,21 @@ describe("dispatchReplyFromConfig", () => {
23552359const dispatcher = createDispatcher();
23562360const replyResolver = vi.fn(async () => ({ text: "fallback reply" }) satisfies ReplyPayload);
23572361const ctx = buildTestCtx({
2358-Provider: "slack",
2359-Surface: "slack",
2360-OriginatingChannel: "slack",
2361-OriginatingTo: "slack:C123",
2362-To: "slack:C123",
2362+Provider: "discord",
2363+Surface: "discord",
2364+OriginatingChannel: "discord",
2365+OriginatingTo: "discord:C123",
2366+To: "discord:C123",
23632367AccountId: "default",
2364-SessionKey: "agent:main:slack:C123",
2368+SessionKey: "agent:main:discord:C123",
23652369BodyForAgent: "continue",
23662370});
2367237123682372const result = await dispatchReplyFromConfig({ ctx, cfg, dispatcher, replyResolver });
2369237323702374expect(result.queuedFinal).toBe(true);
23712375expect(sessionBindingMocks.resolveByConversation).toHaveBeenCalledWith({
2372-channel: "slack",
2376+channel: "discord",
23732377accountId: "default",
23742378conversationId: "C123",
23752379});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。