promptlooper/backend/requirements.txt
John Lightner 35d72e7fa8 MAESTRO: Implement LLM endpoints router with CRUD, test_connection, and Fernet-encrypted API key storage
- Add LLMEndpoint model to models.py with encrypted api_key field
- Create encryption.py with Fernet symmetric encryption (key derived from JWT_SECRET via PBKDF2)
- Implement full endpoints router: list, get, create, update, delete + test_connection
- Test endpoint calls adapter.test_connection() and list_models()
- API keys never exposed in responses; has_api_key boolean flag added
- 25 tests in test_endpoints.py, all 444 tests passing
2026-04-07 03:13:52 -05:00

19 lines
446 B
Text

# PromptLooper — Backend Dependencies
fastapi>=0.115,<1.0
uvicorn[standard]>=0.32,<1.0
sqlalchemy>=2.0,<3.0
alembic>=1.14,<2.0
pydantic>=2.0,<3.0
pydantic-settings>=2.0,<3.0
python-jose[cryptography]>=3.3,<4.0
cryptography>=42.0,<45.0
passlib[bcrypt]>=1.7,<2.0
celery>=5.4,<6.0
redis>=5.0,<6.0
httpx>=0.27,<1.0
websockets>=13.0,<14.0
psycopg2-binary>=2.9,<3.0
aiosqlite>=0.20,<1.0
python-multipart>=0.0.9
jinja2>=3.1,<4.0
jsonschema>=4.20,<5.0