# Neuro SAN
leaf-common>=1.4.2
neuro-san==0.7.4
nsflow==0.7.0

# For config parsing
pyhocon>=0.3.60

# For the airline_policy demo, to extract text from documents
pypdf>=6.1.3

# To use a .env file for environment variables
python-dotenv>=1.2.2,<2.0.0

# For asynchronous file operations
aiofiles>=24.1.0

# For asynchronous HTTP requests
aiohttp>=3.13.0,<4.0

# For IDNA/UTS#46 hostname canonicalization in UrlPolicy's domain-policy checks
# (neuro_san_studio/coded_tools/utils/url_policy.py, behind SafeFetch). Already required
# transitively by yarl (via aiohttp) and neuro-san; declared here because UrlPolicy
# imports it directly and relies on yarl-matching UTS#46 behavior.
idna>=3.0

# For HTML parsing
beautifulsoup4>=4.12.0

# For MCP servers and clients
langchain-mcp-adapters>=0.1.7,<1.0

# Both of these used to arrive only transitively, via langchain-community (removed
# in #1401), so they must be declared here now:
#   - langchain-text-splitters is imported directly by neuro_san_studio/coded_tools/base_rag.py
#     (RecursiveCharacterTextSplitter).
#   - numpy is an optional dependency of langchain-core that its InMemoryVectorStore needs at
#     query time (cosine_similarity raises ImportError without it), which every in-memory RAG
#     tool in this repo relies on.
langchain-text-splitters>=1.1.2,<2.0
numpy>=2.1.0,<3.0

# Neuro-SAN now requires explicit installation of langchain LLM providers' libs
langchain-openai>=1.1.9,<2.0
langchain-anthropic>=1.4.3,<2.0
langchain-google-genai>=4.2.2,<5.0

# The Anthropic SDK is also imported directly (anthropic_code_execution,
# anthropic_tool, check_llm_keys), so it needs its own floor: 0.124.0 renamed
# the beta Files API type FileMetadata to BetaFileMetadata with no compat
# alias, and no langchain-anthropic release guarantees a version that new
# (even 1.6.0 only requires anthropic>=0.120), so bumping langchain-anthropic
# cannot express this constraint.
anthropic>=0.124.0,<1.0

# For rich logging
rich>=14.2.0

# For the HTML agent-network graph generator
pyvis~=0.3.2

# For web search tools without needing API keys, using DuckDuckGo's search results
ddgs>=9.4.1

# For the neuro-san-studio CLI
typer>=0.12.0,<1.0

# For chat-based cli tools not used in deployment
# Also used by neuro-san
timedinput>=0.1.1

# For checkbox-based selection in CLI
questionary>=2.0.0

# ReservationsStorage
# ... for S3
botocore>=1.34.51
aiobotocore>=3.7.0
