Files
rpa_vision_v3/scripts/cancel-replays.sh
Dom 5ea4960e65
Some checks failed
tests / Lint (ruff + black) (push) Successful in 1m50s
tests / Tests unitaires (sans GPU) (push) Failing after 1m50s
tests / Tests sécurité (critique) (push) Has been skipped
backup: snapshot post-démo GHT 2026-05-19
Backup état complet après enregistrement vidéo démo de bout en bout.
À utiliser comme point de référence pour la consolidation post-démo.

Changements majeurs de la session 18-19 mai :
- AIVA-URGENCE : page autonome avec preset URL + auto-focus chain
- Workflow Demo_urgence_3_db : merge linux_db + steps AIVA + pause humaine NoMachine
- Bypass LLM (static_result / static_text) dans replay_engine
  pour démos déterministes sans appel Ollama
- Fix api_stream:3013 — replay_paused au premier polling /next
- dag_execute : lift duration_ms vers top-level pour wait runtime
- NPM bypass auth /aiva-urgence/ via location ^~ (proxy_host/10.conf hors git)
- scripts/cancel-replays.sh — workaround Stop VWB qui ne purge pas la queue

Anchors visuels (468) forcés dans le commit pour garantir restorabilité.
DB workflows actuelle + ~12 .bak DB de la journée incluses.

Sujets identifiés pour consolidation post-démo (TODO) :
1. Bug VWB recapture anchor ne régénère pas le PNG
2. Léa client accumule état mémoire (restart périodique requis)
3. Stop VWB ne purge pas la queue serveur (lien manquant vers /replay/cancel)
4. Bug coord client mss tronqué 2560x60 → mapping Y cassé
5. delay_before/delay_after ignorés au runtime (fix partiel duration_ms)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 14:55:06 +02:00

54 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Annule TOUS les replays actifs/en-pause côté streaming server.
# À utiliser AVANT de relancer un replay quand le bouton Stop VWB
# ne purge pas la queue (bug en cours d'investigation).
#
# Usage : ./scripts/cancel-replays.sh
set -euo pipefail
ENV_FILE="/home/dom/ai/rpa_vision_v3/.env.local"
STREAM_URL="http://localhost:5005"
if [[ ! -f "$ENV_FILE" ]]; then
echo "❌ .env.local introuvable" >&2
exit 1
fi
TOKEN=$(grep RPA_API_TOKEN "$ENV_FILE" | cut -d= -f2 | tr -d "'\"")
if [[ -z "$TOKEN" ]]; then
echo "❌ RPA_API_TOKEN vide" >&2
exit 1
fi
# Liste les replays actifs et les annule un par un.
mapfile -t ACTIVE < <(
curl -s -H "Authorization: Bearer $TOKEN" \
"$STREAM_URL/api/v1/traces/stream/replay/list" \
| python3 -c "
import sys, json
try:
d = json.load(sys.stdin)
for x in d.get('replays', []):
if x.get('status') in ('running', 'paused_need_help', 'busy'):
print(x['replay_id'])
except Exception as e:
sys.stderr.write(f'parse error: {e}\n')
"
)
if [[ ${#ACTIVE[@]} -eq 0 ]]; then
echo "✓ Aucun replay actif"
exit 0
fi
echo "Annulation de ${#ACTIVE[@]} replay(s) actif(s) :"
for r in "${ACTIVE[@]}"; do
echo -n " $r ... "
curl -s -X POST -H "Authorization: Bearer $TOKEN" \
"$STREAM_URL/api/v1/traces/stream/replay/$r/cancel" > /dev/null
echo "✓"
done
echo "✓ Tous les replays annulés, queues purgées."