# Plugin scripts — agent-manager (issue #75) # # Les plugins sont des points d'extension par script, exécutés sur les # événements du cycle de vie des agents (complément des hooks de l'axe 6) : # on_install · on_start · on_stop · on_update # # Contrat : # - entrée : l'événement JSON sur stdin # {"event":"on_start","kind":"start","ts":"…","agent":"claude-code", # "pid":1234,"cwd":"…","project":"…","args":[…],"env_keys":[…],…} # - sortie : un objet JSON sur stdout # {"ok": true, "message": "…", "data": {…}} # ou {"ok": false, "error": "…"} — signalé en warning, jamais fatal # - une sortie invalide (pas de JSON) est signalée en warning sans casser am # - un plugin qui dépasse son timeout est tué (défaut 10 s) # - les plugins n'ont pas accès aux valeurs des secrets (env_keys seulement) # - AM_PLUGINS_RUNNING=1 est exporté pendant un plugin : un am imbriqué # saute les plugins (anti-récursion) # # Installation : # cp notify.py notify.yaml ~/.local/state/agent-manager/plugins/ (Linux) # cp notify.py notify.yaml %LOCALAPPDATA%\agent-manager\plugins\ (Windows) # # Vérification : # am plugins # liste les plugins découverts # am plugins --test notify # exécute le contrat sur un événement de test # # Configuration (config.yaml) : # plugins: # timeout_secs: 10 # temps max d'un plugin (défaut 10 s) # enabled: [notify] # vide = tous les plugins du répertoire