Skip to content

Commit 3c5368a

Browse files
Update @github/copilot to 0.0.411-0 (#491)
1 parent 5016587 commit 3c5368a

17 files changed

Lines changed: 1872 additions & 99 deletions

File tree

dotnet/src/Generated/Rpc.cs

Lines changed: 283 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,148 @@ internal class SwitchToRequest
216216
public string ModelId { get; set; } = string.Empty;
217217
}
218218

219+
public class SessionModeGetResult
220+
{
221+
/// <summary>The current agent mode.</summary>
222+
[JsonPropertyName("mode")]
223+
public SessionModeGetResultMode Mode { get; set; }
224+
}
225+
226+
internal class GetRequest
227+
{
228+
[JsonPropertyName("sessionId")]
229+
public string SessionId { get; set; } = string.Empty;
230+
}
231+
232+
public class SessionModeSetResult
233+
{
234+
/// <summary>The agent mode after switching.</summary>
235+
[JsonPropertyName("mode")]
236+
public SessionModeGetResultMode Mode { get; set; }
237+
}
238+
239+
internal class SetRequest
240+
{
241+
[JsonPropertyName("sessionId")]
242+
public string SessionId { get; set; } = string.Empty;
243+
244+
[JsonPropertyName("mode")]
245+
public SessionModeGetResultMode Mode { get; set; }
246+
}
247+
248+
public class SessionPlanReadResult
249+
{
250+
/// <summary>Whether plan.md exists in the workspace</summary>
251+
[JsonPropertyName("exists")]
252+
public bool Exists { get; set; }
253+
254+
/// <summary>The content of plan.md, or null if it does not exist</summary>
255+
[JsonPropertyName("content")]
256+
public string? Content { get; set; }
257+
}
258+
259+
internal class ReadRequest
260+
{
261+
[JsonPropertyName("sessionId")]
262+
public string SessionId { get; set; } = string.Empty;
263+
}
264+
265+
public class SessionPlanUpdateResult
266+
{
267+
}
268+
269+
internal class UpdateRequest
270+
{
271+
[JsonPropertyName("sessionId")]
272+
public string SessionId { get; set; } = string.Empty;
273+
274+
[JsonPropertyName("content")]
275+
public string Content { get; set; } = string.Empty;
276+
}
277+
278+
public class SessionPlanDeleteResult
279+
{
280+
}
281+
282+
internal class DeleteRequest
283+
{
284+
[JsonPropertyName("sessionId")]
285+
public string SessionId { get; set; } = string.Empty;
286+
}
287+
288+
public class SessionWorkspaceListFilesResult
289+
{
290+
/// <summary>Relative file paths in the workspace files directory</summary>
291+
[JsonPropertyName("files")]
292+
public List<string> Files { get; set; } = new();
293+
}
294+
295+
internal class ListFilesRequest
296+
{
297+
[JsonPropertyName("sessionId")]
298+
public string SessionId { get; set; } = string.Empty;
299+
}
300+
301+
public class SessionWorkspaceReadFileResult
302+
{
303+
/// <summary>File content as a UTF-8 string</summary>
304+
[JsonPropertyName("content")]
305+
public string Content { get; set; } = string.Empty;
306+
}
307+
308+
internal class ReadFileRequest
309+
{
310+
[JsonPropertyName("sessionId")]
311+
public string SessionId { get; set; } = string.Empty;
312+
313+
[JsonPropertyName("path")]
314+
public string Path { get; set; } = string.Empty;
315+
}
316+
317+
public class SessionWorkspaceCreateFileResult
318+
{
319+
}
320+
321+
internal class CreateFileRequest
322+
{
323+
[JsonPropertyName("sessionId")]
324+
public string SessionId { get; set; } = string.Empty;
325+
326+
[JsonPropertyName("path")]
327+
public string Path { get; set; } = string.Empty;
328+
329+
[JsonPropertyName("content")]
330+
public string Content { get; set; } = string.Empty;
331+
}
332+
333+
public class SessionFleetStartResult
334+
{
335+
/// <summary>Whether fleet mode was successfully activated</summary>
336+
[JsonPropertyName("started")]
337+
public bool Started { get; set; }
338+
}
339+
340+
internal class StartRequest
341+
{
342+
[JsonPropertyName("sessionId")]
343+
public string SessionId { get; set; } = string.Empty;
344+
345+
[JsonPropertyName("prompt")]
346+
public string? Prompt { get; set; }
347+
}
348+
349+
[JsonConverter(typeof(JsonStringEnumConverter<SessionModeGetResultMode>))]
350+
public enum SessionModeGetResultMode
351+
{
352+
[JsonStringEnumMemberName("interactive")]
353+
Interactive,
354+
[JsonStringEnumMemberName("plan")]
355+
Plan,
356+
[JsonStringEnumMemberName("autopilot")]
357+
Autopilot,
358+
}
359+
360+
219361
/// <summary>Typed server-scoped RPC methods (no session required).</summary>
220362
public class ServerRpc
221363
{
@@ -309,9 +451,21 @@ internal SessionRpc(JsonRpc rpc, string sessionId)
309451
_rpc = rpc;
310452
_sessionId = sessionId;
311453
Model = new ModelApi(rpc, sessionId);
454+
Mode = new ModeApi(rpc, sessionId);
455+
Plan = new PlanApi(rpc, sessionId);
456+
Workspace = new WorkspaceApi(rpc, sessionId);
457+
Fleet = new FleetApi(rpc, sessionId);
312458
}
313459

