25 lines
929 B
JavaScript
25 lines
929 B
JavaScript
/**
|
|
* 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";
|
|
}
|