fastapi>=0.115,<0.120
uvicorn[standard]>=0.30,<0.32
pydantic>=2.7,<3.0
pydantic-settings>=2.4,<3.0
structlog>=24.4,<25.0
httpx>=0.27,<0.28
langgraph>=0.2.50,<0.3
langgraph-checkpoint-sqlite>=2.0,<3.0
# AsyncSqliteSaver (langgraph-checkpoint-sqlite 2.x) usa Connection.is_alive(),
# eliminado en aiosqlite 0.21. Fijado a la última serie compatible.
aiosqlite>=0.20,<0.21
# ("Secondary flag is not valid for non-boolean flag" al ejecutar `spacy download`
# y la CLI de typer/weasel). Fijado a la última serie 8.1.
presidio-analyzer>=2.2,<3.0
presidio-anonymizer>=2.2,<3.0
openai>=1.50,<2.0
PyYAML>=6.0,<7.0
jsonschema>=4.0,<5.0
nemoguardrails>=0.10,<0.12

# HTMX UI embebida (Opción A)
jinja2>=3.1,<4.0
python-multipart>=0.0.9,<0.1
