|
|
@@ -77,6 +77,8 @@ describe("ConfigAgentPlugin.Plugin", () => {
|
|
|
const buildAgent = yield* agents.get(build)
|
|
|
if (!buildAgent) throw new Error("expected configured build agent")
|
|
|
expect(buildAgent.permissions).toEqual([
|
|
|
+ { action: "*", resource: "*", effect: "allow" },
|
|
|
+ { action: "external_directory", resource: "*", effect: "ask" },
|
|
|
{ action: "bash", resource: "*", effect: "allow" },
|
|
|
{ action: "bash", resource: "*", effect: "ask" },
|
|
|
{ action: "read", resource: "*", effect: "allow" },
|
|
|
@@ -94,6 +96,8 @@ describe("ConfigAgentPlugin.Plugin", () => {
|
|
|
model: { providerID: "openrouter", id: "openai/gpt-5", variant: "high" },
|
|
|
})
|
|
|
expect(reviewer.permissions).toEqual([
|
|
|
+ { action: "*", resource: "*", effect: "allow" },
|
|
|
+ { action: "external_directory", resource: "*", effect: "ask" },
|
|
|
{ action: "bash", resource: "*", effect: "ask" },
|
|
|
{ action: "read", resource: "*", effect: "allow" },
|
|
|
{ action: "edit", resource: "*", effect: "deny" },
|
|
|
@@ -101,6 +105,8 @@ describe("ConfigAgentPlugin.Plugin", () => {
|
|
|
])
|
|
|
expect(PermissionV2.evaluate("read", "README.md", reviewer.permissions).effect).toBe("deny")
|
|
|
expect((yield* agents.get(AgentV2.ID.make("late")))?.permissions).toEqual([
|
|
|
+ { action: "*", resource: "*", effect: "allow" },
|
|
|
+ { action: "external_directory", resource: "*", effect: "ask" },
|
|
|
{ action: "bash", resource: "*", effect: "ask" },
|
|
|
{ action: "read", resource: "*", effect: "allow" },
|
|
|
{ action: "edit", resource: "*", effect: "allow" },
|
|
|
@@ -258,13 +264,21 @@ Use native v2 fields.`,
|
|
|
system: "Review carefully.",
|
|
|
description: "Markdown description",
|
|
|
request: { body: { temperature: 0.5 } },
|
|
|
- permissions: [{ action: "edit", resource: "*", effect: "deny" }],
|
|
|
+ permissions: [
|
|
|
+ { action: "*", resource: "*", effect: "allow" },
|
|
|
+ { action: "external_directory", resource: "*", effect: "ask" },
|
|
|
+ { action: "edit", resource: "*", effect: "deny" },
|
|
|
+ ],
|
|
|
})
|
|
|
expect(yield* agents.get(AgentV2.ID.make("team/helper"))).toMatchObject({ system: "Help the team." })
|
|
|
expect(yield* agents.get(AgentV2.ID.make("native"))).toMatchObject({
|
|
|
system: "Use native v2 fields.",
|
|
|
request: { headers: { "x-agent": "native" }, body: { effort: "high" } },
|
|
|
- permissions: [{ action: "edit", resource: "*", effect: "deny" }],
|
|
|
+ permissions: [
|
|
|
+ { action: "*", resource: "*", effect: "allow" },
|
|
|
+ { action: "external_directory", resource: "*", effect: "ask" },
|
|
|
+ { action: "edit", resource: "*", effect: "deny" },
|
|
|
+ ],
|
|
|
})
|
|
|
expect(yield* agents.get(AgentV2.ID.make("disabled"))).toBeUndefined()
|
|
|
expect(yield* agents.get(AgentV2.ID.make("plan"))).toMatchObject({ system: "Make a plan.", mode: "primary" })
|