Transporte

urirun hält den URI-Vertrag vom Transport getrennt. Dieselbe URI kann lokal, über einen Service-Endpunkt oder von einem Flow-Orchestrator aufgerufen werden. Die Registry, das JSON Schema und das Policy-Gate bilden den Vertrag; ein Transport bewegt lediglich {uri, payload} dorthin, wo die Runtime sie ausführt.

Lokal und Shell

Queue und Serverless

Docker

Docker-Beispiele verwenden URI-Ziele als Service-Namen:

python://python-worker/text/normalize
node://node-worker/text/slugify
shell://shell-worker/report/write

HTTP und Browser

Ein Backend lädt ein Binding-Dokument, rendert URI-Formulare und führt sie über POST /api/run aus. Logs, jüngste Aufrufe, MCP-Tools und A2A-Karten können aus derselben Registry projiziert werden — sodass Frontend-Aktionen dieselben URI-Namen wie das Backend verwenden. Dies ist derselbe Vertrag, den IFURI in seinen Flows verwendet.

gRPC

urirun.v2_grpc stellt eine kleine RPC-Oberfläche bereit: Auflisten von Routen, unäre Aufrufe und Stream-Aufrufe.

pip install "urirun[grpc] @ git+https://github.com/if-uri/urirun.git@main#subdirectory=adapters/python"

MCP und A2A

Da Bindings ein JSON Schema enthalten, kann die Registry projiziert werden in:

Die Ausführung läuft weiterhin über dasselbe urirun-Policy-Gate.