feat: flow runtime on LFX with tests

- LfxClient (upload/run/info/delete, typed errors, serve-key auth)
- Flows API: CRUD, versions, deploy, sync run, SSE stream proxy, runs
- Approvals callback endpoint (flow terminal-state contract)
- Runner: envelope in, status from approval side-effect (no interrupts)
- Fixture generator (lfx serializers) + simple_rule/approval_handoff
  fixtures verified against real lfx serve
- 14 tests green (real LFX subprocess + live uvicorn callback server)
This commit is contained in:
Jonas Miederer 2026-09-06 22:47:45 +00:00
parent e178ae406d
commit 96c0da33c7
15 changed files with 5070 additions and 5 deletions

View file

@ -1,5 +1,6 @@
from fastapi import FastAPI
from .flows.api import approvals_router, flows_router
from .settings import settings
app = FastAPI(
@ -11,6 +12,9 @@ app = FastAPI(
openapi_url="/api/openapi.json",
)
app.include_router(flows_router)
app.include_router(approvals_router)
@app.get("/")
async def root():