feat: LiveKit AI answering agent (Gemini 2.5 Flash native audio)

- Hospital receptionist agent "Helix" with Gemini realtime speech-to-speech
- Tools wired to platform: lookupDoctor, bookAppointment, collectLeadInfo, transferToAgent
- Loads hospital context (doctors, departments) from platform GraphQL on startup
- Connects to LiveKit Cloud, joins rooms when participants connect
- Silero VAD for voice activity detection
- @livekit/agents + @livekit/agents-plugin-google + @livekit/agents-plugin-silero

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 20:30:41 +05:30
parent fcc7c90e84
commit 3c06a01e7b
5 changed files with 3498 additions and 65 deletions

View File

@@ -77,6 +77,7 @@ export class SupervisorService implements OnModuleInit {
private mapOzonetelAction(action: string, eventData: string): AgentOzonetelState | null {
switch (action) {
case 'release': return 'ready';
case 'IDLE': return 'ready'; // agent available after unanswered/canceled call
case 'calling': return 'calling';
case 'incall': return 'in-call';
case 'ACW': return 'acw';