diff --git a/API.md b/API.md index 5835084..a86ef11 100644 --- a/API.md +++ b/API.md @@ -88,6 +88,23 @@ Auth: `X-Admin-Key`. Response: `{ "agents": [ ‹Agent-Objekte wie oben, ohne api_key› ] }` +Oeffentlich, unauthentifiziert (siehe [Grundlagen](#grundlagen)) - damit laesst sich +`last_seen_at` jedes Agenten jederzeit von aussen pruefen, z.B. auf der Produktionsmaschine: + +```bash +curl -s "$MONITOR_API_BASE/agents" | jq '.agents[] | {id, display_name, last_seen_at}' +``` + +Ein Agent gilt im Frontend nur noch als anwesend, solange `last_seen_at` hoechstens zehn +Minuten zurueckliegt (`isAgentPresent`, `html/js/office-scene.js`, Issue #17) - laeuft der +Timeout ab, bleibt sein Schreibtisch leer, obwohl er weiterhin registriert ist. Bei direktem +Zugriff auf die Produktionsmaschine laesst sich derselbe Wert auch direkt aus der +SQLite-Datei lesen (`MONITOR_DB_PATH`, Standard `api/data/monitor.sqlite`): + +```bash +sqlite3 "$MONITOR_DB_PATH" "SELECT id, display_name, last_seen_at FROM agents;" +``` + ### `POST /api/v1/agents/{id}/activity` — Eigenen Zustand melden Auth: `X-Api-Key` des betroffenen Agenten (ein Agent darf nur seinen eigenen Zustand