Files
unibots/dev-scripts/cron/list.sh
T
agent fc644ecd6e feat: import agents_and_robots platform as unibots (Matrix-out, unibus transport)
Reemplaza el scaffold del echobot por la plataforma completa de bots traida
desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out:
los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms +
E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client).

- go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths
  relativos reajustados a la nueva ubicacion dentro de fn_registry).
- app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales.
- modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports).

agents_and_robots queda archivado como museo de la era Matrix.
2026-06-07 11:50:13 +02:00

48 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# list.sh — Lista todas las automatizaciones del catálogo crons/ con nombre, tipo y descripción.
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
CRONS_DIR="$REPO_ROOT/crons"
if [[ ! -d "$CRONS_DIR" ]]; then
echo "No se encontró el directorio crons/." >&2
exit 1
fi
# Collect entries: name, kind, default_cron, description
entries=()
while IFS= read -r -d '' schedule_file; do
name=""
description=""
kind=""
cron_expr=""
while IFS= read -r line; do
case "$line" in
name:*) name="${line#name:}"; name="${name// /}" ;;
description:*) description="${line#description:}"; description="${description# }"; description="${description#\"}"; description="${description%\"}" ;;
" kind:"*) kind="${line#*kind:}"; kind="${kind// /}" ;;
default_cron:*) cron_expr="${line#default_cron:}"; cron_expr="${cron_expr# }"; cron_expr="${cron_expr//\"/}" ;;
esac
done < "$schedule_file"
if [[ -n "$name" ]]; then
entries+=("$name|$kind|$cron_expr|$description")
fi
done < <(find "$CRONS_DIR" -name "schedule.yaml" -print0 | sort -z)
if [[ ${#entries[@]} -eq 0 ]]; then
echo "No hay automatizaciones en crons/."
exit 0
fi
# Print header
printf "%-22s %-15s %-15s %s\n" "NOMBRE" "TIPO" "CRON" "DESCRIPCIÓN"
printf "%-22s %-15s %-15s %s\n" "------" "----" "----" "-----------"
for entry in "${entries[@]}"; do
IFS='|' read -r name kind cron_expr description <<< "$entry"
printf "%-22s %-15s %-15s %s\n" "$name" "$kind" "$cron_expr" "$description"
done