From 7430a18e668b77b908d77504bf69b1879c23c1f8 Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Thu, 28 May 2026 18:05:06 +0200 Subject: [PATCH] change for UE 5.7 --- .../Private/PS_AI_ConvAgent_WebSocket_ElevenLabsProxy.cpp | 7 +++++-- .../PS_AI_ConvAgent_ToolCustomization_ElevenLabs.cpp | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_WebSocket_ElevenLabsProxy.cpp b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_WebSocket_ElevenLabsProxy.cpp index 7cc5615..8a6e38a 100644 --- a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_WebSocket_ElevenLabsProxy.cpp +++ b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_WebSocket_ElevenLabsProxy.cpp @@ -685,15 +685,18 @@ void UPS_AI_ConvAgent_WebSocket_ElevenLabsProxy::HandleClientToolCall(const TSha { for (const auto& Pair : (*ParamsObj)->Values) { + // UE 5.8 changed FJsonObject::Values from TMap to TMap. + // FSharedString has no implicit FString conversion; deref (*) yields const TCHAR*. + FString Key(*Pair.Key); FString Value; if (Pair.Value->TryGetString(Value)) { - ToolCall.Parameters.Add(Pair.Key, Value); + ToolCall.Parameters.Add(Key, Value); } else { // For non-string values, serialize to string - ToolCall.Parameters.Add(Pair.Key, Pair.Value->AsString()); + ToolCall.Parameters.Add(Key, Pair.Value->AsString()); } } } diff --git a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgentEditor/Private/PS_AI_ConvAgent_ToolCustomization_ElevenLabs.cpp b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgentEditor/Private/PS_AI_ConvAgent_ToolCustomization_ElevenLabs.cpp index 3f8a54a..00e3e1a 100644 --- a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgentEditor/Private/PS_AI_ConvAgent_ToolCustomization_ElevenLabs.cpp +++ b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgentEditor/Private/PS_AI_ConvAgent_ToolCustomization_ElevenLabs.cpp @@ -560,8 +560,10 @@ void FPS_AI_ConvAgent_ToolCustomization_ElevenLabs::OnFetchToolClicked() if (!Pair.Value->TryGetObject(PropObj)) continue; FPS_AI_ConvAgent_ToolParameter_ElevenLabs Param; - Param.Name = Pair.Key; - Param.bRequired = RequiredSet.Contains(Pair.Key); + // UE 5.8: FJsonObject::Values key is now FSharedString, convert explicitly. + FString KeyStr(*Pair.Key); + Param.Name = KeyStr; + Param.bRequired = RequiredSet.Contains(KeyStr); // Try ElevenLabs format: type-as-key static const TArray> TypeKeys = {