/** * Helper central para determinar el rol efectivo del MCP y bloquear tools * peligrosas cuando el user es "editor". * * El rol se recibe principalmente via env var ACAI_ROLE_OVERRIDE inyectada * por el backend Python (agentic.py y cronjobs.py). Hay autoderivacion * defensiva en caso de que alguien lance el MCP sin el override: * - Si ACAI_MODE(_OVERRIDE) = "production" → rol editor por defecto. * - Si no → rol developer. */ export function getEffectiveRole() { if (process.env.ACAI_ROLE_OVERRIDE) return process.env.ACAI_ROLE_OVERRIDE; if (process.env.ACAI_MODE_OVERRIDE === "production") return "editor"; if (process.env.ACAI_MODE === "production") return "editor"; return "developer"; } /** * True si el rol efectivo puede editar archivos de codigo. * Los roles permitidos son todo lo que NO sea "editor". */ export function canEditCode() { return getEffectiveRole() !== "editor"; }