27 instantiations of FunctionApprovalResponseContent
Microsoft.Extensions.AI.Abstractions (1)
Contents\FunctionApprovalRequestContent.cs (1)
40
public FunctionApprovalResponseContent CreateResponse(bool approved) =>
new
(Id, approved, FunctionCall);
Microsoft.Extensions.AI.Abstractions.Tests (9)
Contents\AIContentTests.cs (1)
74
new
FunctionApprovalResponseContent
("request123", approved: true, new FunctionCallContent("call123", "functionName", new Dictionary<string, object?> { { "param1", 123 } })),
Contents\FunctionApprovalResponseContentTests.cs (6)
17
Assert.Throws<ArgumentNullException>("id", () => new
FunctionApprovalResponseContent
(null!, true, functionCall));
18
Assert.Throws<ArgumentException>("id", () => new
FunctionApprovalResponseContent
("", true, functionCall));
19
Assert.Throws<ArgumentException>("id", () => new
FunctionApprovalResponseContent
("\r\t\n ", true, functionCall));
21
Assert.Throws<ArgumentNullException>("functionCall", () => new
FunctionApprovalResponseContent
("id", true, null!));
31
FunctionApprovalResponseContent content =
new
(id, approved, functionCall);
41
var content = new
FunctionApprovalResponseContent
("request123", true, new FunctionCallContent("call123", "functionName"));
Contents\UserInputResponseContentTests.cs (2)
34
UserInputResponseContent content = new
FunctionApprovalResponseContent
("request123", true, new FunctionCallContent("call123", "functionName"));
42
new
FunctionApprovalResponseContent
("request123", true, new FunctionCallContent("call123", "functionName")),
Microsoft.Extensions.AI.Tests (17)
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (17)
160
new
FunctionApprovalResponseContent
("callId1", true, new FunctionCallContent("callId1", "Func1")),
161
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
214
new
FunctionApprovalResponseContent
("callId1", true, new FunctionCallContent("callId1", "Func1")),
218
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
270
new
FunctionApprovalResponseContent
("callId1", false, new FunctionCallContent("callId1", "Func1")),
271
new
FunctionApprovalResponseContent
("callId2", false, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
329
new
FunctionApprovalResponseContent
("callId1", false, new FunctionCallContent("callId1", "Func1")),
330
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
393
new
FunctionApprovalResponseContent
("callId1", true, new FunctionCallContent("callId1", "Func1")),
394
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
447
new
FunctionApprovalResponseContent
("callId1", true, new FunctionCallContent("callId1", "Func1")),
448
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
458
new
FunctionApprovalResponseContent
("callId3", true, new FunctionCallContent("callId3", "Func1")),
598
new
FunctionApprovalResponseContent
("callId1", true, new FunctionCallContent("callId1", "Func1")),
599
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
644
new
FunctionApprovalResponseContent
("callId1", true, new FunctionCallContent("callId1", "Func1")),
645
new
FunctionApprovalResponseContent
("callId2", true, new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } }))
25 references to FunctionApprovalResponseContent
Microsoft.Extensions.AI (12)
ChatCompletion\FunctionInvokingChatClient.cs (12)
44
/// responsible for responding to that approval request by sending a corresponding <see cref="
FunctionApprovalResponseContent
"/> in a subsequent
748
/// Gets whether <paramref name="messages"/> contains any <see cref="FunctionApprovalRequestContent"/> or <see cref="
FunctionApprovalResponseContent
"/> instances.
751
messages.Any(static m => m.Contents.Any(static c => c is FunctionApprovalRequestContent or
FunctionApprovalResponseContent
));
1227
/// 1. Remove all <see cref="FunctionApprovalRequestContent"/> and <see cref="
FunctionApprovalResponseContent
"/> from the <paramref name="originalMessages"/>.
1228
/// 2. Recreate <see cref="FunctionCallContent"/> for any <see cref="
FunctionApprovalResponseContent
"/> that haven't been executed yet.
1229
/// 3. Genreate failed <see cref="FunctionResultContent"/> for any rejected <see cref="
FunctionApprovalResponseContent
"/>.
1287
List<
FunctionApprovalResponseContent
>? allApprovalResponses = null;
1316
case
FunctionApprovalResponseContent
farc:
1374
foreach (
var
approvalResponse in allApprovalResponses)
1406
/// Extracts the <see cref="FunctionCallContent"/> from the provided <see cref="
FunctionApprovalResponseContent
"/> to recreate the original function call messages.
1611
/// Execute the provided <see cref="
FunctionApprovalResponseContent
"/> and return the resulting <see cref="FunctionCallContent"/>
1706
public
FunctionApprovalResponseContent
Response { get; set; }
Microsoft.Extensions.AI.Abstractions (8)
Contents\FunctionApprovalRequestContent.cs (3)
36
/// Creates a <see cref="
FunctionApprovalResponseContent
"/> to indicate whether the function call is approved or rejected based on the value of <paramref name="approved"/>.
39
/// <returns>The <see cref="
FunctionApprovalResponseContent
"/> representing the approval response.</returns>
40
public
FunctionApprovalResponseContent
CreateResponse(bool approved) => new(Id, approved, FunctionCall);
Contents\FunctionApprovalResponseContent.cs (1)
17
/// Initializes a new instance of the <see cref="
FunctionApprovalResponseContent
"/> class.
Contents\McpServerToolApprovalRequestContent.cs (1)
39
/// <returns>The <see cref="
FunctionApprovalResponseContent
"/> representing the approval response.</returns>
Contents\UserInputResponseContent.cs (1)
16
[JsonDerivedType(typeof(
FunctionApprovalResponseContent
), "functionApprovalResponse")]
Utilities\AIJsonUtilities.Defaults.cs (2)
55
AddAIContentType(options, typeof(
FunctionApprovalResponseContent
), typeDiscriminatorId: "functionApprovalResponse", checkBuiltIn: false);
129
[JsonSerializable(typeof(
FunctionApprovalResponseContent
))]
Microsoft.Extensions.AI.Abstractions.Tests (5)
Contents\FunctionApprovalRequestContentTests.cs (1)
49
var
response = content.CreateResponse(approved);
Contents\FunctionApprovalResponseContentTests.cs (4)
31
FunctionApprovalResponseContent
content = new(id, approved, functionCall);
41
var
content = new FunctionApprovalResponseContent("request123", true, new FunctionCallContent("call123", "functionName"));
44
var
deserializedContent = JsonSerializer.Deserialize<
FunctionApprovalResponseContent
>(json, AIJsonUtilities.DefaultOptions);