- 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
19 lines
446 B
Text
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
|