Skip to content

Commit 14c3a81

Browse files
Update @github/copilot dependency and run codegenerators
1 parent 1f2622a commit 14c3a81

File tree

10 files changed

+822
-52
lines changed

10 files changed

+822
-52
lines changed

dotnet/src/Generated/Rpc.cs

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,98 @@ internal class StartRequest
346346
public string? Prompt { get; set; }
347347
}
348348

349+
public class Agent
350+
{
351+
/// <summary>Unique identifier of the custom agent</summary>
352+
[JsonPropertyName("name")]
353+
public string Name { get; set; } = string.Empty;
354+
355+
/// <summary>Human-readable display name</summary>
356+
[JsonPropertyName("displayName")]
357+
public string DisplayName { get; set; } = string.Empty;
358+
359+
/// <summary>Description of the agent's purpose</summary>
360+
[JsonPropertyName("description")]
361+
public string Description { get; set; } = string.Empty;
362+
}
363+
364+
public class SessionAgentListResult
365+
{
366+
/// <summary>Available custom agents</summary>
367+
[JsonPropertyName("agents")]
368+
public List<Agent> Agents { get; set; } = new();
369+
}
370+
371+
public class SessionAgentGetCurrentResult
372+
{
373+
/// <summary>Currently selected custom agent, or null if using the default agent</summary>
374+
[JsonPropertyName("agent")]
375+
public object? Agent { get; set; }
376+
}
377+
378+
/// <summary>The newly selected custom agent</summary>
379+
public class SessionAgentSelectResultAgent
380+
{
381+
/// <summary>Unique identifier of the custom agent</summary>
382+
[JsonPropertyName("name")]
383+
public string Name { get; set; } = string.Empty;
384+
385+
/// <summary>Human-readable display name</summary>
386+
[JsonPropertyName("displayName")]
387+
public string DisplayName { get; set; } = string.Empty;
388+
389+
/// <summary>Description of the agent's purpose</summary>
390+
[JsonPropertyName("description")]
391+
public string Description { get; set; } = string.Empty;
392+
}
393+
394+
public class SessionAgentSelectResult
395+
{
396+
/// <summary>The newly selected custom agent</summary>
397+
[JsonPropertyName("agent")]
398+
public SessionAgentSelectResultAgent Agent { get; set; } = new();
399+
}
400+
401+
internal class SelectRequest
402+
{
403+
[JsonPropertyName("sessionId")]
404+
public string SessionId { get; set; } = string.Empty;
405+
406+
[JsonPropertyName("name")]
407+
public string Name { get; set; } = string.Empty;
408+
}
409+
410+
public class SessionAgentDeselectResult
411+
{
412+
}
413+
414+
internal class DeselectRequest
415+
{
416+
[JsonPropertyName("sessionId")]
417+
public string SessionId { get; set; } = string.Empty;
418+
}
419+
420+
public class SessionCompactionCompactResult
421+
{
422+
/// <summary>Whether compaction completed successfully</summary>
423+
[JsonPropertyName("success")]
424+
public bool Success { get; set; }
425+
426+
/// <summary>Number of tokens freed by compaction</summary>
427+
[JsonPropertyName("tokensRemoved")]
428+
public double TokensRemoved { get; set; }
429+
430+
/// <summary>Number of messages removed during compaction</summary>
431+
[JsonPropertyName("messagesRemoved")]
432+
public double MessagesRemoved { get; set; }
433+
}
434+
435+
internal class CompactRequest
436+
{
437+
[JsonPropertyName("sessionId")]
438+
public string SessionId { get; set; } = string.Empty;
439+
}
440+
349441
[JsonConverter(typeof(JsonStringEnumConverter<SessionModeGetResultMode>))]
350442
public enum SessionModeGetResultMode
351443
{
@@ -455,6 +547,8 @@ internal SessionRpc(JsonRpc rpc, string sessionId)
455547
Plan = new PlanApi(rpc, sessionId);
456548
Workspace = new WorkspaceApi(rpc, sessionId);
457549
Fleet = new FleetApi(rpc, sessionId);
550+
Agent = new AgentApi(rpc, sessionId);
551+
Compaction = new CompactionApi(rpc, sessionId);
458552
}
459553

460554
public ModelApi Model { get; }
@@ -466,6 +560,10 @@ internal SessionRpc(JsonRpc rpc, string sessionId)
466560
public WorkspaceApi Workspace { get; }
467561

468562
public FleetApi Fleet { get; }
563+
564+
public AgentApi Agent { get; }
565+
566+
public CompactionApi Compaction { get; }
469567
}
470568

471569
public class ModelApi
@@ -605,14 +703,76 @@ public async Task<SessionFleetStartResult> StartAsync(string? prompt, Cancellati
605703
}
606704
}
607705

