- Added python-jose[cryptography] to requirements-agent.txt - Made sqlalchemy.orm.Session and TokenBlacklist imports lazy in jwt.py so decode_token works without pulling ORM models into agent image - Added src/core/auth/__init__.py, config.py, jwt.py to agent Dockerfile COPY - Added AUTH_SECRET_KEY env var to agent compose (reads from JWT_SECRET)
44 lines
835 B
Plaintext
44 lines
835 B
Plaintext
# Agent runtime: Gradio + LangGraph agent (no embedding model by default)
|
|
anyio>=4.12.0
|
|
certifi>=2025.11.12
|
|
h11>=0.16.0
|
|
httpcore>=1.0.9
|
|
httpx>=0.28.1
|
|
idna>=3.11
|
|
sniffio>=1.3.0
|
|
|
|
pydantic>=2.7,<3
|
|
pydantic-settings
|
|
pydantic_core>=2.41.0
|
|
typing_extensions>=4.15.0
|
|
|
|
# Gradio UI
|
|
gradio>=5.50.0
|
|
python-multipart>=0.0.21
|
|
aiofiles>=24.1.0
|
|
|
|
# LangChain agent framework
|
|
langchain-core>=0.3
|
|
langchain-openai>=0.3
|
|
langgraph>=0.2
|
|
langgraph-checkpoint-postgres
|
|
|
|
# OpenAI SDK (explicit — needed by langchain-openai)
|
|
openai>=1.0.0
|
|
|
|
# Document parsing (uploaded files)
|
|
pdfplumber
|
|
openpyxl
|
|
|
|
# DB for LangGraph checkpoint persistence (langgraph-checkpoint-postgres uses psycopg v3)
|
|
psycopg2-binary
|
|
psycopg>=3.1
|
|
|
|
# Retry/utility
|
|
tenacity>=8.0.0
|
|
requests>=2.32.0
|
|
|
|
# JWT token validation (used by src.core.auth.jwt.decode_token)
|
|
python-jose[cryptography]
|
|
|