feat: rol auditor (solo lectura total) en el MCP + agente soporte
- roleCheck.js: isAuditor()/canEditContent(); canEditCode() tambien excluye auditor. Superficie editor/developer intacta (verificado contra el codigo pre-cambio en el test). - records/tables/media/languages: tools de escritura gateadas con canEditContent(), orden de registro original preservado. - agents/soporte: agente de evaluacion de incidencias en produccion, allowed_tools allowlist namespaceada (23 acai_code + 18 playwright, cero fetch), system.md con formato de informe obligatorio y trato del texto del cliente como dato no confiable. - test/auditor-role.test.js: 22 tests de superficie exacta por rol.
This commit is contained in:
@@ -1,9 +1,14 @@
|
||||
import { registerListWebLanguagesTool } from './listWebLanguages.js';
|
||||
import { registerGetRecordTranslationsTool } from './getRecordTranslations.js';
|
||||
import { registerSetRecordTranslationsTool } from './setRecordTranslations.js';
|
||||
import { canEditContent } from '../helpers/roleCheck.js';
|
||||
|
||||
export function registerLanguageTools(server) {
|
||||
// Lectura de idiomas/traducciones: siempre (incluido el rol auditor).
|
||||
registerListWebLanguagesTool(server);
|
||||
registerGetRecordTranslationsTool(server);
|
||||
registerSetRecordTranslationsTool(server);
|
||||
// Escritura de traducciones: developer y editor si, auditor no.
|
||||
if (canEditContent()) {
|
||||
registerSetRecordTranslationsTool(server);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user