diff --git a/app/MindWork AI Studio/Provider/BaseProvider.cs b/app/MindWork AI Studio/Provider/BaseProvider.cs index a79c693a..bbf5e4d9 100644 --- a/app/MindWork AI Studio/Provider/BaseProvider.cs +++ b/app/MindWork AI Studio/Provider/BaseProvider.cs @@ -1249,6 +1249,7 @@ public abstract class BaseProvider : IProvider, ISecretId { Id = toolCallId, Type = string.IsNullOrWhiteSpace(returnedToolCall?.Type) ? "function" : returnedToolCall.Type, + AdditionalMetadata = returnedToolCall?.AdditionalMetadata ?? new Dictionary(), Function = new ChatCompletionToolFunction { Name = string.IsNullOrWhiteSpace(returnedFunctionName) ? "invalid_tool_call" : returnedFunctionName, diff --git a/app/MindWork AI Studio/Provider/OpenAI/ChatCompletionToolCall.cs b/app/MindWork AI Studio/Provider/OpenAI/ChatCompletionToolCall.cs index 36850dbf..9c0a38c0 100644 --- a/app/MindWork AI Studio/Provider/OpenAI/ChatCompletionToolCall.cs +++ b/app/MindWork AI Studio/Provider/OpenAI/ChatCompletionToolCall.cs @@ -1,3 +1,6 @@ +using System.Text.Json; +using System.Text.Json.Serialization; + namespace AIStudio.Provider.OpenAI; public sealed record ChatCompletionToolCall @@ -7,4 +10,7 @@ public sealed record ChatCompletionToolCall public string? Type { get; init; } = "function"; public ChatCompletionToolFunction? Function { get; init; } + + [JsonExtensionData] + public IDictionary AdditionalMetadata { get; init; } = new Dictionary(); }