28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import {
|
|
isHeadlessAutoAllowTool,
|
|
isInteractiveApprovalTool,
|
|
requiresRuntimeUserInput,
|
|
} from "../../tools/interactivePolicy";
|
|
|
|
describe("interactive tool policy", () => {
|
|
test("marks interactive approval tools", () => {
|
|
expect(isInteractiveApprovalTool("AskUserQuestion")).toBe(true);
|
|
expect(isInteractiveApprovalTool("EnterPlanMode")).toBe(true);
|
|
expect(isInteractiveApprovalTool("ExitPlanMode")).toBe(true);
|
|
expect(isInteractiveApprovalTool("TodoWrite")).toBe(false);
|
|
});
|
|
|
|
test("marks runtime user input tools", () => {
|
|
expect(requiresRuntimeUserInput("AskUserQuestion")).toBe(true);
|
|
expect(requiresRuntimeUserInput("ExitPlanMode")).toBe(true);
|
|
expect(requiresRuntimeUserInput("EnterPlanMode")).toBe(false);
|
|
});
|
|
|
|
test("marks headless auto-allow tools", () => {
|
|
expect(isHeadlessAutoAllowTool("EnterPlanMode")).toBe(true);
|
|
expect(isHeadlessAutoAllowTool("AskUserQuestion")).toBe(false);
|
|
expect(isHeadlessAutoAllowTool("ExitPlanMode")).toBe(false);
|
|
});
|
|
});
|