





















@@ -2094,35 +2094,29 @@ describe("runCodexAppServerAttempt", () => {
2094209420952095expect(result.promptError).toBe("codex exploded");
20962096expect(agentEnd).toHaveBeenCalledTimes(1);
2097-const agentEvents = onRunAgentEvent.mock.calls.map(([event]) => event);
2098-expect(agentEvents).toEqual(
2099-expect.arrayContaining([
2100-{
2101-stream: "lifecycle",
2102-data: expect.objectContaining({ phase: "start", startedAt: expect.any(Number) }),
2103-},
2104-{
2105-stream: "lifecycle",
2106-data: expect.objectContaining({
2107-phase: "error",
2108-startedAt: expect.any(Number),
2109-endedAt: expect.any(Number),
2110-error: "codex exploded",
2111-}),
2112-},
2113-]),
2097+const agentEvents = onRunAgentEvent.mock.calls.map(([event]) => event) as Array<{
2098+data: { endedAt?: number; error?: string; phase?: string; startedAt?: number };
2099+stream: string;
2100+}>;
2101+const startEvent = agentEvents.find(
2102+(event) => event.stream === "lifecycle" && event.data.phase === "start",
21142103);
2115-expect(agentEvents.some((event) => event.stream === "assistant")).toBe(false);
2116-expect(agentEnd).toHaveBeenCalledWith(
2117-expect.objectContaining({
2118-success: false,
2119-error: "codex exploded",
2120-}),
2121-expect.objectContaining({
2122-runId: "run-1",
2123-sessionId: "session-1",
2124-}),
2104+expect(typeof startEvent?.data.startedAt).toBe("number");
2105+const errorEvent = agentEvents.find(
2106+(event) => event.stream === "lifecycle" && event.data.phase === "error",
21252107);
2108+expect(typeof errorEvent?.data.startedAt).toBe("number");
2109+expect(typeof errorEvent?.data.endedAt).toBe("number");
2110+expect(errorEvent?.data.error).toBe("codex exploded");
2111+expect(agentEvents.some((event) => event.stream === "assistant")).toBe(false);
2112+const [agentEndPayload, agentEndContext] = agentEnd.mock.calls[0] as unknown as [
2113+{ error?: string; success?: boolean },
2114+{ runId?: string; sessionId?: string },
2115+];
2116+expect(agentEndPayload.success).toBe(false);
2117+expect(agentEndPayload.error).toBe("codex exploded");
2118+expect(agentEndContext.runId).toBe("run-1");
2119+expect(agentEndContext.sessionId).toBe("session-1");
21262120});
2127212121282122it("fires llm_output and agent_end when turn/start fails", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。