feat: Langflow authoring pipeline with tests

- LangflowClient (list/export, x-api-key auth, error mapping)
- import_from_langflow: export -> versioned definition -> LFX deploy
- POST /api/flows/import, GET /api/flows/langflow/available
- scripts/deploy_flow.py CLI
- 25 tests green (Langflow faked via dependency override + respx
  client tests; respx passthrough proven unreliable for LFX traffic)
This commit is contained in:
Jonas Miederer 2026-09-06 23:01:47 +00:00
parent 96c0da33c7
commit 1034206870
8 changed files with 451 additions and 0 deletions

View file

@ -84,3 +84,17 @@ class ApprovalRead(BaseModel):
decision_note: str
created_at: datetime
decided_at: datetime | None
class FlowImportRequest(BaseModel):
"""Import a flow from the Langflow authoring server by its Langflow id."""
langflow_flow_id: str = Field(min_length=1)
name: str | None = Field(default=None, max_length=200)
author: str = Field(default="", max_length=200)
deploy: bool = True
class FlowImportRead(BaseModel):
definition: FlowDefinitionRead
version: FlowVersionRead