forked from EduCraft/curriculum-project-hub
fix: enforce role tool whitelist
This commit is contained in:
@@ -343,6 +343,22 @@ describe("trigger full lifecycle (integration)", () => {
|
||||
expect(await prisma.agentRun.findMany()).toHaveLength(0);
|
||||
});
|
||||
|
||||
it("passes the selected role tool whitelist into the runner", async () => {
|
||||
await seedProject("proj-role-tools", "chat-role-tools");
|
||||
const trigger = makeTriggerHandler({ prisma, settings, logger: silentLogger, runAgent, messageBatcherOptions: { maxMessages: 1 } });
|
||||
|
||||
await trigger(makeEvent("chat-role-tools", "@_user_1 /review 检查讲义"), rt);
|
||||
|
||||
await vi.waitFor(async () => {
|
||||
const runs = await prisma.agentRun.findMany();
|
||||
expect(runs).toHaveLength(1);
|
||||
expect(runs[0]?.status).toBe("COMPLETED");
|
||||
});
|
||||
|
||||
expect(runAgentCalls).toHaveLength(1);
|
||||
expect(runAgentCalls[0]?.tools).toEqual(["read_file"]);
|
||||
});
|
||||
|
||||
it("control commands support a help subcommand", async () => {
|
||||
await seedProject("proj-new-help", "chat-new-help");
|
||||
const trigger = makeTriggerHandler({ prisma, settings, logger: silentLogger, runAgent, messageBatcherOptions: { maxMessages: 1 } });
|
||||
|
||||
Reference in New Issue
Block a user