Skip to content

Commit 644234d

Browse files
Update @github/copilot to 1.0.56-2 (#1495)
* Update @github/copilot to 1.0.56-2 - Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code * Added context tier property * Tests * Added Java --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
1 parent 1a2df53 commit 644234d

30 files changed

Lines changed: 508 additions & 82 deletions

dotnet/src/Client.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -889,6 +889,7 @@ public async Task<CopilotSession> CreateSessionAsync(SessionConfig config, Cance
889889
config.ClientName,
890890
config.ReasoningEffort,
891891
config.ReasoningSummary,
892+
config.ContextTier,
892893
config.Tools?.Select(ToolDefinition.FromAIFunction).ToList(),
893894
wireSystemMessage,
894895
toolFilter.AvailableTools,
@@ -1083,6 +1084,7 @@ public async Task<CopilotSession> ResumeSessionAsync(string sessionId, ResumeSes
10831084
config.Model,
10841085
config.ReasoningEffort,
10851086
config.ReasoningSummary,
1087+
config.ContextTier,
10861088
config.Tools?.Select(ToolDefinition.FromAIFunction).ToList(),
10871089
wireSystemMessage,
10881090
toolFilter.AvailableTools,
@@ -2274,6 +2276,7 @@ internal record CreateSessionRequest(
22742276
string? ClientName,
22752277
string? ReasoningEffort,
22762278
ReasoningSummary? ReasoningSummary,
2279+
string? ContextTier,
22772280
IList<ToolDefinition>? Tools,
22782281
SystemMessageConfig? SystemMessage,
22792282
IList<string>? AvailableTools,
@@ -2359,6 +2362,7 @@ internal record ResumeSessionRequest(
23592362
string? Model,
23602363
string? ReasoningEffort,
23612364
ReasoningSummary? ReasoningSummary,
2365+
string? ContextTier,
23622366
IList<ToolDefinition>? Tools,
23632367
SystemMessageConfig? SystemMessage,
23642368
IList<string>? AvailableTools,

dotnet/src/Generated/Rpc.cs

Lines changed: 69 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dotnet/src/Types.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2452,6 +2452,7 @@ protected SessionConfigBase(SessionConfigBase? other)
24522452
ManageScheduleEnabled = other.ManageScheduleEnabled;
24532453
ReasoningEffort = other.ReasoningEffort;
24542454
ReasoningSummary = other.ReasoningSummary;
2455+
ContextTier = other.ContextTier;
24552456
CreateSessionFsProvider = other.CreateSessionFsProvider;
24562457
GitHubToken = other.GitHubToken;
24572458
RemoteSession = other.RemoteSession;
@@ -2494,6 +2495,12 @@ protected SessionConfigBase(SessionConfigBase? other)
24942495
/// </remarks>
24952496
public ReasoningSummary? ReasoningSummary { get; set; }
24962497

2498+
/// <summary>
2499+
/// Context window tier for models that support it.
2500+
/// Valid values: "default", "long_context".
2501+
/// </summary>
2502+
public string? ContextTier { get; set; }
2503+
24972504
/// <summary>Per-property overrides for model capabilities, deep-merged over runtime defaults.</summary>
24982505
public ModelCapabilitiesOverride? ModelCapabilities { get; set; }
24992506

dotnet/test/Unit/CloneTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public void SessionConfig_Clone_CopiesAllProperties()
6969
Model = "gpt-4",
7070
ReasoningEffort = "high",
7171
ReasoningSummary = ReasoningSummary.Detailed,
72+
ContextTier = "long_context",
7273
ConfigDirectory = "/config",
7374
AvailableTools = ["tool1", "tool2"],
7475
ExcludedTools = ["tool3"],
@@ -107,6 +108,7 @@ public void SessionConfig_Clone_CopiesAllProperties()
107108
Assert.Equal(original.Model, clone.Model);
108109
Assert.Equal(original.ReasoningEffort, clone.ReasoningEffort);
109110
Assert.Equal(original.ReasoningSummary, clone.ReasoningSummary);
111+
Assert.Equal(original.ContextTier, clone.ContextTier);
110112
Assert.Equal(original.ConfigDirectory, clone.ConfigDirectory);
111113
Assert.Equal(original.AvailableTools, clone.AvailableTools);
112114
Assert.Equal(original.ExcludedTools, clone.ExcludedTools);
@@ -379,6 +381,19 @@ public void ResumeSessionConfig_Clone_CopiesReasoningSummary()
379381
Assert.Equal(original.ReasoningSummary, clone.ReasoningSummary);
380382
}
381383

384+
[Fact]
385+
public void ResumeSessionConfig_Clone_CopiesContextTier()
386+
{
387+
var original = new ResumeSessionConfig
388+
{
389+
ContextTier = "long_context",
390+
};
391+
392+
var clone = original.Clone();
393+
394+
Assert.Equal(original.ContextTier, clone.ContextTier);
395+
}
396+
382397
[Fact]
383398
public void ResumeSessionConfig_Clone_CopiesPluginDirectoriesAndLargeOutput()
384399
{

go/client.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,7 @@ func (c *Client) CreateSession(ctx context.Context, config *SessionConfig) (*Ses
605605
req.ClientName = config.ClientName
606606
req.ReasoningEffort = config.ReasoningEffort
607607
req.ReasoningSummary = config.ReasoningSummary
608+
req.ContextTier = config.ContextTier
608609
req.ConfigDir = config.ConfigDirectory
609610
if config.EnableConfigDiscovery {
610611
req.EnableConfigDiscovery = Bool(true)
@@ -917,6 +918,7 @@ func (c *Client) ResumeSessionWithOptions(ctx context.Context, sessionID string,
917918
req.Model = config.Model
918919
req.ReasoningEffort = config.ReasoningEffort
919920
req.ReasoningSummary = config.ReasoningSummary
921+
req.ContextTier = config.ContextTier
920922
systemMessage := c.systemMessageForMode(config.SystemMessage)
921923
wireSystemMessage, transformCallbacks := extractTransformCallbacks(systemMessage)
922924
req.SystemMessage = wireSystemMessage

go/client_test.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,38 @@ func TestSessionRequests_ReasoningSummary(t *testing.T) {
434434
})
435435
}
436436

437+
func TestSessionRequests_ContextTier(t *testing.T) {
438+
t.Run("create includes contextTier in JSON when set", func(t *testing.T) {
439+
req := createSessionRequest{ContextTier: "long_context"}
440+
data, err := json.Marshal(req)
441+
if err != nil {
442+
t.Fatalf("Failed to marshal: %v", err)
443+
}
444+
var m map[string]any
445+
if err := json.Unmarshal(data, &m); err != nil {
446+
t.Fatalf("Failed to unmarshal: %v", err)
447+
}
448+
if m["contextTier"] != "long_context" {
449+
t.Errorf("Expected contextTier to be 'long_context', got %v", m["contextTier"])
450+
}
451+
})
452+
453+
t.Run("resume includes contextTier in JSON when set", func(t *testing.T) {
454+
req := resumeSessionRequest{SessionID: "s1", ContextTier: "default"}
455+
data, err := json.Marshal(req)
456+
if err != nil {
457+
t.Fatalf("Failed to marshal: %v", err)
458+
}
459+
var m map[string]any
460+
if err := json.Unmarshal(data, &m); err != nil {
461+
t.Fatalf("Failed to unmarshal: %v", err)
462+
}
463+
if m["contextTier"] != "default" {
464+
t.Errorf("Expected contextTier to be 'default', got %v", m["contextTier"])
465+
}
466+
})
467+
}
468+
437469
func TestSessionRequests_PluginDirectoriesAndLargeOutput(t *testing.T) {
438470
pluginDirs := []string{"/tmp/plugins/a", "/tmp/plugins/b"}
439471
enabled := true

go/rpc/zrpc.go

Lines changed: 18 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/types.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,9 @@ type SessionConfig struct {
894894
// ReasoningSummary mode for models that support configurable reasoning summaries.
895895
// Use ReasoningSummaryNone to suppress summary output regardless of whether reasoning is enabled.
896896
ReasoningSummary ReasoningSummary
897+
// ContextTier pins the session to a context window tier for models that support it.
898+
// Valid values: "default", "long_context".
899+
ContextTier string
897900
// ConfigDirectory overrides the default configuration directory location.
898901
// When specified, the session will use this directory for storing config and state.
899902
ConfigDirectory string
@@ -1294,6 +1297,9 @@ type ResumeSessionConfig struct {
12941297
// ReasoningSummary mode for models that support configurable reasoning summaries.
12951298
// Use ReasoningSummaryNone to suppress summary output regardless of whether reasoning is enabled.
12961299
ReasoningSummary ReasoningSummary
1300+
// ContextTier pins the session to a context window tier for models that support it.
1301+
// Valid values: "default", "long_context".
1302+
ContextTier string
12971303
// OnPermissionRequest is an optional handler for permission requests from the server.
12981304
// When nil, permission requests are surfaced as events and left pending for the
12991305
// consumer to resolve via pending permission RPCs.
@@ -1654,6 +1660,7 @@ type createSessionRequest struct {
16541660
ClientName string `json:"clientName,omitempty"`
16551661
ReasoningEffort string `json:"reasoningEffort,omitempty"`
16561662
ReasoningSummary ReasoningSummary `json:"reasoningSummary,omitempty"`
1663+
ContextTier string `json:"contextTier,omitempty"`
16571664
Tools []Tool `json:"tools,omitempty"`
16581665
SystemMessage *SystemMessageConfig `json:"systemMessage,omitempty"`
16591666
AvailableTools []string `json:"availableTools"`
@@ -1731,6 +1738,7 @@ type resumeSessionRequest struct {
17311738
Model string `json:"model,omitempty"`
17321739
ReasoningEffort string `json:"reasoningEffort,omitempty"`
17331740
ReasoningSummary ReasoningSummary `json:"reasoningSummary,omitempty"`
1741+
ContextTier string `json:"contextTier,omitempty"`
17341742
Tools []Tool `json:"tools,omitempty"`
17351743
SystemMessage *SystemMessageConfig `json:"systemMessage,omitempty"`
17361744
AvailableTools []string `json:"availableTools"`

java/src/main/java/com/github/copilot/SessionRequestBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ static CreateSessionRequest buildCreateRequest(SessionConfig config, String sess
107107
request.setClientName(config.getClientName());
108108
request.setReasoningEffort(config.getReasoningEffort());
109109
request.setReasoningSummary(config.getReasoningSummary());
110+
request.setContextTier(config.getContextTier());
110111
request.setTools(config.getTools());
111112
request.setSystemMessage(config.getSystemMessage());
112113
request.setAvailableTools(config.getAvailableTools());
@@ -217,6 +218,7 @@ static ResumeSessionRequest buildResumeRequest(String sessionId, ResumeSessionCo
217218
request.setClientName(config.getClientName());
218219
request.setReasoningEffort(config.getReasoningEffort());
219220
request.setReasoningSummary(config.getReasoningSummary());
221+
request.setContextTier(config.getContextTier());
220222
request.setTools(config.getTools());
221223
request.setSystemMessage(config.getSystemMessage());
222224
request.setAvailableTools(config.getAvailableTools());

java/src/main/java/com/github/copilot/rpc/CreateSessionRequest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public final class CreateSessionRequest {
3939
@JsonProperty("reasoningSummary")
4040
private String reasoningSummary;
4141

42+
@JsonProperty("contextTier")
43+
private String contextTier;
44+
4245
@JsonProperty("tools")
4346
private List<ToolDefinition> tools;
4447

@@ -234,6 +237,16 @@ public void setReasoningSummary(String reasoningSummary) {
234237
this.reasoningSummary = reasoningSummary;
235238
}
236239

240+
/** Gets the context window tier. @return the context window tier */
241+
public String getContextTier() {
242+
return contextTier;
243+
}
244+
245+
/** Sets the context window tier. @param contextTier the context window tier */
246+
public void setContextTier(String contextTier) {
247+
this.contextTier = contextTier;
248+
}
249+
237250
/** Gets the tools. @return the tool definitions */
238251
public List<ToolDefinition> getTools() {
239252
return tools == null ? null : Collections.unmodifiableList(tools);

0 commit comments

Comments
 (0)