diff --git a/packages/shared/src/adapter-types.test.ts b/packages/shared/src/adapter-types.test.ts index 29fb6eec..4be83236 100644 --- a/packages/shared/src/adapter-types.test.ts +++ b/packages/shared/src/adapter-types.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { acceptInviteSchema, createAgentSchema, updateAgentSchema } from "./index.js"; +import { AGENT_ROLE_LABELS, acceptInviteSchema, createAgentSchema, updateAgentSchema } from "./index.js"; describe("dynamic adapter type validation schemas", () => { it("accepts external adapter types in create/update agent schemas", () => { @@ -35,4 +35,16 @@ describe("dynamic adapter type validation schemas", () => { }).adapterType, ).toBe("external_adapter"); }); + + it("accepts the security agent role and exposes its UI label", () => { + expect( + createAgentSchema.parse({ + name: "Security Engineer", + role: "security", + adapterType: "codex_local", + }).role, + ).toBe("security"); + + expect(AGENT_ROLE_LABELS.security).toBe("Security"); + }); }); diff --git a/packages/shared/src/constants.ts b/packages/shared/src/constants.ts index df99bb33..cbcd7878 100644 --- a/packages/shared/src/constants.ts +++ b/packages/shared/src/constants.ts @@ -42,6 +42,7 @@ export const AGENT_ROLES = [ "cto", "cmo", "cfo", + "security", "engineer", "designer", "pm", @@ -57,6 +58,7 @@ export const AGENT_ROLE_LABELS: Record = { cto: "CTO", cmo: "CMO", cfo: "CFO", + security: "Security", engineer: "Engineer", designer: "Designer", pm: "PM",