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

RotaMétodoDescrição
/pingGETIdentidade: { ok, mode, pid, version, activeScenario }.
/opsGETMetadados do registo de operações.
/invokePOST{ "name": "<operação>", "args": [...] }{ ok, result } (ou erro).
/eventsGETSSE com eventos do motor: logs, status, docker, mock, metrics.
/mcpPOSTO servidor MCP por Streamable HTTP (ver MCP).
/shutdownPOSTEncerramento ordenado; só o daemon o honra (a app responde 409).

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