mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-09-04 10:11:46 +03:00
feat(tui): add agent interaction workflows
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import { describe, expect, test } from "bun:test"
|
||||
|
||||
import { PromptQueue } from "./prompt-queue"
|
||||
|
||||
const prompt = (content: string) => ({ content, options: {} })
|
||||
|
||||
describe("PromptQueue", () => {
|
||||
test("promotes the newest armed prompt to steering", () => {
|
||||
const queue = new PromptQueue()
|
||||
queue.enqueue(prompt("next one"))
|
||||
queue.enqueue(prompt("steer now"))
|
||||
|
||||
expect(queue.takeSteering()?.content).toBe("steer now")
|
||||
expect(queue.takeSteering()).toBeNull()
|
||||
expect(queue.takeFollowUp()?.content).toBe("next one")
|
||||
})
|
||||
|
||||
test("keeps follow-ups FIFO and restores unsent drafts", () => {
|
||||
const queue = new PromptQueue()
|
||||
queue.enqueue(prompt("first"))
|
||||
queue.enqueue(prompt("second"))
|
||||
|
||||
expect(queue.takeFollowUp()?.content).toBe("first")
|
||||
expect(queue.restore().map(({ content }) => content)).toEqual(["second"])
|
||||
expect(queue.length).toBe(0)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user