Zum Inhalt springen

Control server (lokale HTTP-API)

Wer die Engine hostet (die App oder der Daemon), veröffentlicht eine lokale HTTP-API in .aseptic/.runtime/control.json:

{ "pid": 123, "port": 49777, "token": "…", "mode": "daemon", "version": "0.1.0", "startedAt": "…" }

Die API lebt unter http://127.0.0.1:<port> und jede Anfrage trägt Authorization: Bearer <token>. Der Port ist flüchtig und das Token ändert sich bei jedem Start der Engine: Man muss control.json bei jeder Verbindung neu lesen.

Route Methode Beschreibung
/ping GET Identität: { ok, mode, pid, version, activeScenario }.
/ops GET Metadaten des Operationsregisters.
/invoke POST { "name": "<Operation>", "args": [...] } → { ok, result } (oder Fehler).
/events GET SSE mit Engine-Ereignissen: logs, status, docker, mock, metrics.
/mcp POST Der MCP-Server über Streamable HTTP (siehe MCP).
/shutdown POST Geordnetes Herunterfahren; nur der Daemon honoriert es (die App antwortet 409).

aseptic ist nichts weiter als ein Client dieser API. Jedes lokale Werkzeug (ein anderes Skript, ein Agent) kann sie direkt nutzen: GET /ops, um die Oberfläche zu entdecken, und POST /invoke, um jede Operation auszuführen, einschließlich derer ohne eigenen Befehl.