Forráskód Böngészése

Fix: Multi-Turn Follow-Up funktioniert jetzt

TTS-Plugins (Piper, Google, Coqui): request_id aus tts_request
an tts_completed durchreichen. Ohne request_id konnte der
IntentDispatcher den Follow-Up nicht mit dem TTS-Ergebnis
verknuepfen → ConversationEnd statt FollowUpExpected.

Enricher: get_enrichment auf Cache statt SyncState (AttributeError)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
patrick 4 hónapja
szülő
commit
cddbbc0f89
3 módosított fájl, 6 hozzáadás és 0 törlés
  1. 2 0
      plugins/tts_coqui/main.py
  2. 2 0
      plugins/tts_google/main.py
  3. 2 0
      plugins/tts_piper/main.py

+ 2 - 0
plugins/tts_coqui/main.py

@@ -374,6 +374,7 @@ class CoquiTTSPlugin(TrixyPlugin):
             session_id = data.get("session_id")
             voice_id = data.get("voice_id")
             language = data.get("language")
+            request_id = data.get("request_id", "")
 
             if not text:
                 return
@@ -389,6 +390,7 @@ class CoquiTTSPlugin(TrixyPlugin):
                 )
 
                 await em.emit("tts_completed", {
+                    "request_id": request_id,
                     "audio_data": result.audio_data.hex(),
                     "sample_rate": result.sample_rate,
                     "duration_seconds": result.duration_seconds,

+ 2 - 0
plugins/tts_google/main.py

@@ -323,6 +323,7 @@ class GoogleTTSPlugin(TrixyPlugin):
             session_id = data.get("session_id")
             voice_id = data.get("voice_id")
             language = data.get("language")
+            request_id = data.get("request_id", "")
 
             if not text:
                 return
@@ -338,6 +339,7 @@ class GoogleTTSPlugin(TrixyPlugin):
                 )
 
                 await em.emit("tts_completed", {
+                    "request_id": request_id,
                     "audio_data": result.audio_data.hex(),
                     "sample_rate": result.sample_rate,
                     "duration_seconds": result.duration_seconds,

+ 2 - 0
plugins/tts_piper/main.py

@@ -598,6 +598,7 @@ class PiperTTSPlugin(TrixyPlugin):
             satellite_id = data.get("satellite_id")
             session_id = data.get("session_id")
             voice_id = data.get("voice_id")
+            request_id = data.get("request_id", "")
 
             if not text:
                 return
@@ -609,6 +610,7 @@ class PiperTTSPlugin(TrixyPlugin):
                 result = await self._provider.synthesize(text, voice_id=voice_id)
 
                 await em.emit("tts_completed", {
+                    "request_id": request_id,
                     "audio_data": result.audio_data.hex(),
                     "sample_rate": result.sample_rate,
                     "duration_seconds": result.duration_seconds,