706+
public class AgentApi
707+
{
708+
private readonly JsonRpc _rpc;
709+
private readonly string _sessionId;
710+
711+
internal AgentApi(JsonRpc rpc, string sessionId)
712+
{
713+
_rpc = rpc;
714+
_sessionId = sessionId;
715+
}
716+
717+
/// <summary>Calls "session.agent.list".</summary>
718+
public async Task<SessionAgentListResult> ListAsync(CancellationToken cancellationToken = default)
719+
{
720+
var request = new ListRequest { SessionId = _sessionId };
721+
return await CopilotClient.InvokeRpcAsync<SessionAgentListResult>(_rpc, "session.agent.list", [request], cancellationToken);
722+
}
723+
724+
/// <summary>Calls "session.agent.getCurrent".</summary>
725+
public async Task<SessionAgentGetCurrentResult> GetCurrentAsync(CancellationToken cancellationToken = default)
726+
{
727+
var request = new GetCurrentRequest { SessionId = _sessionId };
728+
return await CopilotClient.InvokeRpcAsync<SessionAgentGetCurrentResult>(_rpc, "session.agent.getCurrent", [request], cancellationToken);
729+
}
730+
731+
/// <summary>Calls "session.agent.select".</summary>
732+
public async Task<SessionAgentSelectResult> SelectAsync(string name, CancellationToken cancellationToken = default)
733+
{
734+
var request = new SelectRequest { SessionId = _sessionId, Name = name };
735+
return await CopilotClient.InvokeRpcAsync<SessionAgentSelectResult>(_rpc, "session.agent.select", [request], cancellationToken);
736+
}
737+
738+
/// <summary>Calls "session.agent.deselect".</summary>
739+
public async Task<SessionAgentDeselectResult> DeselectAsync(CancellationToken cancellationToken = default)
740+
{
741+
var request = new DeselectRequest { SessionId = _sessionId };
742+
return await CopilotClient.InvokeRpcAsync<SessionAgentDeselectResult>(_rpc, "session.agent.deselect", [request], cancellationToken);
743+
}
744+
}
745+
746+
public class CompactionApi
747+
{
748+
private readonly JsonRpc _rpc;
749+
private readonly string _sessionId;
750+
751+
internal CompactionApi(JsonRpc rpc, string sessionId)
752+
{
753+
_rpc = rpc;
754+
_sessionId = sessionId;
755+
}
756+
757+
/// <summary>Calls "session.compaction.compact".</summary>
758+
public async Task<SessionCompactionCompactResult> CompactAsync(CancellationToken cancellationToken = default)
759+
{
760+
var request = new CompactRequest { SessionId = _sessionId };
761+
return await CopilotClient.InvokeRpcAsync<SessionCompactionCompactResult>(_rpc, "session.compaction.compact", [request], cancellationToken);
762+
}
763+
}
764+
608765
[JsonSourceGenerationOptions(
609766
JsonSerializerDefaults.Web,
610767
AllowOutOfOrderMetadataProperties = true,
611768
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)]
612769
[JsonSerializable(typeof(AccountGetQuotaResult))]
613770
[JsonSerializable(typeof(AccountGetQuotaResultQuotaSnapshotsValue))]
771+
[JsonSerializable(typeof(Agent))]
772+
[JsonSerializable(typeof(CompactRequest))]
614773
[JsonSerializable(typeof(CreateFileRequest))]
615774
[JsonSerializable(typeof(DeleteRequest))]
775+
[JsonSerializable(typeof(DeselectRequest))]
616776
[JsonSerializable(typeof(GetCurrentRequest))]
617777
[JsonSerializable(typeof(GetRequest))]
618778
[JsonSerializable(typeof(ListFilesRequest))]
@@ -628,6 +788,13 @@ public async Task<SessionFleetStartResult> StartAsync(string? prompt, Cancellati
628788
[JsonSerializable(typeof(PingResult))]
629789
[JsonSerializable(typeof(ReadFileRequest))]
630790
[JsonSerializable(typeof(ReadRequest))]
791+
[JsonSerializable(typeof(SelectRequest))]
792+
[JsonSerializable(typeof(SessionAgentDeselectResult))]
793+
[JsonSerializable(typeof(SessionAgentGetCurrentResult))]
794+
[JsonSerializable(typeof(SessionAgentListResult))]
795+
[JsonSerializable(typeof(SessionAgentSelectResult))]
796+
[JsonSerializable(typeof(SessionAgentSelectResultAgent))]
797+
[JsonSerializable(typeof(SessionCompactionCompactResult))]
631798
[JsonSerializable(typeof(SessionFleetStartResult))]
632799
[JsonSerializable(typeof(SessionModeGetResult))]
633800
[JsonSerializable(typeof(SessionModeSetResult))]

dotnet/src/Generated/SessionEvents.cs

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ namespace GitHub.Copilot.SDK;
2222
[JsonDerivedType(typeof(AssistantMessageDeltaEvent), "assistant.message_delta")]
2323
[JsonDerivedType(typeof(AssistantReasoningEvent), "assistant.reasoning")]
2424
[JsonDerivedType(typeof(AssistantReasoningDeltaEvent), "assistant.reasoning_delta")]
25+
[JsonDerivedType(typeof(AssistantStreamingDeltaEvent), "assistant.streaming_delta")]
2526
[JsonDerivedType(typeof(AssistantTurnEndEvent), "assistant.turn_end")]
2627
[JsonDerivedType(typeof(AssistantTurnStartEvent), "assistant.turn_start")]
2728
[JsonDerivedType(typeof(AssistantUsageEvent), "assistant.usage")]
@@ -42,6 +43,7 @@ namespace GitHub.Copilot.SDK;
4243
[JsonDerivedType(typeof(SessionShutdownEvent), "session.shutdown")]
4344
[JsonDerivedType(typeof(SessionSnapshotRewindEvent), "session.snapshot_rewind")]
4445
[JsonDerivedType(typeof(SessionStartEvent), "session.start")]
46+
[JsonDerivedType(typeof(SessionTaskCompleteEvent), "session.task_complete")]
4547
[JsonDerivedType(typeof(SessionTitleChangedEvent), "session.title_changed")]
4648
[JsonDerivedType(typeof(SessionTruncationEvent), "session.truncation")]
4749
[JsonDerivedType(typeof(SessionUsageInfoEvent), "session.usage_info")]
@@ -315,6 +317,18 @@ public partial class SessionCompactionCompleteEvent : SessionEvent
315317
public required SessionCompactionCompleteData Data { get; set; }
316318
}
317319

