- Three-tier role system: user, admin, readonly_admin with dashboard gating - Client field (Yes/No) on registration with conditional Client Name and Studio Name - Auto-tag client agents as "needs_verification" with Verification tab on admin dashboard - Client agent email notification via Mailgun to configured recipients - Daily agent digest email scheduled via APScheduler (configurable hour) - Manual digest trigger endpoint: POST /api/admin/digest/send - Role dropdown replaces is_admin checkbox in user edit modal - Registration form reordered: Name, Description, Purpose, Client, Client Name, Studio, Tool - Stat card CSS fix for text truncation on admin dashboard - Updated CLAUDE.md documentation and PLAN file Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
711 B
Text
41 lines
711 B
Text
annotated-types==0.7.0
|
|
anyio==4.10.0
|
|
bcrypt==4.0.1
|
|
beautifulsoup4==4.13.4
|
|
certifi==2025.8.3
|
|
charset-normalizer==3.4.3
|
|
click==8.2.1
|
|
dnspython==2.7.0
|
|
ecdsa==0.19.1
|
|
email_validator==2.2.0
|
|
fastapi==0.116.1
|
|
h11==0.16.0
|
|
httpcore==1.0.9
|
|
httpx==0.28.1
|
|
idna==3.10
|
|
Jinja2==3.1.2
|
|
MarkupSafe==3.0.2
|
|
motor==3.7.1
|
|
passlib==1.7.4
|
|
pyasn1==0.6.1
|
|
pydantic==2.11.7
|
|
pydantic_core==2.33.2
|
|
pymongo==4.14.0
|
|
python-dotenv==1.1.1
|
|
python-jose==3.5.0
|
|
python-multipart==0.0.6
|
|
requests==2.32.4
|
|
rsa==4.9.1
|
|
six==1.17.0
|
|
sniffio==1.3.1
|
|
soupsieve==2.7
|
|
SQLAlchemy==2.0.43
|
|
starlette==0.47.2
|
|
typing-inspection==0.4.1
|
|
typing_extensions==4.14.1
|
|
urllib3==2.5.0
|
|
uvicorn==0.35.0
|
|
msal==1.26.0
|
|
itsdangerous==2.2.0
|
|
cryptography==41.0.7
|
|
apscheduler>=3.10.0
|