Add MCP runtime support and update configuration: Introduce MCP_ENABLED setting in settings.py and .env.example, enhance README with MCP runtime details, and implement MCP runtime decision logic in agent.py. Update agent instructions and ensure fallback to legacy runtime when MCP is unavailable.
Update dependencies and enhance logging: Modify pyproject.toml to include additional features in livekit-agents and update transformers version. Add cryptography package to uv.lock and refactor metrics logging in agent.py to improve clarity and remove unused code. Adjust maximum endpointing delay in settings.py and update UI tooltip descriptions for better user understanding.
Integrate Langchain usage patch and update UI metrics: Apply Langchain usage patch in agent.py, adjust pipeline stage layout in index.html, and enhance metric descriptions in main.js for improved clarity and functionality.
Enhance metrics handling and add EOU support: Update ChannelPublisher and TurnTracer to include end-of-utterance (EOU) metrics, refactor latency calculations, and improve metric attribute handling. Modify UI tooltips for clarity and adjust test cases to validate new metrics structure.
Add LLM connection settings and enhance error handling: Introduce new parameters for LLM connection timeout, retry attempts, and stall timeout in .env.example and settings.py. Update agent.py to log errors and session closures, and implement a watchdog for LLM stall detection in MetricsCollector.
Update PocketTTS configuration and logging: Change sample rate handling to enforce native 24kHz, adjust idle process count in .env.example, and enhance audio diagnostics in main.js for better tracking of remote audio track events.
Refactor metrics handling in MetricsCollector and UI: Consolidate latency calculations, enhance live metrics updates for agent roles, and improve test coverage for EOU latencies without LLM or TTS. Streamline code for clarity and accuracy in metric reporting.
Remove session metadata handling from agent and UI: Eliminate the on_data_received function in agent.py and the session metadata publishing logic in main.js to streamline session management and improve code clarity.
Refactor Streamlit app and UI for session management: Replace token generation with session bootstrap URL, update client rendering logic, and enhance error handling for session initialization. Improve metrics logging in agent and metrics collector for better tracking of session metadata.
Refactor MetricsCollector and UI for improved latency tracking: Simplify metric calculations by consolidating functions, enhance tooltip descriptions for clarity, and adjust CSS for better layout and responsiveness in index.html.