

























@@ -7,8 +7,6 @@ const resolveAgentConfigMock = vi.hoisted(() => vi.fn());
77const resolveDefaultAgentIdMock = vi.hoisted(() => vi.fn());
88const resolveAgentWorkspaceDirMock = vi.hoisted(() => vi.fn());
99const getChannelPluginMock = vi.hoisted(() => vi.fn());
10-const getActivePluginChannelRegistryVersionMock = vi.hoisted(() => vi.fn());
11-const requireActivePluginChannelRegistryMock = vi.hoisted(() => vi.fn(() => ({})));
12101311vi.mock("../../agents/agent-scope.js", () => ({
1412resolveAgentConfig: resolveAgentConfigMock,
@@ -20,11 +18,6 @@ vi.mock("./index.js", () => ({
2018getChannelPlugin: getChannelPluginMock,
2119}));
222023-vi.mock("../../plugins/runtime.js", () => ({
24-getActivePluginChannelRegistryVersion: getActivePluginChannelRegistryVersionMock,
25-requireActivePluginChannelRegistry: requireActivePluginChannelRegistryMock,
26-}));
27-2821function createConfig(options?: { bindingAgentId?: string; accountId?: string }) {
2922return {
3023agents: {
@@ -95,8 +88,6 @@ describe("configured binding registry", () => {
9588resolveDefaultAgentIdMock.mockReset().mockReturnValue("main");
9689resolveAgentWorkspaceDirMock.mockReset().mockReturnValue("/tmp/workspace");
9790getChannelPluginMock.mockReset();
98-getActivePluginChannelRegistryVersionMock.mockReset().mockReturnValue(1);
99-requireActivePluginChannelRegistryMock.mockReset().mockReturnValue({});
10091ensureConfiguredBindingBuiltinsRegistered();
10192});
10293@@ -144,7 +135,7 @@ describe("configured binding registry", () => {
144135});
145136});
146137147-it("primes compiled ACP bindings from the already loaded channel registry once", async () => {
138+it("primes compiled ACP bindings from the already loaded channel registry", async () => {
148139const plugin = createDiscordAcpPlugin();
149140const cfg = createConfig({ bindingAgentId: "codex" });
150141getChannelPluginMock.mockReturnValue(plugin);
@@ -161,7 +152,6 @@ describe("configured binding registry", () => {
161152162153expect(primed).toEqual({ bindingCount: 1, channelCount: 1 });
163154expect(resolved?.statefulTarget.agentId).toBe("codex");
164-expect(plugin.bindings?.compileConfiguredBinding).toHaveBeenCalledTimes(1);
165155166156const second = bindingRegistry.resolveConfiguredBindingRecord({
167157cfg: cfg as never,
@@ -205,33 +195,27 @@ describe("configured binding registry", () => {
205195expect(resolved).toBeNull();
206196});
207197208-it("rebuilds the compiled registry when the active plugin registry version changes", async () => {
209-const plugin = createDiscordAcpPlugin();
210-getChannelPluginMock.mockReturnValue(plugin);
211-getActivePluginChannelRegistryVersionMock.mockReturnValue(10);
198+it("uses the current loaded channel plugin on each resolve", async () => {
199+const firstPlugin = createDiscordAcpPlugin();
200+const secondPlugin = createDiscordAcpPlugin();
201+getChannelPluginMock.mockReturnValueOnce(firstPlugin).mockReturnValueOnce(secondPlugin);
212202const cfg = createConfig();
213203214-bindingRegistry.resolveConfiguredBindingRecord({
215-cfg: cfg as never,
216-channel: "discord",
217-accountId: "default",
218-conversationId: "1479098716916023408",
219-});
220204bindingRegistry.resolveConfiguredBindingRecord({
221205cfg: cfg as never,
222206channel: "discord",
223207accountId: "default",
224208conversationId: "1479098716916023408",
225209});
226210227-getActivePluginChannelRegistryVersionMock.mockReturnValue(11);
228211bindingRegistry.resolveConfiguredBindingRecord({
229212cfg: cfg as never,
230213channel: "discord",
231214accountId: "default",
232215conversationId: "1479098716916023408",
233216});
234217235-expect(plugin.bindings?.compileConfiguredBinding).toHaveBeenCalledTimes(2);
218+expect(firstPlugin.bindings?.compileConfiguredBinding).toHaveBeenCalledTimes(1);
219+expect(secondPlugin.bindings?.compileConfiguredBinding).toHaveBeenCalledTimes(1);
236220});
237221});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。