fix(agent-switch): make handoff durable and sync CLI TUI selection

This commit is contained in:
ismeth
2026-02-18 19:26:33 +01:00
committed by YeonGyu-Kim
parent 4764d65db1
commit 8de10c1f2b
17 changed files with 1698 additions and 35 deletions
+25 -2
View File
@@ -1,5 +1,11 @@
import { describe, test, expect, beforeEach } from "bun:test"
import { setPendingSwitch, consumePendingSwitch, _resetForTesting } from "./state"
const { describe, test, expect, beforeEach } = require("bun:test")
import {
setPendingSwitch,
getPendingSwitch,
clearPendingSwitch,
consumePendingSwitch,
_resetForTesting,
} from "./state"
describe("agent-switch state", () => {
beforeEach(() => {
@@ -47,4 +53,21 @@ describe("agent-switch state", () => {
expect(consumePendingSwitch("session-1")).toEqual({ agent: "atlas", context: "Fix A" })
expect(consumePendingSwitch("session-2")).toEqual({ agent: "prometheus", context: "Plan B" })
})
test("should allow reading without consuming", () => {
setPendingSwitch("session-1", "atlas", "Fix A")
expect(getPendingSwitch("session-1")).toEqual({ agent: "atlas", context: "Fix A" })
expect(getPendingSwitch("session-1")).toEqual({ agent: "atlas", context: "Fix A" })
})
test("should clear pending switch explicitly", () => {
setPendingSwitch("session-1", "atlas", "Fix A")
clearPendingSwitch("session-1")
expect(getPendingSwitch("session-1")).toBeUndefined()
})
})
export {}