From 53dd99018599fb0e93e1ccc65cf4d9790d1307b3 Mon Sep 17 00:00:00 2001
From: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
Date: Thu, 9 Apr 2026 09:30:43 +0100
Subject: [PATCH] Address breaking changes in 260408
---
dotnet/Directory.Packages.props | 6 +-
.../Hosting/AgentFrameworkResponseHandler.cs | 4 +-
.../Hosting/InputConverter.cs | 21 +++++
.../AgentFrameworkResponseHandlerTests.cs | 77 +++++++++----------
.../Hosting/WorkflowIntegrationTests.cs | 4 +-
5 files changed, 64 insertions(+), 48 deletions(-)
diff --git a/dotnet/Directory.Packages.props b/dotnet/Directory.Packages.props
index 2a7fc3ee9b..11628f4e38 100644
--- a/dotnet/Directory.Packages.props
+++ b/dotnet/Directory.Packages.props
@@ -19,9 +19,9 @@
-
-
-
+
+
+
diff --git a/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/AgentFrameworkResponseHandler.cs b/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/AgentFrameworkResponseHandler.cs
index eaacbc67a3..40ad435382 100644
--- a/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/AgentFrameworkResponseHandler.cs
+++ b/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/AgentFrameworkResponseHandler.cs
@@ -66,10 +66,10 @@ public class AgentFrameworkResponseHandler : ResponseHandler
}
// Load and convert current input items
- var inputItems = await context.GetInputItemsAsync(cancellationToken).ConfigureAwait(false);
+ var inputItems = await context.GetInputItemsAsync(cancellationToken: cancellationToken).ConfigureAwait(false);
if (inputItems.Count > 0)
{
- messages.AddRange(InputConverter.ConvertOutputItemsToMessages(inputItems));
+ messages.AddRange(InputConverter.ConvertItemsToMessages(inputItems));
}
else
{
diff --git a/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/InputConverter.cs b/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/InputConverter.cs
index 10554d4e5c..1d8be8f590 100644
--- a/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/InputConverter.cs
+++ b/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/InputConverter.cs
@@ -36,6 +36,27 @@ internal static class InputConverter
return messages;
}
+ ///
+ /// Converts resolved SDK input items into instances.
+ ///
+ /// The resolved input items from the SDK context.
+ /// A list of chat messages.
+ public static List ConvertItemsToMessages(IReadOnlyList- items)
+ {
+ var messages = new List();
+
+ foreach (var item in items)
+ {
+ var message = ConvertInputItemToMessage(item);
+ if (message is not null)
+ {
+ messages.Add(message);
+ }
+ }
+
+ return messages;
+ }
+
///
/// Converts resolved SDK history/input items into instances.
///
diff --git a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/AgentFrameworkResponseHandlerTests.cs b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/AgentFrameworkResponseHandlerTests.cs
index b1bdd31916..eac5c60263 100644
--- a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/AgentFrameworkResponseHandlerTests.cs
+++ b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/AgentFrameworkResponseHandlerTests.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Microsoft. All rights reserved.
+// Copyright (c) Microsoft. All rights reserved.
using System;
using System.Collections.Generic;
@@ -43,8 +43,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -82,8 +82,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -116,8 +116,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act & Assert
await Assert.ThrowsAsync(async () =>
@@ -164,8 +164,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -203,8 +203,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -241,8 +241,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -277,8 +277,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act & Assert
var ex = await Assert.ThrowsAsync(async () =>
@@ -310,8 +310,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act & Assert
var ex = await Assert.ThrowsAsync(async () =>
@@ -343,8 +343,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -396,8 +396,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(new OutputItem[] { historyItem });
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -431,20 +431,15 @@ public class AgentFrameworkResponseHandlerTests
content = new[] { new { type = "input_text", text = "Raw input" } } }
});
- var inputItem = new OutputItemMessage(
- id: "input_1",
- role: MessageRole.Assistant,
- content: [new MessageContentOutputTextContent(
- "Resolved input",
- Array.Empty(),
- Array.Empty())],
- status: MessageStatus.Completed);
+ var inputItem = new ItemMessage(
+ MessageRole.Assistant,
+ [new MessageContentInputTextContent("Resolved input")]);
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(new OutputItem[] { inputItem });
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(new Item[] { inputItem });
// Act
var events = new List();
@@ -481,8 +476,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -521,8 +516,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -558,8 +553,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act — collect all events
var events = new List();
@@ -600,8 +595,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
// Act
var events = new List();
@@ -636,8 +631,8 @@ public class AgentFrameworkResponseHandlerTests
var mockContext = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mockContext.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mockContext.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
using var cts = new CancellationTokenSource();
cts.Cancel();
diff --git a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/WorkflowIntegrationTests.cs b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/WorkflowIntegrationTests.cs
index 66924bdcba..be78f8046d 100644
--- a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/WorkflowIntegrationTests.cs
+++ b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/WorkflowIntegrationTests.cs
@@ -383,8 +383,8 @@ public class WorkflowIntegrationTests
var mock = new Mock("resp_" + new string('0', 46)) { CallBase = true };
mock.Setup(x => x.GetHistoryAsync(It.IsAny()))
.ReturnsAsync(Array.Empty());
- mock.Setup(x => x.GetInputItemsAsync(It.IsAny()))
- .ReturnsAsync(Array.Empty());
+ mock.Setup(x => x.GetInputItemsAsync(It.IsAny(), It.IsAny()))
+ .ReturnsAsync(Array.Empty
- ());
return mock;
}