From a70a670391ae2628f45d1a8a10fad17353798754 Mon Sep 17 00:00:00 2001
From: westey <164392973+westey-m@users.noreply.github.com>
Date: Sat, 22 Mar 2025 09:06:50 +0000
Subject: [PATCH 1/3] Move invoke tests to subfolder
---
.../{ => InvokeConformance}/AzureAIAgentInvokeTests.cs | 2 +-
.../{ => InvokeConformance}/ChatCompletionAgentInvokeTests.cs | 2 +-
.../{ => InvokeConformance}/InvokeTests.cs | 2 +-
.../{ => InvokeConformance}/OpenAIAssistantAgentInvokeTests.cs | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
rename dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/{ => InvokeConformance}/AzureAIAgentInvokeTests.cs (87%)
rename dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/{ => InvokeConformance}/ChatCompletionAgentInvokeTests.cs (87%)
rename dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/{ => InvokeConformance}/InvokeTests.cs (99%)
rename dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/{ => InvokeConformance}/OpenAIAssistantAgentInvokeTests.cs (87%)
diff --git a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/AzureAIAgentInvokeTests.cs b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/AzureAIAgentInvokeTests.cs
similarity index 87%
rename from dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/AzureAIAgentInvokeTests.cs
rename to dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/AzureAIAgentInvokeTests.cs
index 5ee777fe67f5..eeb0ce918c5e 100644
--- a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/AzureAIAgentInvokeTests.cs
+++ b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/AzureAIAgentInvokeTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft. All rights reserved.
-namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance;
+namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance.InvokeConformance;
public class AzureAIAgentInvokeTests() : InvokeTests(() => new AzureAIAgentFixture())
{
diff --git a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/ChatCompletionAgentInvokeTests.cs b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/ChatCompletionAgentInvokeTests.cs
similarity index 87%
rename from dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/ChatCompletionAgentInvokeTests.cs
rename to dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/ChatCompletionAgentInvokeTests.cs
index a234260e4620..8424163eb939 100644
--- a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/ChatCompletionAgentInvokeTests.cs
+++ b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/ChatCompletionAgentInvokeTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft. All rights reserved.
-namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance;
+namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance.InvokeConformance;
public class ChatCompletionAgentInvokeTests() : InvokeTests(() => new ChatCompletionAgentFixture())
{
diff --git a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeTests.cs b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/InvokeTests.cs
similarity index 99%
rename from dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeTests.cs
rename to dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/InvokeTests.cs
index 3b1afcd796b9..0c98936b7f02 100644
--- a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeTests.cs
+++ b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/InvokeTests.cs
@@ -8,7 +8,7 @@
using Microsoft.SemanticKernel.Agents;
using Xunit;
-namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance;
+namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance.InvokeConformance;
///
/// Base test class for testing the method of agents.
diff --git a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/OpenAIAssistantAgentInvokeTests.cs b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/OpenAIAssistantAgentInvokeTests.cs
similarity index 87%
rename from dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/OpenAIAssistantAgentInvokeTests.cs
rename to dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/OpenAIAssistantAgentInvokeTests.cs
index 31e63181d910..82d81c7820a8 100644
--- a/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/OpenAIAssistantAgentInvokeTests.cs
+++ b/dotnet/src/IntegrationTests/Agents/CommonInterfaceConformance/InvokeConformance/OpenAIAssistantAgentInvokeTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft. All rights reserved.
-namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance;
+namespace SemanticKernel.IntegrationTests.Agents.CommonInterfaceConformance.InvokeConformance;
public class OpenAIAssistantAgentInvokeTests() : InvokeTests(() => new OpenAIAssistantAgentFixture())
{
From 6dd0a21bd6f0fd10a7e1b3152b00636e0cff1229 Mon Sep 17 00:00:00 2001
From: westey <164392973+westey-m@users.noreply.github.com>
Date: Sat, 22 Mar 2025 09:36:42 +0000
Subject: [PATCH 2/3] Add implicit cast operator from response item to message
---
dotnet/src/Agents/Abstractions/AgentResponseItem.cs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dotnet/src/Agents/Abstractions/AgentResponseItem.cs b/dotnet/src/Agents/Abstractions/AgentResponseItem.cs
index e6fca3c1438d..227a1afc0f8e 100644
--- a/dotnet/src/Agents/Abstractions/AgentResponseItem.cs
+++ b/dotnet/src/Agents/Abstractions/AgentResponseItem.cs
@@ -33,4 +33,10 @@ public AgentResponseItem(TMessage message, AgentThread thread)
/// Gets the conversation thread associated with the response.
///
public AgentThread Thread => this._thread;
+
+ ///
+ /// Implicitly converts an to a or .
+ ///
+ ///
+ public static implicit operator TMessage(AgentResponseItem responseItem) => responseItem.Message;
}
From fac3850f667bae7af50001b057f7690247475f7c Mon Sep 17 00:00:00 2001
From: westey <164392973+westey-m@users.noreply.github.com>
Date: Sat, 22 Mar 2025 09:41:08 +0000
Subject: [PATCH 3/3] Mark GetMessagesAsync as experimental for each Thread
implementation
---
dotnet/src/Agents/AzureAI/AzureAIAgentThread.cs | 2 ++
dotnet/src/Agents/Core/ChatHistoryAgentThread.cs | 2 ++
dotnet/src/Agents/OpenAI/OpenAIAssistantAgentThread.cs | 2 ++
3 files changed, 6 insertions(+)
diff --git a/dotnet/src/Agents/AzureAI/AzureAIAgentThread.cs b/dotnet/src/Agents/AzureAI/AzureAIAgentThread.cs
index 140d2f37def1..d49e2d428252 100644
--- a/dotnet/src/Agents/AzureAI/AzureAIAgentThread.cs
+++ b/dotnet/src/Agents/AzureAI/AzureAIAgentThread.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
@@ -113,6 +114,7 @@ public override async Task OnNewMessageAsync(ChatMessageContent newMessage, Canc
}
///
+ [Experimental("SKEXP0110")]
public async IAsyncEnumerable GetMessagesAsync([EnumeratorCancellation] CancellationToken cancellationToken = default)
{
if (this._isDeleted)
diff --git a/dotnet/src/Agents/Core/ChatHistoryAgentThread.cs b/dotnet/src/Agents/Core/ChatHistoryAgentThread.cs
index 889cae3b1f92..f2b75c793a11 100644
--- a/dotnet/src/Agents/Core/ChatHistoryAgentThread.cs
+++ b/dotnet/src/Agents/Core/ChatHistoryAgentThread.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
@@ -94,6 +95,7 @@ public async override Task OnNewMessageAsync(ChatMessageContent newMessage, Canc
}
///
+ [Experimental("SKEXP0110")]
public async IAsyncEnumerable GetMessagesAsync([EnumeratorCancellation] CancellationToken cancellationToken = default)
{
if (this._isDeleted)
diff --git a/dotnet/src/Agents/OpenAI/OpenAIAssistantAgentThread.cs b/dotnet/src/Agents/OpenAI/OpenAIAssistantAgentThread.cs
index bc504e934e8c..a7765f95c789 100644
--- a/dotnet/src/Agents/OpenAI/OpenAIAssistantAgentThread.cs
+++ b/dotnet/src/Agents/OpenAI/OpenAIAssistantAgentThread.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
@@ -105,6 +106,7 @@ public override async Task OnNewMessageAsync(ChatMessageContent newMessage, Canc
}
///
+ [Experimental("SKEXP0110")]
public async IAsyncEnumerable GetMessagesAsync([EnumeratorCancellation] CancellationToken cancellationToken = default)
{
if (this._isDeleted)