# Spanish tool descriptions
#
# Each key under [tools] matches the tool's name() return value.
# Values are the human-readable descriptions shown in system prompts.

[tools]
backup = "Crear, listar, verificar y restaurar copias de seguridad del workspace"
browser = "Automatizacion web/navegador con backends intercambiables (agent-browser, rust-native, computer_use). Soporta acciones DOM junto con acciones opcionales a nivel de OS (mouse_move, mouse_click, mouse_drag, key_type, key_press, screen_capture) a traves de un sidecar computer-use. Usa 'snapshot' para mapear elementos interactivos a refs (@e1, @e2). Aplica browser.allowed_domains para las acciones open."
browser_delegate = "Delegar tareas basadas en navegador a un CLI con capacidad de navegador para interactuar con aplicaciones web como Teams, Outlook, Jira, Confluence"
browser_open = "Abrir una URL HTTPS aprobada en el navegador del sistema. Restricciones de seguridad: solo dominios en lista de permitidos, sin hosts locales/privados, sin scraping."
cloud_ops = "Herramienta de asesoria para transformacion en la nube. Analiza planes IaC, evalua rutas de migracion, revisa costos y verifica la arquitectura contra los pilares del Well-Architected Framework. Solo lectura: no crea ni modifica recursos en la nube."
cloud_patterns = "Biblioteca de patrones en la nube. Dada una descripcion de carga de trabajo, sugiere patrones arquitectonicos cloud-native aplicables (contenedorizacion, serverless, modernizacion de bases de datos, etc.)."
composio = "Ejecutar acciones en mas de 1000 aplicaciones a traves de Composio (Gmail, Notion, GitHub, Slack, etc.). Usa action='list' para ver las acciones disponibles (incluye nombres de parametros). action='execute' con action_name/tool_slug y params para ejecutar una accion. Si no estas seguro de los parametros exactos, pasa 'text' con una descripcion en lenguaje natural (Composio resolvera los parametros correctos via NLP). action='list_accounts' o action='connected_accounts' para listar cuentas conectadas por OAuth. action='connect' con app/auth_config_id para obtener la URL de OAuth. connected_account_id se resuelve automaticamente cuando se omite."
content_search = "Buscar contenido de archivos por patron regex dentro del workspace. Soporta ripgrep (rg) con fallback a grep. Modos de salida: 'content' (lineas coincidentes con contexto), 'files_with_matches' (solo rutas de archivos), 'count' (conteo de coincidencias por archivo). Ejemplo: pattern='fn main', include='*.rs', output_mode='content'."
cron_add = """Crear un cron job programado (shell o agent) con programacion cron/at/every. Usa job_type='agent' con un prompt para ejecutar el agente AI segun el horario. Para enviar la salida a un canal (Discord, Telegram, Slack, Mattermost, Matrix), configura delivery={"mode":"announce","channel":"discord","to":"<channel_id_or_chat_id>"}. Esta es la herramienta recomendada para enviar mensajes programados/diferidos a usuarios a traves de canales."""
cron_list = "Listar todos los cron jobs programados"
cron_remove = "Eliminar un cron job por ID"
cron_run = "Forzar la ejecucion inmediata de un cron job y registrar el historial de ejecucion"
cron_runs = "Listar el historial reciente de ejecucion de un cron job"
cron_update = "Modificar un cron job existente (schedule, command, prompt, enabled, delivery, model, etc.)"
data_management = "Retencion de datos del workspace, purgado y estadisticas de almacenamiento"
delegate = "Delegar una subtarea a un agente especializado. Usar cuando: una tarea se beneficia de un modelo diferente (ej. resumen rapido, razonamiento profundo, generacion de codigo). El sub-agente ejecuta un unico prompt por defecto; con agentic=true puede iterar con un bucle de llamadas a herramientas filtrado."
file_edit = "Editar un archivo reemplazando una coincidencia exacta de cadena con nuevo contenido"
file_read = "Leer el contenido de un archivo con numeros de linea. Soporta lectura parcial mediante offset y limit. Extrae texto de PDF; otros archivos binarios se leen con conversion lossy UTF-8."
file_write = "Escribir contenido en un archivo del workspace"
git_operations = "Realizar operaciones Git estructuradas (status, diff, log, branch, commit, add, checkout, stash). Proporciona salida JSON parseada e integra con la politica de seguridad para controles de autonomia."
glob_search = "Buscar archivos que coincidan con un patron glob dentro del workspace. Devuelve una lista ordenada de rutas de archivos coincidentes relativas a la raiz del workspace. Ejemplos: '**/*.rs' (todos los archivos Rust), 'src/**/mod.rs' (todos los mod.rs en src)."
google_workspace = "Interactuar con servicios de Google Workspace (Drive, Gmail, Calendar, Sheets, Docs, etc.) a traves del CLI gws. Requiere que gws este instalado y autenticado."
hardware_board_info = "Devolver informacion completa de la placa (chip, arquitectura, mapa de memoria) del hardware conectado. Usar cuando: el usuario pregunta por 'informacion de placa', 'hardware conectado', 'informacion de chip', o 'mapa de memoria'."
hardware_memory_map = "Devolver el mapa de memoria (rangos de direcciones de flash y RAM) del hardware conectado. Usar cuando: el usuario pregunta por 'direcciones de memoria superior e inferior', 'mapa de memoria', 'espacio de direcciones', o 'direcciones legibles'. Devuelve rangos de flash/RAM de las hojas de datos."
hardware_memory_read = "Leer valores reales de memoria/registro del Nucleo via USB. Usar cuando: el usuario pide 'leer valores de registro', 'leer memoria en direccion', 'volcado de memoria', 'memoria baja 0-126', o 'dar direccion y valor'. Devuelve volcado hexadecimal. Requiere Nucleo conectado via USB y la caracteristica probe. Parametros: address (hex, ej. 0x20000000 para inicio de RAM), length (bytes, por defecto 128)."
http_request = "Realizar solicitudes HTTP a APIs externas. Soporta metodos GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS. Restricciones de seguridad: solo dominios en lista de permitidos, sin hosts locales/privados, timeout y limites de tamano de respuesta configurables."
image_info = "Leer metadatos de archivos de imagen (formato, dimensiones, tamano) y opcionalmente devolver datos codificados en base64."
jira = "Interactuar con Jira: obtener tickets con nivel de detalle configurable, buscar issues con JQL, y agregar comentarios con soporte de menciones y formato."
knowledge = "Gestionar un grafo de conocimiento de decisiones arquitectonicas, patrones de solucion, lecciones aprendidas y expertos. Acciones: capture, search, relate, suggest, expert_find, lessons_extract, graph_stats."
linkedin = "Gestionar LinkedIn: crear publicaciones, listar publicaciones, comentar, reaccionar, eliminar publicaciones, ver engagement, obtener informacion de perfil y leer la estrategia de contenido configurada. Requiere credenciales LINKEDIN_* en el archivo .env."
discord_search = "Buscar en el historial de mensajes de Discord almacenado en discord.db. Usar para encontrar mensajes pasados, resumir actividad de canales o buscar lo que dijeron los usuarios. Soporta busqueda por palabras clave y filtros opcionales: channel_id, since, until."
microsoft365 = "Integracion con Microsoft 365: gestionar correo de Outlook, mensajes de Teams, eventos de Calendar, archivos de OneDrive y busqueda de SharePoint a traves de Microsoft Graph API"
model_routing_config = "Gestionar configuracion de modelo predeterminado, rutas de proveedor/modelo basadas en escenarios, reglas de clasificacion y perfiles de sub-agente delegate"
notion = "Interactuar con Notion: consultar bases de datos, leer/crear/actualizar paginas y buscar en el workspace."
pdf_read = "Extraer texto plano de un archivo PDF en el workspace. Devuelve todo el texto legible. PDFs de solo imagenes o encriptados devuelven un resultado vacio. Requiere la caracteristica de compilacion 'rag-pdf'."
project_intel = "Inteligencia de entrega de proyectos: generar informes de estado, detectar riesgos, redactar actualizaciones para clientes, resumir sprints y estimar esfuerzo. Herramienta de analisis de solo lectura."
proxy_config = "Gestionar la configuracion del proxy de Construct (scope: environment | construct | services), incluyendo la aplicacion en runtime y process env"
pushover = "Enviar una notificacion Pushover a tu dispositivo. Requiere PUSHOVER_TOKEN y PUSHOVER_USER_KEY en el archivo .env."
schedule = """Gestionar tareas programadas exclusivamente de shell. Acciones: create/add/once/list/get/cancel/remove/pause/resume. ADVERTENCIA: Esta herramienta crea jobs de shell cuya salida solo se registra en log, NO se entrega a ningun canal. Para enviar un mensaje programado a Discord/Telegram/Slack/Matrix, usa la herramienta cron_add con job_type='agent' y una configuracion de delivery como {"mode":"announce","channel":"discord","to":"<channel_id>"}."""
screenshot = "Capturar una captura de pantalla de la pantalla actual. Devuelve la ruta del archivo y datos PNG codificados en base64."
security_ops = "Herramienta de operaciones de seguridad para servicios de ciberseguridad gestionados. Acciones: triage_alert (clasificar/priorizar alertas), run_playbook (ejecutar pasos de respuesta a incidentes), parse_vulnerability (analizar resultados de escaneo), generate_report (crear informes de postura de seguridad), list_playbooks (listar playbooks disponibles), alert_stats (resumir metricas de alertas)."
shell = "Ejecutar un comando shell en el directorio del workspace"
sop_advance = "Reportar el resultado del paso actual del SOP y avanzar al siguiente paso. Proporciona el run_id, si el paso tuvo exito o fallo, y un breve resumen de la salida."
sop_approve = "Aprobar un paso pendiente del SOP que esta esperando aprobacion del operador. Devuelve la instruccion del paso a ejecutar. Usa sop_status para ver que ejecuciones estan esperando."
sop_execute = "Disparar manualmente un Procedimiento Operativo Estandar (SOP) por nombre. Devuelve el ID de ejecucion y la instruccion del primer paso. Usa sop_list para ver los SOPs disponibles."
sop_list = "Listar todos los Procedimientos Operativos Estandar (SOPs) cargados con sus disparadores, prioridad, numero de pasos y cantidad de ejecuciones activas. Opcionalmente filtrar por nombre o prioridad."
sop_status = "Consultar el estado de ejecucion del SOP. Proporciona run_id para una ejecucion especifica, o sop_name para listar ejecuciones de ese SOP. Sin argumentos, muestra todas las ejecuciones activas."
swarm = "Orquestar un enjambre de agentes para manejar colaborativamente una tarea. Soporta estrategias secuencial (pipeline), paralela (fan-out/fan-in) y router (seleccion por LLM)."
tool_search = """Obtener las definiciones completas de schema para herramientas MCP diferidas para poder invocarlas. Usa "select:name1,name2" para coincidencia exacta o palabras clave para buscar."""
web_fetch = "Obtener una pagina web y devolver su contenido como texto plano limpio. Las paginas HTML se convierten automaticamente en texto legible. Las respuestas JSON y de texto plano se devuelven tal cual. Solo solicitudes GET; sigue redirecciones. Seguridad: solo dominios en lista de permitidos, sin hosts locales/privados."
web_search_tool = "Buscar informacion en la web. Devuelve resultados de busqueda relevantes con titulos, URLs y descripciones. Usar para encontrar informacion actual, noticias o temas de investigacion."
workspace = "Gestionar workspaces multi-cliente. Subcomandos: list, switch, create, info, export. Cada workspace proporciona memoria, auditoria, secretos y restricciones de herramientas aislados."
weather = "Obtener las condiciones meteorologicas actuales y el pronostico para cualquier ubicacion en el mundo. Soporta nombres de ciudades (en cualquier idioma o escritura), codigos de aeropuerto IATA (ej. 'LAX'), coordenadas GPS (ej. '51.5,-0.1'), codigos postales y geolocalizacion basada en dominio. Devuelve temperatura, sensacion termica, humedad, velocidad/direccion del viento, precipitacion, visibilidad, presion, indice UV y cobertura de nubes. Pronostico opcional de 0 a 3 dias con desglose por horas. Las unidades son metricas por defecto (°C, km/h, mm) pero pueden configurarse a imperiales (°F, mph, inches) por solicitud. No requiere API key."
