# autoyou_lite runtime dependencies
#
# Minimal install (no WebRTC, no audio):
#   pip install fastapi uvicorn aiohttp pydantic cryptography
#
# Full install (WebRTC + audio + encryption):
#   pip install -r requirements.txt

# ── Web server ────────────────────────────────────────────────────────────────
fastapi>=0.136.0
uvicorn[standard]>=0.29.0
pydantic>=2.0.0
anyio>=4.15.0

# ── Async HTTP (webhook, AI backend calls, HTTP proxy, WS proxy) ─────────────
aiohttp>=3.14.3

# ── AEAD encryption (otp and password modes) ─────────────────────────────────
# Floor raised past the 42.x line (CVE-2024-26130 / CVE-2024-12797 fixed range).
cryptography>=50.0.0

# ── WebRTC (DataChannel SCTP + SRTP audio; required for iOS/Android pairing) ─
aiortc>=1.9.0
av>=12.0.0      # PyAV - audio frame decode/encode for SRTP
numpy>=1.26.0   # Audio frame conversion used by the live voice sink
mss>=9.0.0      # Desktop capture for the gated video-call screen feed
Pillow>=12.3.0  # Frame encoding and desktop video placeholder rendering
pyautogui>=0.9.54  # Native mouse and keyboard control for Lite remote desktop

pyotp>=2.9.0     # TOTP for OTP pairing mode
qrcode[pil]>=7.4.2   # QR export for mobile provisioning / admin setup

# ── STT: RealtimeSTT + Whisper (optional) ────────────────────────────────────
# Enable via --stt flag or AUTOYOU_STT_ENABLED=1
RealtimeSTT[faster-whisper]==1.0.2
requests>=2.32.4
PyAudioWPatch==0.2.12.8; platform_system == "Windows"
PyAudio>=0.2.14; platform_system != "Windows"  # Linux also needs portaudio19-dev/python3-pyaudio

# ── TTS providers (optional - pick matching your tts_provider setting) ────────
# system TTS:   
pyttsx3>=2.90
# OpenAI TTS:   
httpx>=0.27.0
# Azure TTS:    
azure-cognitiveservices-speech>=1.40.0

# ── Public tunneling (tunnelmole - invoked as subprocess) ─────────────────────
# Install separately:  npm install -g tunnelmole
# Python wrapper (optional):  tunnelmole
