Skip to content

Commit 50480cf

Browse files
patnikoCopilot
andcommitted
chore: regenerate types from v1.0.2 CLI schemas
Regenerate session-events and RPC types from the @github/copilot@1.0.2 schemas. This adds the new v3 event types (external_tool.requested, permission.completed, external_tool.completed) and new session-scoped RPC methods (tools.handlePendingToolCall, permissions.handlePendingPermissionRequest). Fix codegen naming collision: both server and session APIs have a 'tools' group. Prefix session API group classes with 'Session' to avoid duplicate ToolsApi/ToolsRpcApi types (Go and C# codegen). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 45a3964 commit 50480cf

10 files changed

Lines changed: 4176 additions & 347 deletions

File tree

dotnet/src/Generated/Rpc.cs

Lines changed: 121 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -250,13 +250,17 @@ internal class SessionModeSetRequest
250250

251251
public class SessionPlanReadResult
252252
{
253-
/// <summary>Whether plan.md exists in the workspace</summary>
253+
/// <summary>Whether the plan file exists in the workspace</summary>
254254
[JsonPropertyName("exists")]
255255
public bool Exists { get; set; }
256256

257-
/// <summary>The content of plan.md, or null if it does not exist</summary>
257+
/// <summary>The content of the plan file, or null if it does not exist</summary>
258258
[JsonPropertyName("content")]
259259
public string? Content { get; set; }
260+
261+
/// <summary>Absolute file path of the plan file, or null if workspace is not enabled</summary>
262+
[JsonPropertyName("path")]
263+
public string? Path { get; set; }
260264
}
261265

262266
internal class SessionPlanReadRequest
@@ -468,6 +472,45 @@ internal class SessionCompactionCompactRequest
468472
public string SessionId { get; set; } = string.Empty;
469473
}
470474

475+
public class SessionToolsHandlePendingToolCallResult
476+
{
477+
[JsonPropertyName("success")]
478+
public bool Success { get; set; }
479+
}
480+
481+
internal class SessionToolsHandlePendingToolCallRequest
482+
{
483+
[JsonPropertyName("sessionId")]
484+
public string SessionId { get; set; } = string.Empty;
485+
486+
[JsonPropertyName("requestId")]
487+
public string RequestId { get; set; } = string.Empty;
488+
489+
[JsonPropertyName("result")]
490+
public object? Result { get; set; }
491+
492+
[JsonPropertyName("error")]
493+
public string? Error { get; set; }
494+
}
495+
496+
public class SessionPermissionsHandlePendingPermissionRequestResult
497+
{
498+
[JsonPropertyName("success")]
499+
public bool Success { get; set; }
500+
}
501+
502+
internal class SessionPermissionsHandlePendingPermissionRequestRequest
503+
{
504+
[JsonPropertyName("sessionId")]
505+
public string SessionId { get; set; } = string.Empty;
506+
507+
[JsonPropertyName("requestId")]
508+
public string RequestId { get; set; } = string.Empty;
509+
510+
[JsonPropertyName("result")]
511+
public object Result { get; set; } = null!;
512+
}
513+
471514
[JsonConverter(typeof(JsonStringEnumConverter<SessionModeGetResultMode>))]
472515
public enum SessionModeGetResultMode
473516
{
@@ -572,36 +615,42 @@ internal SessionRpc(JsonRpc rpc, string sessionId)
572615
{
573616
_rpc = rpc;
574617
_sessionId = sessionId;
575-
Model = new ModelApi(rpc, sessionId);
576-
Mode = new ModeApi(rpc, sessionId);
577-
Plan = new PlanApi(rpc, sessionId);
578-
Workspace = new WorkspaceApi(rpc, sessionId);
579-
Fleet = new FleetApi(rpc, sessionId);
580-
Agent = new AgentApi(rpc, sessionId);
581-
Compaction = new CompactionApi(rpc, sessionId);
618+
Model = new SessionModelApi(rpc, sessionId);
619+
Mode = new SessionModeApi(rpc, sessionId);
620+
Plan = new SessionPlanApi(rpc, sessionId);
621+
Workspace = new SessionWorkspaceApi(rpc, sessionId);
622+
Fleet = new SessionFleetApi(rpc, sessionId);
623+
Agent = new SessionAgentApi(rpc, sessionId);
624+
Compaction = new SessionCompactionApi(rpc, sessionId);
625+
Tools = new SessionToolsApi(rpc, sessionId);
626+
Permissions = new SessionPermissionsApi(rpc, sessionId);
582627
}
583628

584-
public ModelApi Model { get; }
629+
public SessionModelApi Model { get; }
630+
631+
public SessionModeApi Mode { get; }
585632

586-
public ModeApi Mode { get; }
633+
public SessionPlanApi Plan { get; }
587634

588-
public PlanApi Plan { get; }
635+
public SessionWorkspaceApi Workspace { get; }
589636

590-
public WorkspaceApi Workspace { get; }
637+
public SessionFleetApi Fleet { get; }
591638

592-
public FleetApi Fleet { get; }
639+
public SessionAgentApi Agent { get; }
593640

594-
public AgentApi Agent { get; }
641+
public SessionCompactionApi Compaction { get; }
595642

596-
public CompactionApi Compaction { get; }
643+
public SessionToolsApi Tools { get; }
644+
645+
public SessionPermissionsApi Permissions { get; }
597646
}
598647

