┌─────────────────────────────────────┐
│ Audio Input (WebSocket) │
│ - client_audio_start │
│ - client_audio_chunk (continuous) │
│ - client_audio_end │
└──────────────┬──────────────────────┘
│
v
┌─────────────────────────────────────┐
│ VAD (Voice Activity Detection) │
│ - START_OF_SPEECH │
│ - END_OF_SPEECH │
│ - CONTINUING │
└──────────────┬──────────────────────┘
│
v (parallel processing)
┌─────────────────────────────────────┐
│ STT (Speech-to-Text) │
│ - Streams audio continuously │
│ - Provides interim transcripts │
│ - Provides final transcripts │
└──────────────┬──────────────────────┘
│
v
┌─────────────────────────────────────┐
│ Turn Detection │
│ - Analyzes conversation context │
│ - Predicts end-of-turn probability │
│ - Applies dynamic endpointing │
└──────────────┬──────────────────────┘
│
v
┌─────────────────────────────────────┐
│ AI Agent (LLM) │
│ - Processes transcript │
│ - Generates response │
└─────────────────────────────────────┘