import { perRole } from "tealtiger/policy";
const policy = perRole({
researcher: {
allowed_tools: ["web_search", "arxiv_search", "read_file", "google_scholar"],
max_cost_per_session: 2.0,
blocked_pii: ["ssn", "credit_card"],
guardrails: { pre: { injection: true }, post: { pii: true } }
},
writer: {
allowed_tools: ["write_file", "edit_file", "create_file"],
max_cost_per_session: 0.5,
blocked_pii: ["ssn", "credit_card", "phone"],
guardrails: { pre: { pii: true }, post: { pii: true } }
},
reviewer: {
allowed_tools: ["read_file", "add_comment", "approve"],
max_cost_per_session: 0.2,
blocked_pii: ["ssn", "credit_card", "email", "phone"],
guardrails: { pre: { pii: true } }
},
coder: {
allowed_tools: ["write_file", "execute_code", "npm_install", "read_file"],
max_cost_per_session: 5.0,
blocked_pii: ["ssn", "credit_card"],
guardrails: { pre: { injection: true, secrets: true }, post: { secrets: true } }
},
operator: {
allowed_tools: ["*"], // All tools allowed
max_cost_per_session: 10.0,
blocked_pii: ["ssn"],
guardrails: { pre: { secrets: true }, post: { secrets: true } }
}
}, {
default_deny: true // Block agents with no matching role
});