// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. using Microsoft.Teams.AI.Messages; using OpenAI.Chat; namespace Microsoft.Teams.AI.Models.OpenAI; [Obsolete("Microsoft.Teams.AI.Models.OpenAI is deprecated and will be removed by end of summer 2026.")] public static partial class MessageExtensions { public static ModelMessage ToTeams(this AssistantChatMessage message) { var calls = message.ToolCalls.Select(call => { var args = call.FunctionArguments.ToString(); return new FunctionCall() { Id = call.Id, Name = call.FunctionName, Arguments = args == string.Empty ? null : args }; }); return new ModelMessage(message.Content.FirstOrDefault()?.Text ?? string.Empty, calls.ToList()); } public static AssistantChatMessage ToOpenAI(this ModelMessage message) { var calls = message.FunctionCalls?.Select(call => ChatToolCall.CreateFunctionToolCall( call.Id, call.Name, call.Arguments is null ? BinaryData.Empty : BinaryData.FromString(call.Arguments) )); if (calls is not null && calls.Count() > 0) { return new AssistantChatMessage(calls?.ToList() ?? []); } return new AssistantChatMessage(message.Content); } }