Files
resolutionflow/backend/requirements.txt
chihlasm 11de850054 feat: wire PDF and text file content into AI chat messages
PDF uploads were stored in S3 and had text extracted during upload, but
fetch_upload_images() filtered exclusively for image MIME types, so
document content never reached the AI.

- Add fetch_upload_documents() in storage_service.py to retrieve
  extracted_content for PDFs and text files
- Update ai_sessions.py chat endpoint to call both fetch_upload_images
  and fetch_upload_documents, injecting document text as context
- Add PDF text extraction in _generate_ai_description (pypdf)
- Add pypdf>=4.0.0 to requirements.txt
- Fix test_db teardown to avoid connection pool issues
- Add 5 tests for fetch_upload_documents

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 21:02:56 +00:00

63 lines
926 B
Plaintext

# FastAPI and server
fastapi==0.128.5
uvicorn[standard]==0.40.0
# Database
sqlalchemy==2.0.46
asyncpg==0.31.0
psycopg2-binary==2.9.9
alembic==1.18.3
# Authentication
python-jose[cryptography]==3.5.0
passlib[bcrypt]==1.7.4
bcrypt==4.1.2
python-multipart==0.0.22
# Validation and settings
pydantic==2.12.5
pydantic-settings==2.12.0
email-validator==2.1.0
# Rate Limiting
slowapi==0.1.9
# Payments
stripe==14.3.0
# Email
resend==2.21.0
# HTTP client (seed scripts, internal API calls)
httpx>=0.27.0
# AI Flow Builder
anthropic>=0.40.0
google-genai>=1.0.0
# RAG / Embeddings
pgvector>=0.3.6
voyageai>=0.3.0
# Monitoring
sentry-sdk[fastapi]>=2.54.0
# PDF Export
weasyprint>=62.0
jinja2>=3.1.0
# Utilities
python-dotenv==1.0.1
croniter>=2.0.0
pytz>=2024.1
apscheduler>=3.10.4
# Object Storage
boto3>=1.34.0
# Image processing (vision upload resize)
Pillow>=10.0.0
# PDF text extraction (upload analysis)
pypdf>=4.0.0