314460
public ModelApi Model { get; }
461+
462+
public ModeApi Mode { get; }
463+
464+
public PlanApi Plan { get; }
465+
466+
public WorkspaceApi Workspace { get; }
467+
468+
public FleetApi Fleet { get; }
315469
}
316470

317471
public class ModelApi
@@ -340,13 +494,128 @@ public async Task<SessionModelSwitchToResult> SwitchToAsync(string modelId, Canc
340494
}
341495
}
342496

497+
public class ModeApi
498+
{
499+
private readonly JsonRpc _rpc;
500+
private readonly string _sessionId;
501+
502+
internal ModeApi(JsonRpc rpc, string sessionId)
503+
{
504+
_rpc = rpc;
505+
_sessionId = sessionId;
506+
}
507+
508+
/// <summary>Calls "session.mode.get".</summary>
509+
public async Task<SessionModeGetResult> GetAsync(CancellationToken cancellationToken = default)
510+
{
511+
var request = new GetRequest { SessionId = _sessionId };
512+
return await CopilotClient.InvokeRpcAsync<SessionModeGetResult>(_rpc, "session.mode.get", [request], cancellationToken);
513+
}
514+
515+
/// <summary>Calls "session.mode.set".</summary>
516+
public async Task<SessionModeSetResult> SetAsync(SessionModeGetResultMode mode, CancellationToken cancellationToken = default)
517+
{
518+
var request = new SetRequest { SessionId = _sessionId, Mode = mode };
519+
return await CopilotClient.InvokeRpcAsync<SessionModeSetResult>(_rpc, "session.mode.set", [request], cancellationToken);
520+
}
521+
}
522+
523+
public class PlanApi
524+
{
525+
private readonly JsonRpc _rpc;
526+
private readonly string _sessionId;
527+
528+
internal PlanApi(JsonRpc rpc, string sessionId)
529+
{
530+
_rpc = rpc;
531+
_sessionId = sessionId;
532+
}
533+
534+
/// <summary>Calls "session.plan.read".</summary>
535+
public async Task<SessionPlanReadResult> ReadAsync(CancellationToken cancellationToken = default)
536+
{
537+
var request = new ReadRequest { SessionId = _sessionId };
538+
return await CopilotClient.InvokeRpcAsync<SessionPlanReadResult>(_rpc, "session.plan.read", [request], cancellationToken);
539+
}
540+
541+
/// <summary>Calls "session.plan.update".</summary>
542+
public async Task<SessionPlanUpdateResult> UpdateAsync(string content, CancellationToken cancellationToken = default)
543+
{
544+
var request = new UpdateRequest { SessionId = _sessionId, Content = content };
545+
return await CopilotClient.InvokeRpcAsync<SessionPlanUpdateResult>(_rpc, "session.plan.update", [request], cancellationToken);
546+
}
547+
548+
/// <summary>Calls "session.plan.delete".</summary>
549+
public async Task<SessionPlanDeleteResult> DeleteAsync(CancellationToken cancellationToken = default)
550+
{
551+
var request = new DeleteRequest { SessionId = _sessionId };
552+
return await CopilotClient.InvokeRpcAsync<SessionPlanDeleteResult>(_rpc, "session.plan.delete", [request], cancellationToken);
553+
}
554+
}
555+
556+
public class WorkspaceApi
557+
{
558+
private readonly JsonRpc _rpc;
559+
private readonly string _sessionId;
560+
561+
internal WorkspaceApi(JsonRpc rpc, string sessionId)
562+
{
563+
_rpc = rpc;
564+
_sessionId = sessionId;
565+
}
566+
567+
/// <summary>Calls "session.workspace.listFiles".</summary>
568+
public async Task<SessionWorkspaceListFilesResult> ListFilesAsync(CancellationToken cancellationToken = default)
569+
{
570+
var request = new ListFilesRequest { SessionId = _sessionId };
571+
return await CopilotClient.InvokeRpcAsync<SessionWorkspaceListFilesResult>(_rpc, "session.workspace.listFiles", [request], cancellationToken);
572+
}
573+
574+
/// <summary>Calls "session.workspace.readFile".</summary>
575+
public async Task<SessionWorkspaceReadFileResult> ReadFileAsync(string path, CancellationToken cancellationToken = default)
576+
{
577+
var request = new ReadFileRequest { SessionId = _sessionId, Path = path };
578+
return await CopilotClient.InvokeRpcAsync<SessionWorkspaceReadFileResult>(_rpc, "session.workspace.readFile", [request], cancellationToken);
579+
}
580+
581+
/// <summary>Calls "session.workspace.createFile".</summary>
582+
public async Task<SessionWorkspaceCreateFileResult> CreateFileAsync(string path, string content, CancellationToken cancellationToken = default)
583+
{
584+
var request = new CreateFileRequest { SessionId = _sessionId, Path = path, Content = content };
585+
return await CopilotClient.InvokeRpcAsync<SessionWorkspaceCreateFileResult>(_rpc, "session.workspace.createFile", [request], cancellationToken);
586+
}
587+
}
588+
589+
public class FleetApi
590+
{
591+
private readonly JsonRpc _rpc;
592+
private readonly string _sessionId;
593+
594+
internal FleetApi(JsonRpc rpc, string sessionId)
595+
{
596+
_rpc = rpc;
597+
_sessionId = sessionId;
598+
}
599+
600+
/// <summary>Calls "session.fleet.start".</summary>
601+
public async Task<SessionFleetStartResult> StartAsync(string? prompt, CancellationToken cancellationToken = default)
602+
{
603+
var request = new StartRequest { SessionId = _sessionId, Prompt = prompt };
604+
return await CopilotClient.InvokeRpcAsync<SessionFleetStartResult>(_rpc, "session.fleet.start", [request], cancellationToken);
605+
}
606+
}
607+
343608
[JsonSourceGenerationOptions(
344609
JsonSerializerDefaults.Web,
345610
AllowOutOfOrderMetadataProperties = true,
346611
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)]
347612
[JsonSerializable(typeof(AccountGetQuotaResult))]
348613
[JsonSerializable(typeof(AccountGetQuotaResultQuotaSnapshotsValue))]
614+
[JsonSerializable(typeof(CreateFileRequest))]
615+
[JsonSerializable(typeof(DeleteRequest))]
349616
[JsonSerializable(typeof(GetCurrentRequest))]
617+
[JsonSerializable(typeof(GetRequest))]
618+
[JsonSerializable(typeof(ListFilesRequest))]
350619
[JsonSerializable(typeof(ListRequest))]
351620
[JsonSerializable(typeof(Model))]
352621
[JsonSerializable(typeof(ModelBilling))]
@@ -357,9 +626,23 @@ public async Task<SessionModelSwitchToResult> SwitchToAsync(string modelId, Canc
357626
[JsonSerializable(typeof(ModelsListResult))]
358627
[JsonSerializable(typeof(PingRequest))]
359628
[JsonSerializable(typeof(PingResult))]
629+
[JsonSerializable(typeof(ReadFileRequest))]
630+
[JsonSerializable(typeof(ReadRequest))]
631+
[JsonSerializable(typeof(SessionFleetStartResult))]
632+
[JsonSerializable(typeof(SessionModeGetResult))]
633+
[JsonSerializable(typeof(SessionModeSetResult))]
360634
[JsonSerializable(typeof(SessionModelGetCurrentResult))]
361635
[JsonSerializable(typeof(SessionModelSwitchToResult))]
636+
[JsonSerializable(typeof(SessionPlanDeleteResult))]
637+
[JsonSerializable(typeof(SessionPlanReadResult))]
638+
[JsonSerializable(typeof(SessionPlanUpdateResult))]
639+
[JsonSerializable(typeof(SessionWorkspaceCreateFileResult))]
640+
[JsonSerializable(typeof(SessionWorkspaceListFilesResult))]
641+
[JsonSerializable(typeof(SessionWorkspaceReadFileResult))]
642+
[JsonSerializable(typeof(SetRequest))]
643+
[JsonSerializable(typeof(StartRequest))]
362644
[JsonSerializable(typeof(SwitchToRequest))]
363645
[JsonSerializable(typeof(Tool))]
364646
[JsonSerializable(typeof(ToolsListResult))]
647+
[JsonSerializable(typeof(UpdateRequest))]
365648
internal partial class RpcJsonContext : JsonSerializerContext;

0 commit comments

Comments
 (0)