599-
public class ModelApi
648+
public class SessionModelApi
600649
{
601650
private readonly JsonRpc _rpc;
602651
private readonly string _sessionId;
603652

604-
internal ModelApi(JsonRpc rpc, string sessionId)
653+
internal SessionModelApi(JsonRpc rpc, string sessionId)
605654
{
606655
_rpc = rpc;
607656
_sessionId = sessionId;
@@ -622,12 +671,12 @@ public async Task<SessionModelSwitchToResult> SwitchToAsync(string modelId, Canc
622671
}
623672
}
624673

625-
public class ModeApi
674+
public class SessionModeApi
626675
{
627676
private readonly JsonRpc _rpc;
628677
private readonly string _sessionId;
629678

630-
internal ModeApi(JsonRpc rpc, string sessionId)
679+
internal SessionModeApi(JsonRpc rpc, string sessionId)
631680
{
632681
_rpc = rpc;
633682
_sessionId = sessionId;
@@ -648,12 +697,12 @@ public async Task<SessionModeSetResult> SetAsync(SessionModeGetResultMode mode,
648697
}
649698
}
650699

651-
public class PlanApi
700+
public class SessionPlanApi
652701
{
653702
private readonly JsonRpc _rpc;
654703
private readonly string _sessionId;
655704

656-
internal PlanApi(JsonRpc rpc, string sessionId)
705+
internal SessionPlanApi(JsonRpc rpc, string sessionId)
657706
{
658707
_rpc = rpc;
659708
_sessionId = sessionId;
@@ -681,12 +730,12 @@ public async Task<SessionPlanDeleteResult> DeleteAsync(CancellationToken cancell
681730
}
682731
}
683732

684-
public class WorkspaceApi
733+
public class SessionWorkspaceApi
685734
{
686735
private readonly JsonRpc _rpc;
687736
private readonly string _sessionId;
688737

689-
internal WorkspaceApi(JsonRpc rpc, string sessionId)
738+
internal SessionWorkspaceApi(JsonRpc rpc, string sessionId)
690739
{
691740
_rpc = rpc;
692741
_sessionId = sessionId;
@@ -714,12 +763,12 @@ public async Task<SessionWorkspaceCreateFileResult> CreateFileAsync(string path,
714763
}
715764
}
716765

717-
public class FleetApi
766+
public class SessionFleetApi
718767
{
719768
private readonly JsonRpc _rpc;
720769
private readonly string _sessionId;
721770

722-
internal FleetApi(JsonRpc rpc, string sessionId)
771+
internal SessionFleetApi(JsonRpc rpc, string sessionId)
723772
{
724773
_rpc = rpc;
725774
_sessionId = sessionId;
@@ -733,12 +782,12 @@ public async Task<SessionFleetStartResult> StartAsync(string? prompt, Cancellati
733782
}
734783
}
735784

736-
public class AgentApi
785+
public class SessionAgentApi
737786
{
738787
private readonly JsonRpc _rpc;
739788
private readonly string _sessionId;
740789

741-
internal AgentApi(JsonRpc rpc, string sessionId)
790+
internal SessionAgentApi(JsonRpc rpc, string sessionId)
742791
{
743792
_rpc = rpc;
744793
_sessionId = sessionId;
@@ -773,12 +822,12 @@ public async Task<SessionAgentDeselectResult> DeselectAsync(CancellationToken ca
773822
}
774823
}
775824

776-
public class CompactionApi
825+
public class SessionCompactionApi
777826
{
778827
private readonly JsonRpc _rpc;
779828
private readonly string _sessionId;
780829

781-
internal CompactionApi(JsonRpc rpc, string sessionId)
830+
internal SessionCompactionApi(JsonRpc rpc, string sessionId)
782831
{
783832
_rpc = rpc;
784833
_sessionId = sessionId;
@@ -792,6 +841,44 @@ public async Task<SessionCompactionCompactResult> CompactAsync(CancellationToken
792841
}
793842
}
794843

844+
public class SessionToolsApi
845+
{
846+
private readonly JsonRpc _rpc;
847+
private readonly string _sessionId;
848+
849+
internal SessionToolsApi(JsonRpc rpc, string sessionId)
850+
{
851+
_rpc = rpc;
852+
_sessionId = sessionId;
853+
}
854+
855+
/// <summary>Calls "session.tools.handlePendingToolCall".</summary>
856+
public async Task<SessionToolsHandlePendingToolCallResult> HandlePendingToolCallAsync(string requestId, object? result, string? error, CancellationToken cancellationToken = default)
857+
{
858+
var request = new SessionToolsHandlePendingToolCallRequest { SessionId = _sessionId, RequestId = requestId, Result = result, Error = error };
859+
return await CopilotClient.InvokeRpcAsync<SessionToolsHandlePendingToolCallResult>(_rpc, "session.tools.handlePendingToolCall", [request], cancellationToken);
860+
}
861+
}
862+
863+
public class SessionPermissionsApi
864+
{
865+
private readonly JsonRpc _rpc;
866+
private readonly string _sessionId;
867+
868+
internal SessionPermissionsApi(JsonRpc rpc, string sessionId)
869+
{
870+
_rpc = rpc;
871+
_sessionId = sessionId;
872+
}
873+
874+
/// <summary>Calls "session.permissions.handlePendingPermissionRequest".</summary>
875+
public async Task<SessionPermissionsHandlePendingPermissionRequestResult> HandlePendingPermissionRequestAsync(string requestId, object result, CancellationToken cancellationToken = default)
876+
{
877+
var request = new SessionPermissionsHandlePendingPermissionRequestRequest { SessionId = _sessionId, RequestId = requestId, Result = result };
878+
return await CopilotClient.InvokeRpcAsync<SessionPermissionsHandlePendingPermissionRequestResult>(_rpc, "session.permissions.handlePendingPermissionRequest", [request], cancellationToken);
879+
}
880+
}
881+
795882
[JsonSourceGenerationOptions(
796883
JsonSerializerDefaults.Web,
797884
AllowOutOfOrderMetadataProperties = true,
@@ -830,12 +917,16 @@ public async Task<SessionCompactionCompactResult> CompactAsync(CancellationToken
830917
[JsonSerializable(typeof(SessionModelGetCurrentResult))]
831918
[JsonSerializable(typeof(SessionModelSwitchToRequest))]
832919
[JsonSerializable(typeof(SessionModelSwitchToResult))]
920+
[JsonSerializable(typeof(SessionPermissionsHandlePendingPermissionRequestRequest))]
921+
[JsonSerializable(typeof(SessionPermissionsHandlePendingPermissionRequestResult))]
833922
[JsonSerializable(typeof(SessionPlanDeleteRequest))]
834923
[JsonSerializable(typeof(SessionPlanDeleteResult))]
835924
[JsonSerializable(typeof(SessionPlanReadRequest))]
836925
[JsonSerializable(typeof(SessionPlanReadResult))]
837926
[JsonSerializable(typeof(SessionPlanUpdateRequest))]
838927
[JsonSerializable(typeof(SessionPlanUpdateResult))]
928+
[JsonSerializable(typeof(SessionToolsHandlePendingToolCallRequest))]
929+
[JsonSerializable(typeof(SessionToolsHandlePendingToolCallResult))]
839930
[JsonSerializable(typeof(SessionWorkspaceCreateFileRequest))]
840931
[JsonSerializable(typeof(SessionWorkspaceCreateFileResult))]
841932
[JsonSerializable(typeof(SessionWorkspaceListFilesRequest))]

0 commit comments

Comments
 (0)