45 instantiations of FunctionResultContent
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
791return new FunctionResultContent(result.CallContent.CallId, functionResult) { Exception = result.Exception };
Microsoft.Extensions.AI.Abstractions.Tests (9)
ChatCompletion\ChatMessageTests.cs (2)
149new FunctionResultContent("callId1", "result"), 256new FunctionResultContent("function-id", "function-result"),
ChatCompletion\ChatResponseUpdateTests.cs (1)
97new FunctionResultContent("callId1", "result"),
Contents\FunctionResultContentTests.cs (5)
15FunctionResultContent c = new("callId1", null); 26FunctionResultContent c = new("id", "result"); 37FunctionResultContent c = new("callId1", null); 65var sut = new FunctionResultContent("id", "result"); 82var sut = new FunctionResultContent("callId1", null) { Exception = new InvalidOperationException("hello") };
SpeechToText\SpeechToTextResponseUpdateTests.cs (1)
68new FunctionResultContent("callId1", "result"),
Microsoft.Extensions.AI.AzureAIInference.Tests (1)
AzureAIInferenceChatClientTests.cs (1)
991new(ChatRole.Tool, [new FunctionResultContent("abcd123", "happy")]),
Microsoft.Extensions.AI.OpenAI.Tests (4)
OpenAIChatClientTests.cs (2)
1459new FunctionResultContent("12345", "Said hello"), 1460new FunctionResultContent("12346", "Said hi"),
OpenAIConversionTests.cs (2)
98new(ChatRole.Tool, [new FunctionResultContent("callid123", "theresult")]), 150new(ChatRole.Tool, [new FunctionResultContent("callid123", "theresult")]),
Microsoft.Extensions.AI.Tests (30)
ChatCompletion\FunctionInvokingChatClientTests.cs (29)
89new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 91new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 93new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 127new FunctionResultContent("callId1", result: "Result 1"), 128new FunctionResultContent("callId2", result: "Result 2: 34"), 129new FunctionResultContent("callId3", result: "Result 2: 56"), 138new FunctionResultContent("callId4", result: "Result 2: 78"), 139new FunctionResultContent("callId5", result: "Result 1") 186new FunctionResultContent("callId1", result: "hellohello"), 187new FunctionResultContent("callId2", result: "worldworld"), 230new FunctionResultContent("callId1", result: "hellohello"), 231new FunctionResultContent("callId2", result: "worldworld"), 258new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1 from delegate")]), 260new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42 from delegate")]), 262new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 313plan.Add(new ChatMessage(ChatRole.Tool, [new FunctionResultContent($"callId{i}", result: "Success: Function completed.")])); 458toolMessage.Contents.Add(new FunctionResultContent(callId, result: callShouldThrow ? "Error: Function failed." : "Success")); 481new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 1")]), 483new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 485new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 518new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: detailedErrors ? "Error: Function failed. Exception: Oh no!" : "Error: Function failed.")]), 540new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 596new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 773new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 41")]), 775new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 42")]), 783new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 43")]), 929new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 963new FunctionResultContent("callId2", result: "value1"), 964new FunctionResultContent("callId2", result: "value2")
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
113new(ChatRole.Tool, [new FunctionResultContent("12345", "John")]),
45 references to FunctionResultContent
Microsoft.Extensions.AI (6)
ChatCompletion\FunctionInvokingChatClient.cs (4)
32/// producing a <see cref="FunctionResultContent"/> that it sends back to the inner client. This loop 110/// the <see cref="FunctionResultContent.Exception"/> property. 649var allExceptions = added.SelectMany(m => m.Contents.OfType<FunctionResultContent>()) 765FunctionResultContent CreateFunctionResultContent(FunctionInvocationResult result)
ChatCompletion\OpenTelemetryChatClient.cs (2)
470foreach (FunctionResultContent frc in message.Contents.OfType<FunctionResultContent>())
Microsoft.Extensions.AI.Abstractions (2)
Contents\AIContent.cs (1)
13[JsonDerivedType(typeof(FunctionResultContent), typeDiscriminator: "functionResult")]
Contents\FunctionResultContent.cs (1)
19/// Initializes a new instance of the <see cref="FunctionResultContent"/> class.
Microsoft.Extensions.AI.Abstractions.Tests (11)
ChatCompletion\ChatMessageTests.cs (2)
318var functionResultContent = deserializedMessage.Contents[5] as FunctionResultContent;
Contents\FunctionResultContentTests.cs (9)
15FunctionResultContent c = new("callId1", null); 26FunctionResultContent c = new("id", "result"); 37FunctionResultContent c = new("callId1", null); 65var sut = new FunctionResultContent("id", "result"); 70var deserializedSut = JsonSerializer.Deserialize<FunctionResultContent>(json, TestJsonSerializerContext.Default.Options); 82var sut = new FunctionResultContent("callId1", null) { Exception = new InvalidOperationException("hello") }; 86var deserializedSut = JsonSerializer.Deserialize<FunctionResultContent>(json, TestJsonSerializerContext.Default.Options);
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
449if (item is FunctionResultContent resultContent)
Microsoft.Extensions.AI.Evaluation.Quality (2)
ChatResponseExtensions.cs (2)
31if (content is FunctionCallContent or FunctionResultContent) 34content is FunctionCallContent ? typeof(FunctionCallContent) : typeof(FunctionResultContent);
Microsoft.Extensions.AI.Integration.Tests (1)
PromptBasedFunctionCallingChatClient.cs (1)
69if (message.Contents[itemIndex] is FunctionResultContent frc)
Microsoft.Extensions.AI.OpenAI (9)
OpenAIAssistantsChatClient.cs (7)
93(RunCreationOptions runOptions, List<FunctionResultContent>? toolResults) = await CreateRunOptionsAsync(messages, options, cancellationToken).ConfigureAwait(false); 263private async ValueTask<(RunCreationOptions RunOptions, List<FunctionResultContent>? ToolResults)> CreateRunOptionsAsync( 384List<FunctionResultContent>? functionResults = null; 424case FunctionResultContent result: 447/// <summary>Convert <see cref="FunctionResultContent"/> instances to <see cref="ToolOutput"/> instances.</summary> 451private static string? ConvertFunctionResultsToToolOutput(List<FunctionResultContent>? toolResults, out List<ToolOutput>? toolOutputs) 457foreach (var frc in toolResults)
OpenAIChatClient.cs (1)
145if (item is FunctionResultContent resultContent)
OpenAIResponsesChatClient.cs (1)
511case FunctionResultContent resultContent:
Microsoft.Extensions.AI.Tests (13)
ChatCompletion\FunctionInvokingChatClientTests.cs (13)
497Assert.Contains(content, c => c is FunctionCallContent or FunctionResultContent); 698c => Assert.Equal("Result for Input 1", Assert.IsType<FunctionResultContent>(c).Result?.ToString()), 699c => Assert.Equal("Result for Input 2", Assert.IsType<FunctionResultContent>(c).Result?.ToString())), 737Assert.IsType<FunctionResultContent>(Assert.Single(response.Messages[1].Contents)); 739Assert.IsType<FunctionResultContent>(Assert.Single(response.Messages[3].Contents)); 839AIContent[] resultContents = existingSearchResult is not null && existingSearchResult.Contents.OfType<FunctionResultContent>().ToList() is { } frcs 863var frcs = lastMessage.Contents.OfType<FunctionResultContent>().ToList(); 1070else if (expectedItem is FunctionResultContent expectedFunctionResult) 1072var chatFunctionResult = (FunctionResultContent)chatItem; 1164else if (expectedItem is FunctionResultContent expectedFunctionResult) 1166var chatFunctionResult = (FunctionResultContent)chatItem;