1 type derived from FunctionResultContent
Microsoft.Extensions.AI.Tests (1)
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
605private sealed class DerivedFunctionResultContent : FunctionResultContent
191 instantiations of FunctionResultContent
Microsoft.Extensions.AI (3)
ChatCompletion\FunctionInvokingChatClient.cs (2)
1311return new FunctionResultContent(result.CallContent.CallId, functionResult) { Exception = result.Exception }; 1567return (AIContent)new FunctionResultContent(m.ResponseFunctionCallContent.CallId, result);
Realtime\FunctionInvokingRealtimeClientSession.cs (1)
382var functionResultContent = new FunctionResultContent(result.CallContent.CallId, resultValue)
Microsoft.Extensions.AI.Abstractions (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.FunctionResultContent.g.cs (1)
34ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.FunctionResultContent((string)args[0], (object)args[1]),
Microsoft.Extensions.AI.Abstractions.Tests (13)
ChatCompletion\ChatMessageTests.cs (2)
151new FunctionResultContent("callId1", "result"), 272new FunctionResultContent("function-id", "function-result"),
ChatCompletion\ChatResponseUpdateTests.cs (1)
97new FunctionResultContent("callId1", "result"),
Contents\AIContentTests.cs (1)
73new FunctionResultContent("call123", "result data"),
Contents\FunctionResultContentTests.cs (6)
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") }; 98var content = new FunctionResultContent("call123", "result");
Contents\ToolResultContentTests.cs (1)
55new FunctionResultContent("call1", "result1"),
Generated\361d1da7f942c932\TestJsonSerializerContext.FunctionResultContent.g.cs (1)
32ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.FunctionResultContent((string)args[0], (object)args[1]),
SpeechToText\SpeechToTextResponseUpdateTests.cs (1)
67new FunctionResultContent("callId1", "result"),
Microsoft.Extensions.AI.Evaluation.Reporting (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.FunctionResultContent.g.cs (1)
34ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.FunctionResultContent((string)args[0], (object)args[1]),
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.FunctionResultContent.g.cs (1)
34ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.FunctionResultContent((string)args[0], (object)args[1]),
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (1)
ScenarioRunResultTests.cs (1)
245[new FunctionResultContent("call-contract-001", result: "fixed-result")])),
Microsoft.Extensions.AI.OpenAI (4)
MicrosoftExtensionsAIChatExtensions.cs (1)
227resultMessage.Contents.Add(new FunctionResultContent(tcm.ToolCallId, ToToolResult(tcm.Content))
OpenAIRealtimeClientSession.cs (1)
1103[new FunctionResultContent(funcOutputItem.CallId ?? string.Empty, funcOutputItem.FunctionOutput)],
OpenAIResponsesChatClient.cs (2)
217message.Contents.Add(new FunctionResultContent(functionCallOutputItem.CallId, functionCallOutputItem.FunctionOutput) { RawRepresentation = functionCallOutputItem }); 560yield return CreateUpdate(new FunctionResultContent(functionCallOutputItem.CallId, functionCallOutputItem.FunctionOutput) { RawRepresentation = functionCallOutputItem });
Microsoft.Extensions.AI.OpenAI.Tests (17)
OpenAIChatClientTests.cs (2)
1477new FunctionResultContent("12345", new TextContent("Said hello")), 1478new FunctionResultContent("12346", "Said hi"),
OpenAIConversionTests.cs (3)
737new(ChatRole.Tool, [new FunctionResultContent("callid123", "theresult")]), 806new(ChatRole.Tool, [new FunctionResultContent("callid123", "theresult")]), 2124new(ChatRole.Tool, [new FunctionResultContent("call-456", "The weather is sunny")]),
OpenAIResponseClientTests.cs (12)
1761: new FunctionResultContent("call-1", "tool result"); 4823new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call_123", new TextContent("Result text"))]) 4880new FunctionResultContent("call_456", new List<AIContent> 4942new FunctionResultContent("call_789", new DataContent(imageData, "image/png")) 4999new FunctionResultContent("call_uri", new UriContent(new Uri("https://example.com/image.png"), "image/png")) 5056new FunctionResultContent("call_file", new HostedFileContent("file-abc123") { MediaType = "image/png", Name = "result.png" }) 5115new FunctionResultContent("call_mixed", new List<AIContent> 5178new FunctionResultContent("call_pdf", new DataContent(pdfData, "application/pdf") { Name = "report.pdf" }) 5233new FunctionResultContent("call_obj", new { name = "John", age = 30 }) 5288new FunctionResultContent("call_string", "Simple string result") 5345new FunctionResultContent("call_file_uri", new UriContent(new Uri("https://example.com/document.pdf"), "application/pdf")) 5402new FunctionResultContent("call_hosted_file", new HostedFileContent("file-xyz789") { MediaType = "text/plain", Name = "document.txt" })
Microsoft.Extensions.AI.Stabilization.Tests (1)
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.FunctionResultContent.g.cs (1)
32ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.FunctionResultContent((string)args[0], (object)args[1]),
Microsoft.Extensions.AI.Tests (149)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (1)
203new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callid123", "result")]),
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (73)
273new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 284new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 326new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 337new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 384new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 396new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 438new FunctionResultContent("callId1", result: "Tool call invocation rejected."), 439new FunctionResultContent("callId2", result: "Tool call invocation rejected.") 453new FunctionResultContent("callId1", result: "Tool call invocation rejected."), 454new FunctionResultContent("callId2", result: "Tool call invocation rejected.") 495new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Tool call invocation rejected.")]), 496new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 507new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Tool call invocation rejected.")]), 508new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 517new FunctionResultContent("callId1", result: "Tool call invocation rejected."), 518new FunctionResultContent("callId2", result: "Result 2: 42") 567new FunctionResultContent("callId1", result: "Tool call invocation rejected. User denied permission for this operation"), 568new FunctionResultContent("callId2", result: "Tool call invocation rejected. Function Func2 is not allowed at this time") 582new FunctionResultContent("callId1", result: "Tool call invocation rejected. User denied permission for this operation"), 583new FunctionResultContent("callId2", result: "Tool call invocation rejected. Function Func2 is not allowed at this time") 634new FunctionResultContent("callId1", result: "Tool call invocation rejected. Custom rejection for Func1"), 635new FunctionResultContent("callId2", result: "Tool call invocation rejected.") 637new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 3: test")]), 655new FunctionResultContent("callId1", result: "Tool call invocation rejected. Custom rejection for Func1"), 656new FunctionResultContent("callId2", result: "Tool call invocation rejected.") 658new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 3: test")]), 672new FunctionResultContent("callId1", result: "Tool call invocation rejected. Custom rejection for Func1"), 673new FunctionResultContent("callId2", result: "Tool call invocation rejected."), 674new FunctionResultContent("callId3", result: "Result 3: test") 720new FunctionResultContent("callId1", result: "Tool call invocation rejected.") 734new FunctionResultContent("callId1", result: "Tool call invocation rejected.") 775new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 786new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 824new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 839new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 841new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 1")]), 852new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 1")]), 1041new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]) 1060new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 1125new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 1136new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 1169new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 1180new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1"), new FunctionResultContent("callId2", result: "Result 2: 42")]), 1217new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1229new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1265new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1277new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1319new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1331new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1370new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1382new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1426new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1705new ChatMessage(ChatRole.Tool, [new FunctionResultContent("function-call-id", result: "Result 1")]), 1805new FunctionResultContent("callId1", result: "Result 1") 1829new FunctionResultContent("callId1", result: "Result 1") 1889new FunctionResultContent("callId1", result: "Result 1") : 1890new FunctionResultContent("callId1", result: "Tool call invocation rejected.") 1916new FunctionResultContent("callId1", result: "Result 1") : 1917new FunctionResultContent("callId1", result: "Tool call invocation rejected.")
ChatCompletion\FunctionInvokingChatClientTests.cs (57)
95new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 97new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 99new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 129new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 131new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 133new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 162new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 164new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 166new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 200new FunctionResultContent("callId1", result: "Result 1"), 201new FunctionResultContent("callId2", result: "Result 2: 34"), 202new FunctionResultContent("callId3", result: "Result 2: 56"), 211new FunctionResultContent("callId4", result: "Result 2: 78"), 212new FunctionResultContent("callId5", result: "Result 1") 259new FunctionResultContent("callId1", result: "hellohello"), 260new FunctionResultContent("callId2", result: "worldworld"), 303new FunctionResultContent("callId1", result: "hellohello"), 304new FunctionResultContent("callId2", result: "worldworld"), 331new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1 from delegate")]), 333new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42 from delegate")]), 335new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 406returnedFrc = new FunctionResultContent(ctx.CallContent.CallId, "Custom result from function") 488returnedFrc = new FunctionResultContent("differentCallId", "Result from function"); 644plan.Add(new ChatMessage(ChatRole.Tool, [new FunctionResultContent($"callId{i}", result: "Success: Function completed.")])); 962toolMessage.Contents.Add(new FunctionResultContent(callId, result: callShouldThrow ? "Error: Function failed." : "Success")); 985new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 1")]), 987new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]), 989new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]), 1022new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: detailedErrors ? "Error: Function failed. Exception: Oh no!" : "Error: Function failed.")]), 1044new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1101new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1295new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 41")]), 1297new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 42")]), 1305new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 43")]), 1451new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1485new FunctionResultContent("callId2", result: "value1"), 1486new FunctionResultContent("callId2", result: "value2") 1537new FunctionResultContent("callId1", result: "Error: Requested function \"UnknownFunc\" not found."), 1538new FunctionResultContent("callId2", result: "Known: 2") 1556new FunctionResultContent("callId1", result: "Error: Requested function \"UnknownFunc\" not found."), 1557new FunctionResultContent("callId2", result: "Known: 2") 1581new(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Should not be produced")]), 1613new(ChatRole.Tool, [new FunctionResultContent("callId1", result: "OK"), new FunctionResultContent("callId2", result: "nope")]), 1683new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1794new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1836new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1886new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 1958new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 2007new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]), 3259new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Error: Requested function \"UnknownFunc\" not found.")]), 3289new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Should not be produced")]), 3325new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Terminated")]), 3475new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", "Server Result")]), 3483new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", "Server Result")]), 3539new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", "Server Result 1")]), 3554new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", "Server Result 1")]),
ChatCompletion\ImageGeneratingChatClientTests.cs (6)
406new FunctionResultContent(otherCallId, "other-result")], 407"at-end" => [new FunctionResultContent(otherCallId, "other-result"), 409_ => [new FunctionResultContent(otherCallId, "before-result"), 481new FunctionResultContent(otherCallId, "other-result")], 482"at-end" => [new FunctionResultContent(otherCallId, "other-result"), 484_ => [new FunctionResultContent(otherCallId, "before-result"),
ChatCompletion\OpenTelemetryChatClientTests.cs (4)
117new(ChatRole.Tool, [new FunctionResultContent("12345", "John")]), 409new FunctionResultContent("call-123", "72°F and sunny"), 425yield return new() { Contents = [new FunctionResultContent("call-123", "72°F and sunny")] }; 451new(ChatRole.Tool, [new FunctionResultContent("call-456", "Found 3 files")]),
ChatReduction\MessageCountingChatReducerTests.cs (3)
129new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call1", "Sunny, 72°F")]), 224new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call1", "result")]), 226new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call2", "result")]),
ChatReduction\SummarizingChatReducerTests.cs (3)
100new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call1", "Sunny")]), 189new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call1", "Sunny, 72°F")]), 194new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call2", "Rainy, 65°F")]),
Generated\361d1da7f942c932\TestJsonSerializerContext.FunctionResultContent.g.cs (1)
32ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.FunctionResultContent((string)args[0], (object)args[1]),
Realtime\OpenTelemetryRealtimeClientTests.cs (1)
590var contentItem = new RealtimeConversationItem([new FunctionResultContent("call_1", "result_value")], role: ChatRole.Tool);
261 references to FunctionResultContent
Microsoft.Extensions.AI (22)
ChatCompletion\FunctionInvokingChatClient.cs (13)
32/// in <see cref="ChatOptions.Tools"/> (or in <see cref="AdditionalTools"/>), producing a <see cref="FunctionResultContent"/> 39/// to pass back out to the caller. It is then that caller's responsibility to create the appropriate <see cref="FunctionResultContent"/> 133/// the <see cref="FunctionResultContent.Exception"/> property. 921/// if there is a matching <see cref="FunctionResultContent"/> with the same <see cref="ToolCallContent.CallId"/> in the same set of messages, 935if (contents[j] is FunctionResultContent frc) 964/// if there is a matching <see cref="FunctionResultContent"/> with the same <see cref="ToolCallContent.CallId"/>, regardless of order. 984if (contents[j] is FunctionResultContent frc) 1226if (added.Any(static m => m.Contents.Any(static c => c is FunctionResultContent { Exception: not null }))) 1234.SelectMany(m => m.Contents.OfType<FunctionResultContent>()) 1278FunctionResultContent CreateFunctionResultContent(FunctionInvocationResult result) 1286if (result.Result is FunctionResultContent frc && 1331/// 3. Generate failed <see cref="FunctionResultContent"/> for any rejected <see cref="ToolApprovalResponseContent"/>. 1464case FunctionResultContent frc:
ChatCompletion\ImageGeneratingChatClient.cs (1)
339else if (content is FunctionResultContent functionResult &&
ChatReduction\MessageCountingChatReducer.cs (1)
57else if (!message.Contents.Any(m => m is FunctionCallContent or FunctionResultContent))
ChatReduction\SummarizingChatReducer.cs (1)
210or FunctionResultContent
Common\OtelMessageSerializer.cs (1)
86case FunctionResultContent frc:
Realtime\FunctionInvokingRealtimeClient.cs (1)
23/// in <see cref="CreateResponseRealtimeClientMessage.Tools"/> (or in <see cref="AdditionalTools"/>), producing a <see cref="FunctionResultContent"/>
Realtime\FunctionInvokingRealtimeClientSession.cs (3)
31/// in <see cref="CreateResponseRealtimeClientMessage.Tools"/> (or in <see cref="AdditionalTools"/>), producing a <see cref="FunctionResultContent"/> 38/// to pass back out to the caller. It is then that caller's responsibility to create the appropriate <see cref="FunctionResultContent"/> 382var functionResultContent = new FunctionResultContent(result.CallContent.CallId, resultValue)
Realtime\OpenTelemetryRealtimeClientSession.cs (1)
548case FunctionResultContent frc:
Microsoft.Extensions.AI.Abstractions (19)
Contents\AIContent.cs (1)
14[JsonDerivedType(typeof(FunctionResultContent), typeDiscriminator: "functionResult")]
Contents\FunctionResultContent.cs (1)
18/// Initializes a new instance of the <see cref="FunctionResultContent"/> class.
Contents\ToolResultContent.cs (1)
13[JsonDerivedType(typeof(FunctionResultContent), "functionResult")]
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.FunctionResultContent.g.cs (15)
15private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>? _FunctionResultContent; 21public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> FunctionResultContent 24get => _FunctionResultContent ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent)); 27private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> Create_FunctionResultContent(global::System.Text.Json.JsonSerializerOptions options) 29if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> jsonTypeInfo)) 31var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent> 37ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(string), typeof(object)}, modifiers: null), 41jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, objectInfo); 58DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent), 60Getter = static obj => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result, 61Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result = value!, 68AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetProperty("Result", InstanceMemberBindingFlags, null, typeof(object), global::System.Array.Empty<global::System.Type>(), null), 78DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
200if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent))
Microsoft.Extensions.AI.Abstractions.Tests (51)
AssertExtensions.cs (3)
44else if (expectedItem is FunctionResultContent expectedFunctionResult) 46var chatFunctionResult = (FunctionResultContent)chatItem;
ChatCompletion\ChatMessageTests.cs (4)
334var functionResultContent = deserializedMessage.Contents[5] as FunctionResultContent; 393var funcResult = Assert.IsType<FunctionResultContent>(result.Contents[2]);
Contents\FunctionResultContentTests.cs (16)
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); 98var content = new FunctionResultContent("call123", "result"); 100AssertSerializationRoundtrips<FunctionResultContent>(content); 104static void AssertSerializationRoundtrips<T>(FunctionResultContent content) 111var deserializedContent = Assert.IsType<FunctionResultContent>(deserialized); 134var funcResult = Assert.IsType<FunctionResultContent>(result);
Generated\361d1da7f942c932\TestJsonSerializerContext.FunctionResultContent.g.cs (15)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>? _FunctionResultContent; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> FunctionResultContent 22get => _FunctionResultContent ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> Create_FunctionResultContent(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent> 35ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(string), typeof(object)}, modifiers: null), 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, objectInfo); 56DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent), 58Getter = static obj => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result, 59Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result = value!, 66AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetProperty("Result", InstanceMemberBindingFlags, null, typeof(object), global::System.Array.Empty<global::System.Type>(), null), 76DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent),
Generated\361d1da7f942c932\TestJsonSerializerContext.FunctionResultContentArray.g.cs (10)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent[]>? _FunctionResultContentArray; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent[]> FunctionResultContentArray 22get => _FunctionResultContentArray ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent[]>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent[])); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent[]> Create_FunctionResultContentArray(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent[]>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent[]> jsonTypeInfo)) 29var info = new global::System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent[]> 35jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateArrayInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, info); 45private void FunctionResultContentArraySerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.FunctionResultContent[]? value)
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (2)
186if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent)) 190if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent[]))
TestJsonSerializerContext.cs (1)
49[JsonSerializable(typeof(FunctionResultContent[]))]
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.Evaluation.Reporting (16)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.FunctionResultContent.g.cs (15)
15private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>? _FunctionResultContent; 21public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> FunctionResultContent 24get => _FunctionResultContent ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent)); 27private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> Create_FunctionResultContent(global::System.Text.Json.JsonSerializerOptions options) 29if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> jsonTypeInfo)) 31var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent> 37ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(string), typeof(object)}, modifiers: null), 41jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, objectInfo); 58DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent), 60Getter = static obj => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result, 61Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result = value!, 68AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetProperty("Result", InstanceMemberBindingFlags, null, typeof(object), global::System.Array.Empty<global::System.Type>(), null), 78DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
164if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent))
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (16)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.FunctionResultContent.g.cs (15)
15private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>? _FunctionResultContent; 21public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> FunctionResultContent 24get => _FunctionResultContent ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent)); 27private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> Create_FunctionResultContent(global::System.Text.Json.JsonSerializerOptions options) 29if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> jsonTypeInfo)) 31var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent> 37ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(string), typeof(object)}, modifiers: null), 41jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, objectInfo); 58DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent), 60Getter = static obj => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result, 61Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result = value!, 68AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetProperty("Result", InstanceMemberBindingFlags, null, typeof(object), global::System.Array.Empty<global::System.Type>(), null), 78DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
160if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent))
Microsoft.Extensions.AI.Integration.Tests (1)
PromptBasedFunctionCallingChatClient.cs (1)
69if (message.Contents[itemIndex] is FunctionResultContent frc)
Microsoft.Extensions.AI.OpenAI (10)
OpenAIAssistantsChatClient.cs (7)
82(RunCreationOptions runOptions, ToolResources? toolResources, List<FunctionResultContent>? toolResults) = await CreateRunOptionsAsync(messages, options, cancellationToken).ConfigureAwait(false); 341private async ValueTask<(RunCreationOptions RunOptions, ToolResources? Resources, List<FunctionResultContent>? ToolResults)> CreateRunOptionsAsync( 507List<FunctionResultContent>? functionResults = null; 546case FunctionResultContent result when chatMessage.Role == ChatRole.Tool: 565/// <summary>Convert <see cref="FunctionResultContent"/> instances to <see cref="ToolOutput"/> instances.</summary> 569private static string? ConvertFunctionResultsToToolOutput(List<FunctionResultContent>? toolResults, out List<ToolOutput>? toolOutputs) 575foreach (var frc in toolResults)
OpenAIChatClient.cs (1)
185if (item is FunctionResultContent resultContent)
OpenAIRealtimeClientSession.cs (1)
636if (firstContent is FunctionResultContent functionResult)
OpenAIResponsesChatClient.cs (1)
1414case FunctionResultContent resultContent:
Microsoft.Extensions.AI.OpenAI.Tests (12)
OpenAIChatClientTests.cs (2)
1798var frc = Assert.IsType<FunctionResultContent>(Assert.Single(extMessages[0].Contents));
OpenAIConversionTests.cs (3)
1177Assert.Equal("Function output", convertedMessages[3].Contents.OfType<FunctionResultContent>().First().Result); 1326FunctionResultContent? functionResultContent = message.Contents.OfType<FunctionResultContent>().FirstOrDefault();
OpenAIResponseClientTests.cs (4)
6071var functionResultUpdate = updates.FirstOrDefault(u => u.Contents.OfType<FunctionResultContent>().Any()); 6074var frc = functionResultUpdate.Contents.OfType<FunctionResultContent>().Single(); 6092Assert.Single(message.Contents.OfType<FunctionResultContent>());
parent\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (3)
44else if (expectedItem is FunctionResultContent expectedFunctionResult) 46var chatFunctionResult = (FunctionResultContent)chatItem;
Microsoft.Extensions.AI.Stabilization.Tests (16)
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.FunctionResultContent.g.cs (15)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>? _FunctionResultContent; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> FunctionResultContent 22get => _FunctionResultContent ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> Create_FunctionResultContent(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent> 35ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(string), typeof(object)}, modifiers: null), 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, objectInfo); 56DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent), 58Getter = static obj => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result, 59Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result = value!, 66AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetProperty("Result", InstanceMemberBindingFlags, null, typeof(object), global::System.Array.Empty<global::System.Type>(), null), 76DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent),
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.GetJsonTypeInfo.g.cs (1)
70if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent))
Microsoft.Extensions.AI.Tests (96)
ChatCompletion\FunctionInvokingChatClientTests.cs (46)
362FunctionResultContent? returnedFrc = null; 431var capturedFrc = Assert.Single(toolMessage.Contents.OfType<FunctionResultContent>()); 443FunctionResultContent? returnedFrc = null; 511var frc = Assert.Single(toolMessage.Contents.OfType<FunctionResultContent>()); 514var innerFrc = (FunctionResultContent)frc.Result!; 595var capturedFrc = Assert.Single(toolMessage.Contents.OfType<FunctionResultContent>()); 1001Assert.Contains(content, c => c is FunctionCallContent or FunctionResultContent); 1220c => Assert.Equal("Result for Input 1", Assert.IsType<FunctionResultContent>(c).Result?.ToString()), 1221c => Assert.Equal("Result for Input 2", Assert.IsType<FunctionResultContent>(c).Result?.ToString())), 1259Assert.IsType<FunctionResultContent>(Assert.Single(response.Messages[1].Contents)); 1261Assert.IsType<FunctionResultContent>(Assert.Single(response.Messages[3].Contents)); 1361AIContent[] resultContents = existingSearchResult is not null && existingSearchResult.Contents.OfType<FunctionResultContent>().ToList() is { } frcs 1385var frcs = lastMessage.Contents.OfType<FunctionResultContent>().ToList(); 2064Assert.DoesNotContain(response.Messages, m => m.Contents.Any(c => c is FunctionResultContent)); 2135Assert.Contains(response.Messages, m => m.Contents.Any(c => c is FunctionResultContent frc && frc.CallId == "callId1")); 2136Assert.DoesNotContain(response.Messages, m => m.Contents.Any(c => c is FunctionResultContent frc && frc.CallId == "callId2")); 2183Assert.Contains(response.Messages, m => m.Contents.Any(c => c is FunctionResultContent frc && frc.CallId == "callId1")); 2434Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionB result")); 2439Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionB result")); 2530Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2539Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2635Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2637Assert.DoesNotContain(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2643Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2645Assert.DoesNotContain(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2738Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2740Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2746Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2748Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2840Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2842Assert.DoesNotContain(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2848Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 2850Assert.DoesNotContain(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 3015Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 3024Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 3119Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionA result")); 3129Assert.Contains(result.Messages, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionA result")); 3225Assert.DoesNotContain(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 3236Assert.DoesNotContain(result.Messages, m => m.Contents.OfType<FunctionResultContent>() 3504m.Contents.Any(c => c is FunctionResultContent frc2 && frc2.CallId == "callId1")); 3582m.Contents.Any(c => c is FunctionResultContent frc2 && frc2.CallId == "callId2")); 3640m.Contents.Any(c => c is FunctionResultContent frc2 && frc2.CallId == "callId1"));
ChatCompletion\ImageGeneratingChatClientTests.cs (12)
437var otherResult = Assert.IsType<FunctionResultContent>(contents[1]); 443var otherResult = Assert.IsType<FunctionResultContent>(contents[0]); 450var beforeResult = Assert.IsType<FunctionResultContent>(contents[0]); 514var otherResult = Assert.IsType<FunctionResultContent>(contents[1]); 520var otherResult = Assert.IsType<FunctionResultContent>(contents[0]); 527var beforeResult = Assert.IsType<FunctionResultContent>(contents[0]);
ChatReduction\MessageCountingChatReducerTests.cs (2)
144Assert.DoesNotContain(m.Contents, c => c is FunctionResultContent); 151Assert.DoesNotContain(m.Contents, c => c is FunctionResultContent);
ChatReduction\SummarizingChatReducerTests.cs (5)
107Assert.DoesNotContain(msgs, m => m.Contents.Any(c => c is FunctionCallContent or FunctionResultContent or TestInputRequestContent or TestInputResponseContent)); 125m => Assert.Contains(m.Contents, c => c is FunctionResultContent), 203Assert.DoesNotContain(msgList, m => m.Contents.Any(c => c is FunctionCallContent or FunctionResultContent or TestInputRequestContent or TestInputResponseContent)); 220Assert.Contains(resultList, m => m.Contents.Any(c => c is FunctionResultContent fr && fr.CallId == "call2")); 222Assert.DoesNotContain(resultList, m => m.Contents.Any(c => c is FunctionResultContent fr && fr.CallId == "call1"));
Generated\361d1da7f942c932\TestJsonSerializerContext.FunctionResultContent.g.cs (15)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>? _FunctionResultContent; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> FunctionResultContent 22get => _FunctionResultContent ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.FunctionResultContent)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> Create_FunctionResultContent(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.FunctionResultContent>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.FunctionResultContent> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.FunctionResultContent> 35ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(string), typeof(object)}, modifiers: null), 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.FunctionResultContent>(options, objectInfo); 56DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent), 58Getter = static obj => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result, 59Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.FunctionResultContent)obj).Result = value!, 66AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.FunctionResultContent).GetProperty("Result", InstanceMemberBindingFlags, null, typeof(object), global::System.Array.Empty<global::System.Type>(), null), 76DeclaringType = typeof(global::Microsoft.Extensions.AI.FunctionResultContent),
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
146if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent))
parent\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (3)
44else if (expectedItem is FunctionResultContent expectedFunctionResult) 46var chatFunctionResult = (FunctionResultContent)chatItem;
Realtime\FunctionInvokingRealtimeClientTests.cs (12)
129var functionResult = Assert.IsType<FunctionResultContent>(resultMsg.Item.Contents[0]); 171var functionResult = Assert.IsType<FunctionResultContent>(resultMsg.Item.Contents[0]); 278var functionResult = Assert.IsType<FunctionResultContent>(resultMsg.Item.Contents[0]); 316var functionResult = Assert.IsType<FunctionResultContent>(resultMsg.Item.Contents[0]); 353var functionResult = Assert.IsType<FunctionResultContent>(resultMsg.Item.Contents[0]); 437var functionResult = Assert.IsType<FunctionResultContent>(resultMsg.Item.Contents[0]);