# Vercel Python builder dependency manifest for ``api/index.py``.
#
# Vercel runs two install steps for this monorepo:
#
#   1. ``installCommand`` from vercel.json — currently
#      ``npm install ... && uv sync --frozen --extra web --no-dev --no-editable``
#      This is what builds the *project* environment that ``next build``
#      uses, and it's also where the ``[web]`` extra (lens-research +
#      fastapi + libsql-client) lands.
#
#   2. ``@vercel/python`` reads THIS file when packaging the
#      serverless function bundle for ``api/index.py``. Anything not
#      listed here will not be importable at request time, regardless
#      of what step #1 installed into the build sandbox.
#
# So the file must mirror the ``[web]`` extra in pyproject.toml.
# Keep these two lists in lockstep — drift = ImportError at cold start.
#
# Heavy ML deps (sentence-transformers, torch, sqlite-vec) live in the
# ``[local]`` extra and are NEVER part of the Vercel bundle. The
# runtime uses TursoStore (libSQL native vectors) + cloud embeddings,
# so torch is unreachable. See pyproject.toml `[project.optional-dependencies]`.

fastapi>=0.115
libsql-client>=0.3.0

# The lens package itself. ``pip install .`` runs without extras, so
# only the BASE deps from pyproject.toml's ``dependencies`` list are
# pulled — none of the ``[local]`` ML deps. If you add a new BASE
# dep, double-check it's <500 MB unzipped before merging.
.
