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.
Add error handling for session bootstrap failures: Implement a client-safe error response payload in session_bootstrap.py and update Streamlit routes to use this new error handling.
Enhance VAD configuration and add fallback participant ID support: Update VAD_MIN_SPEECH_DURATION and VAD_MIN_SILENCE_DURATION for faster response times. Introduce fallback participant ID logic in MetricsCollector to handle cases where participant metadata is absent, ensuring accurate trace reporting.
Update Langfuse tracing configuration and enhance metrics collection: Increase trace finalize timeout in .env.example and settings.py. Add support for speech created events in MetricsCollector to capture assistant text. Refactor metrics handling to include additional latency metrics and improve test coverage for speech handling scenarios.
Enhance Langfuse tracing functionality: Add new configuration options for trace timeouts and maximum pending tasks in .env.example and settings.py. Update MetricsCollector to handle assistant text finalization and improve trace task management. Refactor agent logic to ensure accurate trace status reporting and enhance test coverage for tracing behavior.
Add Langfuse tracing support and enhance agent dispatch logic: Introduce optional Langfuse tracing configuration in .env.example and settings.py. Update agent and metrics collector to handle Langfuse traces per user turn. Refactor agent dispatch logic to ensure proper agent management and session metadata handling in the Streamlit app. Enhance UI to display session and trace information.
Implement speech-to-text provider selection and configuration: Update environment settings to support both Moonshine and NVIDIA STT providers, refactor STT initialization logic in the agent, and enhance footer generation in the Streamlit app for improved user experience. Update dependencies and settings management for better flexibility in model selection.
Refactor Streamlit app layout and enhance UI styling: Update page configuration for a wider layout, improve header visibility, and apply new CSS styles for better user experience. Adjust audio visualization in JavaScript for improved responsiveness and aesthetics.
implement LLM provider selection and configuration: Update environment settings to support HuggingFace alongside NVIDIA, refactor LLM initialization logic in the agent, and enhance settings management for improved flexibility in model selection.
Enhance LiveKit integration: Add audio input and VAD configurations, update settings, and improve Streamlit app for better agent dispatch and error handling.
Update environment configuration for LiveKit integration, modify Dockerfile for Python version compatibility, and enhance settings management with LiveKit parameters.
Refactor voice provider architecture to support NVIDIA integration, update environment configuration, and remove obsolete services. Enhance dependency management in pyproject.toml and .gitignore.
implement main entry point for Open Voice Agent with CLI support for running FastAPI, Streamlit, or both. Enhance Streamlit UI for audio processing and integrate WebSocket communication. Update dependencies in pyproject.toml and remove requirements.txt.