320+
/// <summary>
321+
/// Event: session.task_complete
322+
/// </summary>
323+
public partial class SessionTaskCompleteEvent : SessionEvent
324+
{
325+
[JsonIgnore]
326+
public override string Type => "session.task_complete";
327+
328+
[JsonPropertyName("data")]
329+
public required SessionTaskCompleteData Data { get; set; }
330+
}
331+
318332
/// <summary>
319333
/// Event: user.message
320334
/// </summary>
@@ -387,6 +401,18 @@ public partial class AssistantReasoningDeltaEvent : SessionEvent
387401
public required AssistantReasoningDeltaData Data { get; set; }
388402
}
389403

404+
/// <summary>
405+
/// Event: assistant.streaming_delta
406+
/// </summary>
407+
public partial class AssistantStreamingDeltaEvent : SessionEvent
408+
{
409+
[JsonIgnore]
410+
public override string Type => "assistant.streaming_delta";
411+
412+
[JsonPropertyName("data")]
413+
public required AssistantStreamingDeltaData Data { get; set; }
414+
}
415+
390416
/// <summary>
391417
/// Event: assistant.message
392418
/// </summary>
@@ -899,6 +925,13 @@ public partial class SessionCompactionCompleteData
899925
public string? RequestId { get; set; }
900926
}
901927

928+
public partial class SessionTaskCompleteData
929+
{
930+
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
931+
[JsonPropertyName("summary")]
932+
public string? Summary { get; set; }
933+
}
934+
902935
public partial class UserMessageData
903936
{
904937
[JsonPropertyName("content")]
@@ -955,6 +988,12 @@ public partial class AssistantReasoningDeltaData
955988
public required string DeltaContent { get; set; }
956989
}
957990

991+
public partial class AssistantStreamingDeltaData
992+
{
993+
[JsonPropertyName("totalResponseSizeBytes")]
994+
public required double TotalResponseSizeBytes { get; set; }
995+
}
996+
958997
public partial class AssistantMessageData
959998
{
960999
[JsonPropertyName("messageId")]
@@ -996,10 +1035,6 @@ public partial class AssistantMessageDeltaData
9961035
[JsonPropertyName("deltaContent")]
9971036
public required string DeltaContent { get; set; }
9981037

999-
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
1000-
[JsonPropertyName("totalResponseSizeBytes")]
1001-
public double? TotalResponseSizeBytes { get; set; }
1002-
10031038
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
10041039
[JsonPropertyName("parentToolCallId")]
10051040
public string? ParentToolCallId { get; set; }
@@ -1736,6 +1771,8 @@ public enum SystemMessageDataRole
17361771
[JsonSerializable(typeof(AssistantReasoningDeltaData))]
17371772
[JsonSerializable(typeof(AssistantReasoningDeltaEvent))]
17381773
[JsonSerializable(typeof(AssistantReasoningEvent))]
1774+
[JsonSerializable(typeof(AssistantStreamingDeltaData))]
1775+
[JsonSerializable(typeof(AssistantStreamingDeltaEvent))]
17391776
[JsonSerializable(typeof(AssistantTurnEndData))]
17401777
[JsonSerializable(typeof(AssistantTurnEndEvent))]
17411778
[JsonSerializable(typeof(AssistantTurnStartData))]
@@ -1783,6 +1820,8 @@ public enum SystemMessageDataRole
17831820
[JsonSerializable(typeof(SessionStartData))]
17841821
[JsonSerializable(typeof(SessionStartDataContext))]
17851822
[JsonSerializable(typeof(SessionStartEvent))]
1823+
[JsonSerializable(typeof(SessionTaskCompleteData))]
1824+
[JsonSerializable(typeof(SessionTaskCompleteEvent))]
17861825
[JsonSerializable(typeof(SessionTitleChangedData))]
17871826
[JsonSerializable(typeof(SessionTitleChangedEvent))]
17881827
[JsonSerializable(typeof(SessionTruncationData))]

go/generated_session_events.go

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)