fix: always include parameters field in Genesys AudioHook messages

The AudioHook protocol requires every message to carry a `parameters`
object. `_create_message` conditionally included it only when parameters
were truthy, so pong responses and closed responses without
outputVariables were sent without the field.

Clients that validate message structure (including the Genesys reference
implementation) rejected these messages, which broke server sequence
tracking and prevented outputVariables from reaching the Architect flow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Pablo Ois Lagarde
2026-03-20 16:37:53 -03:00
parent d8af4447ff
commit bc0e7130b8
3 changed files with 10 additions and 3 deletions

View File

@@ -336,8 +336,7 @@ class GenesysAudioHookSerializer(FrameSerializer):
if include_position:
msg["position"] = self._format_position(self._position)
if parameters:
msg["parameters"] = parameters
msg["parameters"] = parameters if parameters is not None else {}
return msg