feat(agent): add controlled task execution
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import { expect, it } from "bun:test";
|
||||
import { mkdtemp, rm } from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import { SessionUiStateStore } from "../../src/sessions/uiStateStore.js";
|
||||
|
||||
it("restores plan history independently of chat messages after reconnecting", async () => {
|
||||
const directory = await mkdtemp(join(tmpdir(), "tjwater-plan-state-"));
|
||||
try {
|
||||
const store = new SessionUiStateStore(directory);
|
||||
await store.initialize();
|
||||
const executionPlans = [{ revision: 1, nodes: [{ id: "sampling", status: "waiting" }] }];
|
||||
await store.write({ sessionId: "session-1" }, { sessionId: "session-1", messages: [], executionPlans });
|
||||
const reloaded = await new SessionUiStateStore(directory).read({ sessionId: "session-1" });
|
||||
expect(reloaded?.executionPlans).toEqual(executionPlans);
|
||||
expect(await store.read({ sessionId: "other-session" })).toBeNull();
|
||||
} finally {
|
||||
await rm(directory, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user