# Pinned. Recreating the venv with >= constraints silently jumped openai # 2.53 -> 3.0 and httpx -> httpx2; a service that restarts on boot should not # change its dependency tree underneath itself. Bump deliberately. pyyaml==6.0.3 pydantic==2.13.4 requests==2.34.2 fastapi==0.141.1 uvicorn[standard]==0.52.1 openai==3.0.0 python-dotenv==1.2.2 pytest==9.1.1 pytest-cov==7.1.0 # Deliberate UI-bring-your-own-tool dependency: textual is the terminal # dashboard framework for the monitoring TUI (tui.py), a SEPARATE entrypoint. # It is only imported by tui.py — never by the service dispatch path, so the # router itself has no UI dependency and dispatcher's import path is unchanged. textual==8.2.8