import assert from "node:assert/strict"; import test from "node:test"; import { evaluatePermissionPolicyForTesting } from "@/lib/execution/permission-policy"; test("approval_required 群聊在已有待确认推荐时拒绝继续直接执行", () => { const result = evaluatePermissionPolicyForTesting({ project: { id: "group-1", isGroup: true, collaborationMode: "approval_required", approvalState: "pending_user", }, hasPendingDispatchPlan: true, }); assert.equal(result.allowed, false); assert.equal(result.requiresApproval, true); assert.match(result.reason ?? "", /等待确认/); assert.deepEqual(result.toolPolicy.allowedTools, ["group_dispatch_plan"]); assert.deepEqual(result.toolPolicy.deniedTools, ["dispatch_execution"]); assert.equal(result.collaborationPolicy.canDispatchDirectly, false); });