Public Access
27 lines
768 B
C#
27 lines
768 B
C#
using System.Text.Json.Nodes;
|
|
using Microsoft.Extensions.AI;
|
|
|
|
namespace MeetingAssistant.Summary;
|
|
|
|
internal static class FunctionInvocationGuard
|
|
{
|
|
public static ValueTask<object?> InvokeAsync(
|
|
FunctionInvocationContext context,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
if (context.CallContent.Exception is not null)
|
|
{
|
|
return ValueTask.FromResult<object?>(new JsonObject
|
|
{
|
|
["error"] = new JsonObject
|
|
{
|
|
["code"] = "invalid_tool_arguments",
|
|
["message"] = "Tool arguments must be a valid JSON object."
|
|
}
|
|
});
|
|
}
|
|
|
|
return context.Function.InvokeAsync(context.Arguments, cancellationToken);
|
|
}
|
|
}
|