Sessions
Eine Session ist eine Arbeitseinheit beim Erstellen einer App. Der Agent bearbeitet Dateien, die Änderungen werden als Commits festgehalten und lassen sich bei Bedarf zurücknehmen.
Session anlegen
POST /api/session
Das Feld id in der Antwort ist die {sessionId} für alle weiteren Session-Aufrufe.
Lebenszeichen senden
POST /api/session/{sessionId}/ping
Regelmäßig senden, damit die Session nicht wegen Inaktivität aufgeräumt wird. Die Web-UI ruft dies durchgehend auf, solange der Arbeitsbereich geöffnet ist.
Dateien
| Methode | Pfad | Funktion |
|---|---|---|
GET | /api/session/{sessionId}/files | Dateiliste |
GET | /api/session/{sessionId}/file?path={path} | Inhalt einer einzelnen Datei |
GET | /api/session/{sessionId}/download | Gesamtes Projekt herunterladen |
path wird URL-codiert.
Verlauf und Zurücksetzen
| Methode | Pfad | Funktion |
|---|---|---|
GET | /api/session/{sessionId}/history | Commit-Verlauf |
GET | /api/session/{sessionId}/transcript | Vollständiger Konversationsverlauf |
GET | /api/session/{sessionId}/diff?hash={hash} | Änderungen eines bestimmten Commits |
POST | /api/session/{sessionId}/revert | Auf einen bestimmten Commit zurücksetzen (im Body hash) |
Das Zurücksetzen löscht den Verlauf nicht — auch die Rücknahme wird als neuer Commit festgehalten.
Übernehmen und Verwerfen
| Methode | Pfad | Funktion |
|---|---|---|
POST | /api/session/{id}/commit | Bisherige Änderungen committen (im Body message, optional) |
POST | /api/session/{id}/discard | Änderungen verwerfen und Session in den Ausgangszustand zurücksetzen |
POST | /api/session/{id}/verify | Prüfen, ob die App tatsächlich funktioniert |
DELETE | /api/session/{sessionId} | Session löschen |
Freigabe
PUT /api/session/{id}/share
Im Body wird ein Array der Benutzer-IDs gesendet, denen Lesezugriff gewährt wird.
{ "users": ["kim.cs", "park.jh"] }
Ein leeres Array hebt die Freigabe auf.
Datenkontext
PUT /api/session/{id}/data-context
Legt fest, auf welche Anlagen und Tags sich die Session bezieht. Der Agent nutzt diesen Bereich als Referenz beim Erstellen der App. Mit null wird die Zuordnung aufgehoben.