fastapi>=0.115
# M7: multipart form parsing, which is how a knowledge source is uploaded.
# Starlette's own parser, declared here because FastAPI does not require it and
# `routers/adventures/knowledge.py` does. Pure Python, Apache-2.0, no
# dependencies of its own — it adds no network path and nothing to audit
# beyond itself.
python-multipart>=0.0.9
uvicorn[standard]>=0.30
sqlalchemy>=2.0
pydantic>=2.7
httpx>=0.27
# Imported directly by app/tlstrust.py, which unions this bundle with the
# machine's own CA store. It arrives with httpx anyway; declared because the
# code imports it by name.
certifi
tiktoken>=0.7
