# Relay voice-call companion. Install into its OWN venv (heavy ML/audio deps):
#   python3 -m venv tools/relay/voicecall/.venv
#   tools/relay/voicecall/.venv/bin/pip install -r tools/relay/voicecall/requirements.txt
#
# The offline tests (voicecall_test.py) need NONE of these -- they run on stdlib.
# These are only for the live call path (pipeline.py main()).

pipecat-ai[google,deepgram,silero,webrtc]>=1.4   # Gemini Live (speech-to-speech, the call brain) + SmallWebRTC (free tailnet voice, no Twilio) + legacy Deepgram/Silero (off the call path)
pipecat-ai-small-webrtc-prebuilt>=2.5  # prebuilt browser WebRTC client (served at /relay/client; signaling JS lifted into the integrated /overview page)
google-genai>=1.75                    # Gemini Live transport (pulled by pipecat-ai[google])
deepgram-sdk>=3.7
fastapi>=0.115
uvicorn[standard]>=0.30
twilio>=9.0                            # outbound dial + request-signature validation

# NOTE: pin pipecat to whatever resolves at install time, then if its import
# paths differ from pipeline._imports(), adjust ONLY that function.
wsproto>=1.2                           # uvicorn ws backend (websockets 16.x 403s the default)
litellm>=1.89                          # router._llm_decide LLM path (via tools.lib.llm_router); without it the router silently falls back to keyword-only routing on live calls
