Salta ai contenuti

Control server (API HTTP locale)

Chi ospita il motore (l’app o il daemon) pubblica un’API HTTP locale in .aseptic/.runtime/control.json:

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

L’API vive su http://127.0.0.1:<port> e ogni richiesta porta Authorization: Bearer <token>. La porta è effimera e il token cambia a ogni avvio del motore: bisogna rileggere control.json a ogni connessione.

Rotta Metodo Descrizione
/ping GET Identità: { ok, mode, pid, version, activeScenario }.
/ops GET Metadati del registro di operazioni.
/invoke POST { "name": "<operazione>", "args": [...] } → { ok, result } (o errore).
/events GET SSE con eventi del motore: logs, status, docker, mock, metrics.
/mcp POST Il server MCP via Streamable HTTP (vedi MCP).
/shutdown POST Spegnimento ordinato; solo il daemon lo onora (l’app risponde 409).

aseptic non è altro che un client di questa API. Qualsiasi strumento locale (un altro script, un agente) può usarla direttamente: GET /ops per scoprire la superficie e POST /invoke per eseguire qualsiasi operazione, incluse quelle che non hanno un comando proprio.