Features:
AgentSession.start() now returns a RunResult
when called with capture_run=True
.
This makes it possible to assert the first message when the agent initiates the conversation:
result = await sess.start(EchoAgent(), capture_run=True)
result.expect.next_event().is_agent_handoff(new_agent_type=EchoAgent)
result.expect.next_event().is_message(role="assistant")
What's Changed
- fix: start datastream audio output right after room connected by @longcw in #3270
- add AudioOutput capabilities and disable pause/resume for if output not supported by @longcw in #3269
- fix (11labs): fix empty text input and timeout for the first audio chunk by @longcw in #3284
- chore: switch to gpt-realtime as default OAI realtime model by @davidzhao in #3287
- fix(plugins:elevenlabs): fix exception in STT when serializing bool form field tag_audio_events by @mike-r-mclaughlin in #3282
- primary speaker detection with STT diarization by @longcw in #3186
- add capture_run for AgentSession.start by @longcw in #3288
- chore: add test for empty tts streams by @davidzhao in #3286
- fix say method not being captured by RunResult by @theomonnom in #3291
- support interrupting agent by interim transcripts by @longcw in #3278
- allow SpeechHandle to be interrupted when long-running function tools are pending by @longcw in #3280
- fix: disable false interruption resume for realtime model by @longcw in #3298
- feat(langgraph): support subgraphs in LLMAdapter and normalize astream outputs by @bnovik0v in #3112
- feat: add more llm and stt models to mistralai plugins by @fabitokki in #3300
- chore(langchain): fix types by @davidzhao in #3303
New Contributors
Full Changelog: https://github.com/livekit/agents/compare/livekit-agents@1.2.7...livekit-agents@1.2.8