Ajout !agentUPDATE/UPGRADE : mises à jour agents depuis git

- skills/agent_update.py : check_update (git fetch + log) et do_upgrade (git pull + systemctl restart)
- agent1.py : commandes !agentUPDATE <nom>, !agentsUPDATE, !agentUPGRADE <nom>, !agentsUPGRADE
  - _handle_agent_command retourne (handled, reply) pour gérer le self-upgrade agent1
  - !agentUPGRADE agent1 : envoie la réponse XMPP avant systemctl restart
  - !agentsUPGRADE : met à jour tous les agents puis agent1 en dernier
- agents_registry.json : ajout install_path, service_name, git_branch + entrée agent1
- README.md : documentation des nouvelles commandes
- TODO.md : tâches marquées comme terminées

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 15:55:31 +00:00
parent 1c951f46f1
commit 3575b391b6
5 changed files with 262 additions and 24 deletions
+5 -6
View File
@@ -116,12 +116,11 @@ Ajouter dans `agents_registry.json` :
### Points d'attention
- [ ] Exécuter `git` et `systemctl` via subprocess (nécessite que agent1 tourne en root ou avec les droits sudo systemctl)
- [ ] Timeout sur le restart (attendre max 30s que le service remonte)
- [ ] Ne pas upgrader agent1 lui-même sans précaution (le processus se couperait)
- [ ] Pour `!agentUPGRADE agent1` : git pull puis `systemctl restart agent` (agent1 se redémarre proprement via systemd)
- [ ] Gérer le cas où `install_path` n'existe pas dans le registre (agent déployé sans cette info)
- [ ] Proposer `!agentUPGRADE` après `!agentUPDATE` si une mise à jour est disponible
- [x] Exécuter `git` et `systemctl` via subprocess
- [x] Timeout sur les commandes git/systemctl
- [x] `!agentUPGRADE agent1` : git pull + réponse XMPP envoyée avant `systemctl restart agent`
- [x] Gérer le cas où `install_path` n'est pas dans le registre
- [x] `!agentUPDATE` suggère `!agentUPGRADE` si commits disponibles
---