From b909cadbd679ecea41c5724104f65e035711e0de Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 22 Feb 2026 11:12:43 +0000
Subject: [PATCH] Update GitHub.Copilot.SDK to 0.1.25 and use Clone() to
replace custom SessionConfig copying
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
---
dotnet/Directory.Packages.props | 2 +-
.../GitHubCopilotAgent.cs | 27 +++----------------
.../GitHubCopilotAgentTests.cs | 4 +--
3 files changed, 7 insertions(+), 26 deletions(-)
diff --git a/dotnet/Directory.Packages.props b/dotnet/Directory.Packages.props
index 0de4409d53..3ed320863e 100644
--- a/dotnet/Directory.Packages.props
+++ b/dotnet/Directory.Packages.props
@@ -92,7 +92,7 @@
-
+
diff --git a/dotnet/src/Microsoft.Agents.AI.GitHub.Copilot/GitHubCopilotAgent.cs b/dotnet/src/Microsoft.Agents.AI.GitHub.Copilot/GitHubCopilotAgent.cs
index c966f591fc..8a33bf20c5 100644
--- a/dotnet/src/Microsoft.Agents.AI.GitHub.Copilot/GitHubCopilotAgent.cs
+++ b/dotnet/src/Microsoft.Agents.AI.GitHub.Copilot/GitHubCopilotAgent.cs
@@ -274,32 +274,13 @@ public sealed class GitHubCopilotAgent : AIAgent, IAsyncDisposable
}
///
- /// Copies all supported properties from a source into a new instance
- /// with set to true.
+ /// Clones the given and sets to true.
///
internal static SessionConfig CopySessionConfig(SessionConfig source)
{
- return new SessionConfig
- {
- Model = source.Model,
- ReasoningEffort = source.ReasoningEffort,
- Tools = source.Tools,
- SystemMessage = source.SystemMessage,
- AvailableTools = source.AvailableTools,
- ExcludedTools = source.ExcludedTools,
- Provider = source.Provider,
- OnPermissionRequest = source.OnPermissionRequest,
- OnUserInputRequest = source.OnUserInputRequest,
- Hooks = source.Hooks,
- WorkingDirectory = source.WorkingDirectory,
- ConfigDir = source.ConfigDir,
- McpServers = source.McpServers,
- CustomAgents = source.CustomAgents,
- SkillDirectories = source.SkillDirectories,
- DisabledSkills = source.DisabledSkills,
- InfiniteSessions = source.InfiniteSessions,
- Streaming = true
- };
+ SessionConfig copy = source.Clone();
+ copy.Streaming = true;
+ return copy;
}
///
diff --git a/dotnet/tests/Microsoft.Agents.AI.GitHub.Copilot.UnitTests/GitHubCopilotAgentTests.cs b/dotnet/tests/Microsoft.Agents.AI.GitHub.Copilot.UnitTests/GitHubCopilotAgentTests.cs
index 8a4d3c1068..9c0143736e 100644
--- a/dotnet/tests/Microsoft.Agents.AI.GitHub.Copilot.UnitTests/GitHubCopilotAgentTests.cs
+++ b/dotnet/tests/Microsoft.Agents.AI.GitHub.Copilot.UnitTests/GitHubCopilotAgentTests.cs
@@ -137,7 +137,7 @@ public sealed class GitHubCopilotAgentTests
// Assert
Assert.Equal("gpt-4o", result.Model);
Assert.Equal("high", result.ReasoningEffort);
- Assert.Same(tools, result.Tools);
+ Assert.Equal(tools, result.Tools);
Assert.Same(systemMessage, result.SystemMessage);
Assert.Equal(new List { "tool1", "tool2" }, result.AvailableTools);
Assert.Equal(new List { "tool3" }, result.ExcludedTools);
@@ -147,7 +147,7 @@ public sealed class GitHubCopilotAgentTests
Assert.Same(infiniteSessions, result.InfiniteSessions);
Assert.Same(permissionHandler, result.OnPermissionRequest);
Assert.Same(userInputHandler, result.OnUserInputRequest);
- Assert.Same(mcpServers, result.McpServers);
+ Assert.Equal(mcpServers, result.McpServers);
Assert.Equal(new List { "skill1" }, result.DisabledSkills);
Assert.True(result.Streaming);
}