Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013SfRSvDd335NPYEbBrDFGE
21 lines
1.4 KiB
Bash
Executable File
21 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Llamar la API del sitio desde la Mac, por SSH, como «claude» (27-oct-2026). La usan el agente diario y el bot de
|
|
# standup (agentes/agente-diario.md). Pasa por 127.0.0.1:8081 en el servidor: no necesita la sesión de nadie.
|
|
# ./scripts/agente-api.sh GET '/api/incidencias?estado=abiertas'
|
|
# ./scripts/agente-api.sh POST /api/standup/preparar archivo.json
|
|
# ./scripts/agente-api.sh PATCH '/api/incidencia?id=INC-0003' cambio.json
|
|
set -euo pipefail
|
|
REMOTE="${REMOTE:-leo@git.helgen.online}"; PORT="${SSH_PORT:-22}"
|
|
M="${1:?método}"; P="${2:?ruta}"; F="${3:-}"
|
|
case "$M" in GET|POST|PATCH) ;; *) echo "Método no permitido: $M (GET, POST o PATCH; el agente no borra)" >&2; exit 2 ;; esac
|
|
case "$P" in /api/incidencia*|/api/standup*|/api/tareas*|/api/tarea\?*|/api/equipo*|/api/inventario|/api/inventario\?*|/api/actividad*|/api/hoy|/api/salud|/api/sitios*) ;;
|
|
*) echo "Ruta fuera de lo que el agente usa: $P" >&2; exit 2 ;; esac
|
|
if [ "$M" = "PATCH" ] && [[ "$P" == /api/tarea* ]]; then echo "El tablero se cambia con lotes (Leo los aplica), no por aquí." >&2; exit 2; fi
|
|
Q=$(printf '%q' "$P")
|
|
if [ -n "$F" ]; then
|
|
ssh -p "$PORT" "$REMOTE" "curl -s -X $M -H 'X-Remote-User: claude' -H 'Content-Type: application/json' --data-binary @- http://127.0.0.1:8081$Q" < "$F"
|
|
else
|
|
ssh -p "$PORT" "$REMOTE" "curl -s -X $M -H 'X-Remote-User: claude' http://127.0.0.1:8081$Q"
|
|
fi
|
|
echo
|