diff --git a/docs/superpowers/plans/2026-10-17-workers-00-uebersicht.md b/docs/superpowers/plans/2026-10-17-workers-00-uebersicht.md index 03cacfd..c5a1ff3 100644 --- a/docs/superpowers/plans/2026-10-17-workers-00-uebersicht.md +++ b/docs/superpowers/plans/2026-10-17-workers-00-uebersicht.md @@ -200,6 +200,8 @@ Pfade relativ zum Dienst-Repo. Alle Funktionen `async`, sofern sie I/O machen. ` ### 6.1 Prozess und Tick (P1) `src/main.js`: Konfiguration laden → `db` → API-Server (8092) → (P4) Vorschau-Server (8093) → Tick alle 60 s. Der Tick fragt `isDue` für: `nachtplan` (22:00), `nacht2` (01:00), `bericht` (06:30), `kuerzen` (03:00, P6), `pultAlt` (07:00, P3), `posteingang` (alle 2 min, P4), `alarme` (alle 10 min, P3), `senden` (alle 5 min im Sendefenster, P4), `batches` (alle 5 min). Tagesmarker in `workersDaily.countersJson.__runs` (neustartfest). Bei `paused` arbeitet nur `pause`-sichere Arbeit (Posteingang lesen + Sperrliste), nichts wird gesendet oder gebaut. +IMAP-Lesestand (P3/P4): Datei `/data/imap-state.json` auf dem Volume, Form `{ "": { "uidValidity": , "lastUid": } }` mit den Schlüsseln `antworten` (Absender-Postfach, Nora) und `alarme` (Alarm-Postfach, Kim/Pia). Schreiben atomar (temp + rename). Ändert sich `uidValidity`, wird ab der aktuellen höchsten UID neu begonnen (keine Altmails nachträglich verarbeiten). + ### 6.2 HTTP-API des Dienstes (P1 Gerüst, spätere Pläne ergänzen) Basis intern: `http://webklar-workers:8092`. Von WOMS über nginx `https://ticket.webklar.com/api/workers/…` (neuer `location`-Block nach Muster `/api/serverpuls/`). Auth: Header `X-Appwrite-JWT` → Appwrite `GET /account` (60 s Cache) → Label `mitarbeiter` oder `admin` nötig; `admin` für Einstellungen. Antworten JSON, Fehler `{ error: '' }`.