Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
f57dc91
Regenerate RPC bindings for managedSettings.clearCache
joshspicer Aug 28, 2026
7947421
Regenerate Java codegen output
github-actions[bot] Aug 28, 2026
02b459d
Merge branch 'main' into agents/managed-settings-clear-cache
joshspicer Sep 1, 2026
3e2059c
Regenerate Java managed settings clear-cache binding
joshspicer Sep 1, 2026
52bbe78
Regenerate Java codegen output
github-actions[bot] Sep 1, 2026
cb3f640
Merge remote-tracking branch 'refs/remotes/origin/pr-2438' into agent…
joshspicer Sep 2, 2026
ddaaf2d
Regenerate clear-cache bindings from runtime schema
joshspicer Sep 2, 2026
de4bc72
Regenerate Java codegen output
github-actions[bot] Sep 2, 2026
c7e6d3d
Merge remote-tracking branch 'origin/main' into agents/update-pr-runt…
joshspicer Sep 3, 2026
21c0885
Regenerate Java managed settings clear-cache binding
joshspicer Sep 3, 2026
497aa9e
Regenerate Java codegen output
github-actions[bot] Sep 3, 2026
1e3db79
Merge remote-tracking branch 'origin/main' into agents/update-pr-runt…
joshspicer Sep 3, 2026
e53c1fe
Update Copilot CLI to 1.0.83-4
github-actions[bot] Sep 3, 2026
9bfebad
Update Copilot CLI to 1.0.83-4
Copilot Sep 3, 2026
60da1d8
Add managed settings clear-cache E2E coverage
joshspicer Sep 3, 2026
8ee5f13
Merge remote-tracking branch 'origin/agents/managed-settings-clear-ca…
joshspicer Sep 3, 2026
5273796
Keep clear-cache E2E on default transport
joshspicer Sep 3, 2026
da13441
Merge remote-tracking branch 'origin/main' into agents/update-pr-runt…
joshspicer Sep 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,353 changes: 1,332 additions & 21 deletions dotnet/src/Generated/Rpc.cs

Large diffs are not rendered by default.

158 changes: 158 additions & 0 deletions dotnet/src/Generated/SessionEvents.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions dotnet/test/E2E/RpcServerE2ETests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,15 @@ public async Task Should_Call_Rpc_Ping_With_Typed_Params_And_Result()
Assert.NotEqual(default, result.Timestamp);
}

[Fact]
[Trait(E2ETestTraits.Backend, E2ETestTraits.CapiOnly)]
public async Task Should_Clear_The_Managed_Settings_Cache()
{
await Client.StartAsync();

await Client.Rpc.ManagedSettings.ClearCacheAsync();
}

[Fact]
public async Task Should_Reject_Llm_Inference_Response_Frames_For_Missing_Request()
{
Expand Down
29 changes: 29 additions & 0 deletions dotnet/test/Unit/SerializationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1156,6 +1156,35 @@ public void QueuePendingItems_MessageId_UsesCamelCaseAndIsOptional(string? messa
}
#pragma warning restore GHCP001

[Fact]
public void ModelSwitchRequests_DistinguishRequiredNullFromOmittedOptionalValue()
{
var options = GetSerializerOptions();
var assembly = typeof(CopilotClient).Assembly;

var switchAutoTierType = assembly.GetType("GitHub.Copilot.Rpc.ModelSwitchAutoTierRequest");
Assert.NotNull(switchAutoTierType);
var switchAutoTierRequest = CreateInternalRequest(
switchAutoTierType!,
("SessionId", "session-id"),
("AutoTier", null));
using var switchAutoTierDocument = JsonDocument.Parse(
JsonSerializer.Serialize(switchAutoTierRequest, switchAutoTierType!, options));
Assert.True(switchAutoTierDocument.RootElement.TryGetProperty("autoTier", out var requiredAutoTier));
Assert.Equal(JsonValueKind.Null, requiredAutoTier.ValueKind);

var switchToType = assembly.GetType("GitHub.Copilot.Rpc.ModelSwitchToRequest");
Assert.NotNull(switchToType);
var switchToRequest = CreateInternalRequest(
switchToType!,
("SessionId", "session-id"),
("ModelId", "auto"),
("AutoTier", null));
using var switchToDocument = JsonDocument.Parse(
JsonSerializer.Serialize(switchToRequest, switchToType!, options));
Assert.False(switchToDocument.RootElement.TryGetProperty("autoTier", out _));
}

private static JsonSerializerOptions GetSerializerOptions()
{
var prop = typeof(CopilotClient)
Expand Down
15 changes: 15 additions & 0 deletions go/internal/e2e/rpc_server_e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,21 @@ import (
// Mirrors dotnet/test/RpcServerTests.cs (snapshot category "rpc_server").
// Tests server-scoped (non-session) RPCs.
func TestRPCServerE2E(t *testing.T) {
t.Run("should clear the managed settings cache", func(t *testing.T) {
ctx := testharness.NewTestContext(t)
ctx.ConfigureForTest(t)
client := ctx.NewClient()
t.Cleanup(func() { client.ForceStop() })

if err := client.Start(t.Context()); err != nil {
t.Fatalf("Start failed: %v", err)
}

if _, err := client.RPC.ManagedSettings.ClearCache(t.Context()); err != nil {
t.Fatalf("ManagedSettings.ClearCache failed: %v", err)
}
})

t.Run("should call rpc ping with typed params and result", func(t *testing.T) {
ctx := testharness.NewTestContext(t)
ctx.ConfigureForTest(t)
Expand Down
Loading
Loading