- 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)
31 lines
1,023 B
Python
31 lines
1,023 B
Python
from pathlib import Path
|
|
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
# Repo-root .env (shared with the compose stack). Real environment variables
|
|
# always take precedence over .env values.
|
|
REPO_ROOT = Path(__file__).resolve().parent.parent.parent
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file=REPO_ROOT / ".env", extra="ignore")
|
|
|
|
version: str = "0.1.0"
|
|
debug: bool = False
|
|
|
|
database_url: str = "postgresql+psycopg://kirche:kirche@localhost:5432/kirche_einfach"
|
|
test_database_url: str = (
|
|
"postgresql+psycopg://kirche:kirche@localhost:5432/kirche_einfach_test"
|
|
)
|
|
|
|
langflow_url: str = "http://localhost:7860"
|
|
langflow_api_key: str = ""
|
|
lfx_url: str = "http://localhost:6004"
|
|
lfx_api_key: str = ""
|
|
llm_api_key: str = ""
|
|
# Base URL flows use for callbacks into this API. Must be reachable
|
|
# FROM the LFX process (compose: http://app:8000).
|
|
callback_base_url: str = "http://localhost:8000"
|
|
|
|
|
|
settings = Settings()
|