Files
openclaw/src/agents/command/attempt-callbacks.test.ts
Josh Avant b8e9ab9385 fix(codex): surface native compaction failures (#85160)
* fix(codex): surface native compaction failures

* docs: add changelog for codex compaction fix

* test: align compaction failure fixtures
2026-05-21 19:41:54 -07:00

38 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { createAgentAttemptLifecycleCallbacks } from "./attempt-callbacks.js";
describe("createAgentAttemptLifecycleCallbacks", () => {
it("tracks user-message persistence without closing over the agent command scope", () => {
const state = {
currentTurnUserMessagePersisted: false,
lifecycleFinishing: false,
lifecycleEnded: false,
};
const callbacks = createAgentAttemptLifecycleCallbacks(state);
callbacks.onUserMessagePersisted?.({
role: "user",
content: "hello",
timestamp: Date.now(),
});
expect(state.currentTurnUserMessagePersisted).toBe(true);
expect(state.lifecycleEnded).toBe(false);
});
it("tracks terminal lifecycle phases", () => {
const state = {
currentTurnUserMessagePersisted: false,
lifecycleFinishing: false,
lifecycleEnded: false,
};
const callbacks = createAgentAttemptLifecycleCallbacks(state);
callbacks.onAgentEvent({ stream: "lifecycle", data: { phase: "start" } });
expect(state.lifecycleEnded).toBe(false);
callbacks.onAgentEvent({ stream: "lifecycle", data: { phase: "end" } });
expect(state.lifecycleEnded).toBe(true);
});
});