Zum Inhalt springen

Control server (lokale HTTP-API)

Wer die Engine hostet (die App oder der Daemon), veröffentlicht eine lokale HTTP-API in .microlab/.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.

RouteMethodeBeschreibung
/pingGETIdentität: { ok, mode, pid, version, activeScenario }.
/opsGETMetadaten des Operationsregisters.
/invokePOST{ "name": "<Operation>", "args": [...] }{ ok, result } (oder Fehler).
/eventsGETSSE mit Engine-Ereignissen: logs, status, docker, mock, metrics.
/mcpPOSTDer MCP-Server über Streamable HTTP (siehe MCP).
/shutdownPOSTGeordnetes Herunterfahren; nur der Daemon honoriert es (die App antwortet 409).

microlab 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.