import { registerUploadRecordImageTool } from './upload.js'; import { registerUploadImageToAssetsTool } from './uploadImageToAssets.js'; import { registerGenerateImageTool } from './generateImage.js'; import { registerAnalyzeImageTool } from './analyze_image.js'; import { registerSetUploadInfoTool } from './setUploadInfo.js'; import { canEditContent } from '../helpers/roleCheck.js'; /** * Tools de media. * * Solo `analyze_image` es de lectura, asi que es la unica que ve el rol * "auditor". El resto (subidas, generacion y metadatos de uploads) va tras * canEditContent(). El orden de registro se mantiene igual que antes del gate * para no alterar el listado de tools de los roles existentes. */ export function registerMediaTools(server) { const canWriteContent = canEditContent(); if (canWriteContent) { registerUploadRecordImageTool(server); registerUploadImageToAssetsTool(server); registerGenerateImageTool(server); } registerAnalyzeImageTool(server); if (canWriteContent) { // Metadatos info1..info5 de uploads: son datos de contenido, no codigo, // asi que sigue sin gate de canEditCode() — pero si pasa por // canEditContent(), porque el auditor no escribe nada. registerSetUploadInfoTool(server); } }