20 lines
1.1 KiB
TypeScript
20 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { decideToolPolicy } from "../src/tools/tool-policy.js";
|
|
|
|
describe("editor content approval", () => {
|
|
it("requires approval before exposing licensed CMS content to the model", () => {
|
|
expect(decideToolPolicy("cms_connection_status")).toBe("allow");
|
|
expect(decideToolPolicy("editor_job_status")).toBe("allow");
|
|
expect(decideToolPolicy("submit_drama_analysis")).toBe("allow");
|
|
expect(decideToolPolicy("propose_drama_selection")).toBe("allow");
|
|
expect(decideToolPolicy("submit_editor_plan")).toBe("allow");
|
|
expect(decideToolPolicy("render_editor_preview")).toBe("ask");
|
|
expect(decideToolPolicy("approve_editor_review")).toBe("deny");
|
|
expect(decideToolPolicy("prepare_drama_sources")).toBe("ask");
|
|
expect(decideToolPolicy("read_drama_frames")).toBe("ask");
|
|
for (const name of ["cms_list_dramas", "cms_drama_inventory", "cms_read_subtitle"]) expect(decideToolPolicy(name)).toBe("ask");
|
|
expect(decideToolPolicy("cms_login")).toBe("deny");
|
|
expect(decideToolPolicy("render_exact")).toBe("deny");
|
|
});
|
|
});
|