#!/usr/bin/env bash # logs.sh — sigue los logs de uno o todos los agentes # # Uso: # ./dev-scripts/logs.sh # tail -f de todos los logs activos # ./dev-scripts/logs.sh assistant-bot # solo ese agente # ./dev-scripts/logs.sh assistant-bot 100 # últimas 100 líneas source "$(dirname "$0")/_common.sh" TARGET="${1:-}" LINES="${2:-50}" log_files=() while IFS='|' read -r id _version _enabled _desc _cfg; do [[ -n "$TARGET" && "$id" != "$TARGET" ]] && continue local_log="$(log_file "$id")" [[ -f "$local_log" ]] && log_files+=("$local_log") done < <(list_agents_raw) if [[ "${#log_files[@]}" -eq 0 ]]; then [[ -n "$TARGET" ]] && fail "No hay logs para '$TARGET' (¿ha sido iniciado alguna vez?)" fail "No hay logs todavía — inicia algún agente primero" fi info "Siguiendo logs: ${log_files[*]}" dim " Ctrl+C para salir" echo "" tail -n "$LINES" -f "${log_files[@]}"