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
guardrails-ai>=0.5,<0.6
# typer 0.12.x (pin transitivo de guardrails-ai <0.6) rompe con click >= 8.2
# ("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.
click>=8.1,<8.2
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
