






















@@ -197,33 +197,27 @@ describe("runAgentHarnessAttempt", () => {
197197it("uses the Codex harness by default for OpenAI agent model runs", async () => {
198198registerSuccessfulCodexHarness();
199199200-await expect(
201-runAgentHarnessAttempt({
202- ...createAttemptParams(),
203-provider: "openai",
204-modelId: "gpt-5.4",
205-}),
206-).resolves.toMatchObject({
207-sessionIdUsed: "codex",
200+const result = await runAgentHarnessAttempt({
201+ ...createAttemptParams(),
202+provider: "openai",
203+modelId: "gpt-5.4",
208204});
205+expect(result.sessionIdUsed).toBe("codex");
209206expect(piRunAttempt).not.toHaveBeenCalled();
210207});
211208212209it("honors explicit PI runtime for OpenAI agent model runs", async () => {
213-await expect(
214-runAgentHarnessAttempt({
215- ...createAttemptParams(providerRuntimeConfig("openai", "pi")),
216-provider: "openai",
217-modelId: "gpt-5.4",
218-}),
219-).resolves.toMatchObject({
220-sessionIdUsed: "pi",
210+const result = await runAgentHarnessAttempt({
211+ ...createAttemptParams(providerRuntimeConfig("openai", "pi")),
212+provider: "openai",
213+modelId: "gpt-5.4",
221214});
215+expect(result.sessionIdUsed).toBe("pi");
222216expect(piRunAttempt).toHaveBeenCalledTimes(1);
223217});
224218225219it("annotates non-ok harness result classifications for outer model fallback", async () => {
226-const classify = vi.fn(() => "empty" as const);
220+const classify = vi.fn<NonNullable<AgentHarness["classify"]>>(() => "empty" as const);
227221registerAgentHarness(
228222{
229223id: "codex",
@@ -239,14 +233,11 @@ describe("runAgentHarnessAttempt", () => {
239233const params = createAttemptParams();
240234const result = await runAgentHarnessAttempt(params);
241235242-expect(classify).toHaveBeenCalledWith(
243-expect.objectContaining({ sessionIdUsed: "codex" }),
244-params,
245-);
246-expect(result).toMatchObject({
247-agentHarnessId: "codex",
248-agentHarnessResultClassification: "empty",
249-});
236+const classifyCall = classify.mock.calls[0];
237+expect(classifyCall?.[0].sessionIdUsed).toBe("codex");
238+expect(classifyCall?.[1]).toBe(params);
239+expect(result.agentHarnessId).toBe("codex");
240+expect(result.agentHarnessResultClassification).toBe("empty");
250241});
251242252243it("fails for config-forced plugin harnesses when fallback is omitted", async () => {
@@ -405,15 +396,12 @@ describe("selectAgentHarness", () => {
405396406397expect(selectAgentHarness({ provider: "openai", modelId: "gpt-5.4", config }).id).toBe("codex");
407398408-await expect(
409-runAgentHarnessAttempt({
410- ...createAttemptParams(config),
411-provider: "openai",
412-modelId: "gpt-5.4",
413-}),
414-).resolves.toMatchObject({
415-sessionIdUsed: "codex",
399+const result = await runAgentHarnessAttempt({
400+ ...createAttemptParams(config),
401+provider: "openai",
402+modelId: "gpt-5.4",
416403});
404+expect(result.sessionIdUsed).toBe("codex");
417405expect(piRunAttempt).not.toHaveBeenCalled();
418406});
419407此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。