fix(agents): return to listening state for thinking-only turns #936
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When a realtime model (e.g., Gemini with dynamic thinking enabled) sends a generation with no audio output and no tool calls (i.e. a thinking-only turn), the agent would remain stuck in an intermediate and unrecoverable state, unable to process new user input. This fix ensures the agent state returns to 'listening' when a generation completes without executing any tools and without being interrupted, allowing the VAD to resume normal operation.
Changes Made
agent_activity.tsto return agent to "listening" state when a generation completes without executing any toolsspeechHandle.interruptedis false to allow normal state recoveryPre-Review Checklist
Testing
restaurant_agent.tsandrealtime_agent.tswork properly (for major changes) - the change is specifically related to fixing realtime agent behaviourAdditional Notes
N/A
Note to reviewers: Please ensure the pre-review checklist is completed before starting your review.