




























@@ -27,6 +27,15 @@ function addBeforeAgentStartHook(
2727}
28282929const stubCtx = TEST_PLUGIN_AGENT_CTX;
30+const EMPTY_BEFORE_AGENT_START_RESULT = {
31+appendContext: undefined,
32+appendSystemContext: undefined,
33+modelOverride: undefined,
34+prependContext: undefined,
35+prependSystemContext: undefined,
36+providerOverride: undefined,
37+systemPrompt: undefined,
38+} satisfies PluginHookBeforeAgentStartResult;
30393140describe("before_agent_start hook merger", () => {
3241let registry: PluginRegistry;
@@ -53,10 +62,10 @@ describe("before_agent_start hook merger", () => {
5362result: PluginHookBeforeAgentStartResult;
5463priority?: number;
5564}>,
56-expected: Partial<PluginHookBeforeAgentStartResult>,
65+expected: PluginHookBeforeAgentStartResult,
5766) => {
5867const result = await runWithHooks(hooks);
59-expect(result).toEqual(expect.objectContaining(expected));
68+expect(result).toEqual(expected);
6069return result;
6170};
6271@@ -80,13 +89,15 @@ describe("before_agent_start hook merger", () => {
8089"returns modelOverride from a single plugin",
8190{ modelOverride: "llama3.3:8b" },
8291{
92+ ...EMPTY_BEFORE_AGENT_START_RESULT,
8393modelOverride: "llama3.3:8b",
8494},
8595],
8696[
8797"returns providerOverride from a single plugin",
8898{ providerOverride: "ollama" },
8999{
100+ ...EMPTY_BEFORE_AGENT_START_RESULT,
90101providerOverride: "ollama",
91102},
92103],
@@ -97,6 +108,7 @@ describe("before_agent_start hook merger", () => {
97108providerOverride: "ollama",
98109},
99110{
111+ ...EMPTY_BEFORE_AGENT_START_RESULT,
100112modelOverride: "llama3.3:8b",
101113providerOverride: "ollama",
102114},
@@ -109,6 +121,7 @@ describe("before_agent_start hook merger", () => {
109121providerOverride: "ollama",
110122},
111123{
124+ ...EMPTY_BEFORE_AGENT_START_RESULT,
112125systemPrompt: "You are a helpful assistant",
113126modelOverride: "llama3.3:8b",
114127providerOverride: "ollama",
@@ -124,7 +137,7 @@ describe("before_agent_start hook merger", () => {
124137{ pluginId: "low-priority", result: { modelOverride: "gpt-5.4" }, priority: 1 },
125138{ pluginId: "high-priority", result: { modelOverride: "llama3.3:8b" }, priority: 10 },
126139],
127-{ modelOverride: "llama3.3:8b" },
140+{ ...EMPTY_BEFORE_AGENT_START_RESULT, modelOverride: "llama3.3:8b" },
128141);
129142expect(result?.modelOverride).toBe("llama3.3:8b");
130143});
@@ -204,6 +217,6 @@ describe("before_agent_start hook merger", () => {
204217const runner = createHookRunner(registry);
205218await runner.runBeforeAgentStart({ prompt: "test" }, stubCtx);
206219207-expect(capturedCtx).toMatchObject({ runId: "test-run-id" });
220+expect(capturedCtx).toBe(stubCtx);
208221});
209222});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。