# aicli — Python 3.11+ required (tomllib is stdlib from 3.11)
# Install with: pip install -r requirements.txt
# Optional (Linux): clipboard support requires `xclip`
# Install with: sudo apt install xclip

# ── Required ──────────────────────────────────────────────────────────────────
cryptography>=42.0.0        # Fernet encryption: API key storage + chat history
click>=8.1.0                # CLI framework (commands, groups, options, flags)
pytest>=9.0.0               # Test runner
pytest-asyncio>=0.23.0      # Required for async test suite execution
tiktoken>=0.7.0             # Exact token counting

# ── Drop-in upgrades (install when ready — no code changes needed) ────────────
keyring>=25.0.0             # OS keychain for API keys (falls back to Fernet file)
httpx>=0.27.0               # Native async HTTP (falls back to urllib)
rich>=13.0.0                # Terminal markdown + syntax highlighting (falls back to plain print)

# ── F7: TUI ───────────────────────────────────────────────────────────────────
textual>=0.59.0,<1.0.0      # Terminal UI framework for tui.py (sidebar, chat, input bar)
#                           # Graceful import error if not installed (optional for CLI-only use)

# ── Phase 5: RAG ─────────────────────────────────────────────────────────────
chromadb>=0.5.0             # Vector store for LocalContext + ChatContextStore
#                           # Implements context/embeddings.py + context/retriever.py
