# LlamaIndex and RAG
llama-index>=0.10.0
llama-index-llms-ollama>=0.1.0
llama-index-embeddings-ollama>=0.1.0

# Vector Database (SQLite-based)
sqlite-vec>=0.1.0
numpy>=1.24.0

# Tree-sitter for fast structural indexing
# NOTE: tree-sitter-languages 1.10.x is incompatible with tree-sitter 0.21+
# The 0.21+ API changed Parser() and Language() constructors breaking the library
tree-sitter>=0.20.0,<0.21.0
tree-sitter-languages>=1.10.0  # Pre-built binaries for 40+ languages
networkx>=3.2.1  # For dependency graphs and PageRank

# File system watching
watchdog>=3.0.0

# Document Processing
pymupdf>=1.23.0

# Reranking and Hybrid Search
sentence-transformers>=2.2.0
rank-bm25>=0.2.2

# MCP Server
mcp>=1.0.0
fastapi>=0.104.0
uvicorn>=0.24.0
pydantic>=2.0.0
slowapi>=0.1.9  # Rate limiting

# Authentication
passlib[bcrypt]>=1.7.4
python-jose[cryptography]>=3.3.0
python-multipart>=0.0.6

# Utilities
python-dotenv>=1.0.0
requests>=2.31.0

# Real-time Learning System
redis>=5.0.0  # Redis client for pub/sub and caching
rq>=1.14.0    # Job queue (Python equivalent of Sidekiq)

# Testing
pytest>=7.4.0
pytest-asyncio>=0.21.0
pytest-cov>=4.1.0
pytest-mock>=3.12.0
httpx>=0.25.0  # For testing FastAPI endpoints
faker>=20.0.0  # For generating test data
