ciyidogan commited on
Commit
5ef7a59
Β·
verified Β·
1 Parent(s): 534da31

Update state_orchestrator.py

Browse files
Files changed (1) hide show
  1. state_orchestrator.py +24 -10
state_orchestrator.py CHANGED
@@ -339,9 +339,14 @@ class StateOrchestrator:
339
  async def _handle_audio_playback_completed(self, event: Event):
340
  """Handle audio playback completion"""
341
  session_id = event.session_id
342
- current_state = self.get_state(session_id)
343
 
344
- log_info(f"🎡 Audio playback completed", session_id=session_id, state=current_state)
 
 
 
 
 
345
 
346
  if current_state in [ConversationState.PLAYING_WELCOME, ConversationState.PLAYING_RESPONSE]:
347
  # Transition back to listening
@@ -354,6 +359,13 @@ class StateOrchestrator:
354
  data={}
355
  ))
356
 
 
 
 
 
 
 
 
357
  async def _handle_stt_error(self, event: Event):
358
  """Handle STT errors"""
359
  session_id = event.session_id
@@ -475,14 +487,16 @@ class StateOrchestrator:
475
  log_info(f"βœ… State transition | session_id={session_id}, {old_state.value} β†’ {new_state.value}")
476
 
477
  # Emit state transition event
478
- await self._event_bus.publish(
479
- EventType.STATE_TRANSITION,
480
- {
481
- "session_id": session_id,
482
- "old_state": old_state.value,
483
- "new_state": new_state.value,
484
- "timestamp": datetime.utcnow().isoformat()
485
- }
 
 
486
  )
487
 
488
  return True
 
339
  async def _handle_audio_playback_completed(self, event: Event):
340
  """Handle audio playback completion"""
341
  session_id = event.session_id
342
+ context = self.sessions.get(session_id)
343
 
344
+ if not context:
345
+ return
346
+
347
+ current_state = context.state
348
+
349
+ log_info(f"🎡 Audio playback completed", session_id=session_id, state=current_state.value)
350
 
351
  if current_state in [ConversationState.PLAYING_WELCOME, ConversationState.PLAYING_RESPONSE]:
352
  # Transition back to listening
 
359
  data={}
360
  ))
361
 
362
+ # Send STT ready signal to frontend
363
+ await self.event_bus.publish(Event(
364
+ type=EventType.STT_READY,
365
+ session_id=session_id,
366
+ data={}
367
+ ))
368
+
369
  async def _handle_stt_error(self, event: Event):
370
  """Handle STT errors"""
371
  session_id = event.session_id
 
487
  log_info(f"βœ… State transition | session_id={session_id}, {old_state.value} β†’ {new_state.value}")
488
 
489
  # Emit state transition event
490
+ await self.event_bus.publish(
491
+ Event(
492
+ type=EventType.STATE_TRANSITION,
493
+ data={
494
+ "old_state": old_state.value,
495
+ "new_state": new_state.value,
496
+ "timestamp": datetime.utcnow().isoformat()
497
+ },
498
+ session_id=session_id
499
+ )
500
  )
501
 
502
  return True