Pular para o conteúdo

Control server (API HTTP local)

Quem aloja o motor (a app ou o daemon) publica uma API HTTP local em .aseptic/.runtime/control.json:

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

A API vive em http://127.0.0.1:<port> e cada pedido leva Authorization: Bearer <token>. A porta é efémera e o token muda a cada arranque do motor: é preciso reler control.json a cada ligação.

Rota Método Descrição
/ping GET Identidade: { ok, mode, pid, version, activeScenario }.
/ops GET Metadados do registo de operações.
/invoke POST { "name": "<operação>", "args": [...] } → { ok, result } (ou erro).
/events GET SSE com eventos do motor: logs, status, docker, mock, metrics.
/mcp POST O servidor MCP por Streamable HTTP (ver MCP).
/shutdown POST Encerramento ordenado; só o daemon o honra (a app responde 409).

O aseptic não é mais do que um cliente desta API. Qualquer ferramenta local (outro script, um agente) pode usá-la diretamente: GET /ops para descobrir a superfície e POST /invoke para executar qualquer operação, incluindo as que não têm comando próprio.