From 20b8dc0b45c47666179a28a53ab0d6429e5cf066 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 13:38:51 +0000 Subject: [PATCH] Update @github/copilot to 1.0.40 - Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code --- dotnet/src/Generated/Rpc.cs | 16 +++++++ dotnet/src/Generated/SessionEvents.cs | 29 +++++++++++ go/generated_session_events.go | 17 +++++++ go/rpc/generated_rpc.go | 17 +++++++ nodejs/package-lock.json | 56 +++++++++++----------- nodejs/package.json | 2 +- nodejs/samples/package-lock.json | 2 +- nodejs/src/generated/rpc.ts | 2 + nodejs/src/generated/session-events.ts | 35 ++++++++++++++ python/copilot/generated/rpc.py | 3 ++ python/copilot/generated/session_events.py | 28 ++++++++++- test/harness/package-lock.json | 56 +++++++++++----------- test/harness/package.json | 2 +- 13 files changed, 205 insertions(+), 60 deletions(-) diff --git a/dotnet/src/Generated/Rpc.cs b/dotnet/src/Generated/Rpc.cs index 9d1a76558..2709f7cb2 100644 --- a/dotnet/src/Generated/Rpc.cs +++ b/dotnet/src/Generated/Rpc.cs @@ -483,6 +483,14 @@ internal sealed class SessionsForkRequest public string? ToEventId { get; set; } } +/// RPC data type for SessionSuspend operations. +internal sealed class SessionSuspendRequest +{ + /// Target session identifier. + [JsonPropertyName("sessionId")] + public string SessionId { get; set; } = string.Empty; +} + /// RPC data type for Log operations. public sealed class LogResult { @@ -3445,6 +3453,13 @@ internal SessionRpc(JsonRpc rpc, string sessionId) /// Usage APIs. public UsageApi Usage { get; } + /// Calls "session.suspend". + public async Task SuspendAsync(CancellationToken cancellationToken = default) + { + var request = new SessionSuspendRequest { SessionId = _sessionId }; + await CopilotClient.InvokeRpcAsync(_rpc, "session.suspend", [request], cancellationToken); + } + /// Calls "session.log". public async Task LogAsync(string message, SessionLogLevel? level = null, bool? ephemeral = null, string? url = null, CancellationToken cancellationToken = default) { @@ -4344,6 +4359,7 @@ public static void RegisterClientSessionApiHandlers(JsonRpc rpc, FuncStreaming assistant message start metadata. +/// Represents the assistant.message_start event. +public partial class AssistantMessageStartEvent : SessionEvent +{ + /// + [JsonIgnore] + public override string Type => "assistant.message_start"; + + /// The assistant.message_start event payload. + [JsonPropertyName("data")] + public required AssistantMessageStartData Data { get; set; } +} + /// Streaming assistant message delta for incremental response updates. /// Represents the assistant.message_delta event. public partial class AssistantMessageDeltaEvent : SessionEvent @@ -1910,6 +1924,19 @@ public partial class AssistantMessageData public string? TurnId { get; set; } } +/// Streaming assistant message start metadata. +public partial class AssistantMessageStartData +{ + /// Message ID this start event belongs to, matching subsequent deltas and assistant.message. + [JsonPropertyName("messageId")] + public required string MessageId { get; set; } + + /// Generation phase this message belongs to for phased-output models. + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("phase")] + public string? Phase { get; set; } +} + /// Streaming assistant message delta for incremental response updates. public partial class AssistantMessageDeltaData { @@ -5125,6 +5152,8 @@ public enum ExtensionsLoadedExtensionStatus [JsonSerializable(typeof(AssistantMessageDeltaData))] [JsonSerializable(typeof(AssistantMessageDeltaEvent))] [JsonSerializable(typeof(AssistantMessageEvent))] +[JsonSerializable(typeof(AssistantMessageStartData))] +[JsonSerializable(typeof(AssistantMessageStartEvent))] [JsonSerializable(typeof(AssistantMessageToolRequest))] [JsonSerializable(typeof(AssistantReasoningData))] [JsonSerializable(typeof(AssistantReasoningDeltaData))] diff --git a/go/generated_session_events.go b/go/generated_session_events.go index 9a3be1337..f5b393310 100644 --- a/go/generated_session_events.go +++ b/go/generated_session_events.go @@ -245,6 +245,12 @@ func (e *SessionEvent) UnmarshalJSON(data []byte) error { return err } e.Data = &d + case SessionEventTypeAssistantMessageStart: + var d AssistantMessageStartData + if err := json.Unmarshal(raw.Data, &d); err != nil { + return err + } + e.Data = &d case SessionEventTypeAssistantMessageDelta: var d AssistantMessageDeltaData if err := json.Unmarshal(raw.Data, &d); err != nil { @@ -591,6 +597,7 @@ const ( SessionEventTypeAssistantReasoningDelta SessionEventType = "assistant.reasoning_delta" SessionEventTypeAssistantStreamingDelta SessionEventType = "assistant.streaming_delta" SessionEventTypeAssistantMessage SessionEventType = "assistant.message" + SessionEventTypeAssistantMessageStart SessionEventType = "assistant.message_start" SessionEventTypeAssistantMessageDelta SessionEventType = "assistant.message_delta" SessionEventTypeAssistantTurnEnd SessionEventType = "assistant.turn_end" SessionEventTypeAssistantUsage SessionEventType = "assistant.usage" @@ -1425,6 +1432,16 @@ type AssistantMessageDeltaData struct { func (*AssistantMessageDeltaData) sessionEventData() {} +// Streaming assistant message start metadata +type AssistantMessageStartData struct { + // Message ID this start event belongs to, matching subsequent deltas and assistant.message + MessageID string `json:"messageId"` + // Generation phase this message belongs to for phased-output models + Phase *string `json:"phase,omitempty"` +} + +func (*AssistantMessageStartData) sessionEventData() {} + // Streaming reasoning delta for incremental extended thinking updates type AssistantReasoningDeltaData struct { // Incremental text chunk to append to the reasoning content diff --git a/go/rpc/generated_rpc.go b/go/rpc/generated_rpc.go index ab1c897a7..425bee3cf 100644 --- a/go/rpc/generated_rpc.go +++ b/go/rpc/generated_rpc.go @@ -201,6 +201,7 @@ type RPCTypes struct { SkillsEnableRequest SkillsEnableRequest `json:"SkillsEnableRequest"` SkillsEnableResult SkillsEnableResult `json:"SkillsEnableResult"` SkillsReloadResult SkillsReloadResult `json:"SkillsReloadResult"` + SuspendResult SuspendResult `json:"SuspendResult"` TaskAgentInfo TaskAgentInfo `json:"TaskAgentInfo"` TaskAgentInfoExecutionMode TaskInfoExecutionMode `json:"TaskAgentInfoExecutionMode"` TaskAgentInfoStatus TaskInfoStatus `json:"TaskAgentInfoStatus"` @@ -1543,6 +1544,9 @@ type SkillsEnableResult struct { type SkillsReloadResult struct { } +type SuspendResult struct { +} + type TaskAgentInfo struct { // ISO 8601 timestamp when the current active period began ActiveStartedAt *time.Time `json:"activeStartedAt,omitempty"` @@ -3639,6 +3643,19 @@ type SessionRpc struct { Usage *UsageApi } +func (a *SessionRpc) Suspend(ctx context.Context) (*SuspendResult, error) { + req := map[string]any{"sessionId": a.common.sessionID} + raw, err := a.common.client.Request("session.suspend", req) + if err != nil { + return nil, err + } + var result SuspendResult + if err := json.Unmarshal(raw, &result); err != nil { + return nil, err + } + return &result, nil +} + func (a *SessionRpc) Log(ctx context.Context, params *LogRequest) (*LogResult, error) { req := map[string]any{"sessionId": a.common.sessionID} if params != nil { diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index 20c168edc..903d8e271 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.8", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.40-3", + "@github/copilot": "^1.0.40", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" }, @@ -663,26 +663,26 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.40-3.tgz", - "integrity": "sha512-bgvE59bJFsT/tN2CvMR7f5a6NH1tWxYTl9skVrRDk4YS6ZcFP0bclYg/NMDR8D5sfQYngdNN8vxmv85eB8rPVA==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.40.tgz", + "integrity": "sha512-s35c/9R5q8O2ZQi/rzU9TBpum/DU06dczDSfmepCTisRHVTTKWS703J7kZhZYqL6OIGqnhmLfx4A7afT8YVKKA==", "license": "SEE LICENSE IN LICENSE.md", "bin": { "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.40-3", - "@github/copilot-darwin-x64": "1.0.40-3", - "@github/copilot-linux-arm64": "1.0.40-3", - "@github/copilot-linux-x64": "1.0.40-3", - "@github/copilot-win32-arm64": "1.0.40-3", - "@github/copilot-win32-x64": "1.0.40-3" + "@github/copilot-darwin-arm64": "1.0.40", + "@github/copilot-darwin-x64": "1.0.40", + "@github/copilot-linux-arm64": "1.0.40", + "@github/copilot-linux-x64": "1.0.40", + "@github/copilot-win32-arm64": "1.0.40", + "@github/copilot-win32-x64": "1.0.40" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.40-3.tgz", - "integrity": "sha512-QRVt15j3azPs8foceUfwT8COnR5DULOhc+5hUp8UgSJagNGEMv8zwVPYoWiJyeApeLdERDeqBF6M6MHHbMjD+A==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.40.tgz", + "integrity": "sha512-syHKff/G53VzosHRXG6pX+MEc00tMdly0SZS4jC0fFUSY2/6R7lgi4IEZt57Q6WKdjBiqn8EvEQ94efdRdPEzA==", "cpu": [ "arm64" ], @@ -696,9 +696,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.40-3.tgz", - "integrity": "sha512-8P2EBAtxjLfk8mG2DR9laWeX6WT4WkrHG+FcTciTNwzRy5YqaFAommwd+nc8I7ddktZvzgQEz8tdM8SAlQ2d2A==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.40.tgz", + "integrity": "sha512-ai6PgHLx5SgC7Ht3Hy2tNepdnAnqcWaPPtYFaP2UGS69r1O87JBA/pB2QHVZP3vX34/4RyoOB/WQ1kiT5pvcpg==", "cpu": [ "x64" ], @@ -712,9 +712,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.40-3.tgz", - "integrity": "sha512-ItrOgrQ/2QKsrcUHvcSs/y/4HVypzNNFNF/0vL/30yDy89w+5z3hzydZ0uAyMHwf//sWJauAWdkQYmZqaSjT2A==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.40.tgz", + "integrity": "sha512-mAh8GmGmkkUiFFzBIvXYmReSIw5c3NWHme0iYT2v/72RWNAwRq4HLKP9NhHapZqUPyi7jQnRxllYPybZDFS6Mw==", "cpu": [ "arm64" ], @@ -728,9 +728,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.40-3.tgz", - "integrity": "sha512-WwRaJeqy+Ywx8XCKH1X/joLK1xbi6MLwWU+ZnRosr8pkvoLnewlBZRVT3dkxkPYvnTIn/PBJKjhtC2lgptbrTg==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.40.tgz", + "integrity": "sha512-gCo6RgpXwa39FZSdj5dMkN/z0xT/NS29MpkeYQ/S34SSoUsSbIKUWcuoMjRiXpaDWWuXQsFjXcqnwNs67JOejA==", "cpu": [ "x64" ], @@ -744,9 +744,9 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.40-3.tgz", - "integrity": "sha512-B/JvunL2xFJ6xGLppTehIotaEqEaWOYg+P929rpx90FG2GdsR5oQ5zVHTiMJWX6YFqmW+Kwc5utCMUj7MjDmQQ==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.40.tgz", + "integrity": "sha512-59ANg2xfeeWwl8UNqVe4sk2OAizgMjKVRgTALYExHMc8p5HJyL8nrQ9np6pIkO/De0UpR8rUzk4D8oCqU7XLIQ==", "cpu": [ "arm64" ], @@ -760,9 +760,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.40-3.tgz", - "integrity": "sha512-80ZFwdKzpRTVjq3MHMU6LjsWjYlVEyI0+rFiM/5s5EmbQDvSnXt4vLT4O+UTbQs+YSi5jRLtm4Q6QkIChE7AWQ==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.40.tgz", + "integrity": "sha512-dKS5L7SwzXZI/gaY9LIn8eoTGEPgczGLIgt1KwjfkHgk3achHwIuEjxSqPRVD1Z7q08uuOcuwVzOlwE8V38zNQ==", "cpu": [ "x64" ], diff --git a/nodejs/package.json b/nodejs/package.json index b1820e818..90e4d3667 100644 --- a/nodejs/package.json +++ b/nodejs/package.json @@ -56,7 +56,7 @@ "author": "GitHub", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.40-3", + "@github/copilot": "^1.0.40", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" }, diff --git a/nodejs/samples/package-lock.json b/nodejs/samples/package-lock.json index 551223a5f..36235a0a6 100644 --- a/nodejs/samples/package-lock.json +++ b/nodejs/samples/package-lock.json @@ -18,7 +18,7 @@ "version": "0.1.8", "license": "MIT", "dependencies": { - "@github/copilot": "^1.0.40-3", + "@github/copilot": "^1.0.40", "vscode-jsonrpc": "^8.2.1", "zod": "^4.3.6" }, diff --git a/nodejs/src/generated/rpc.ts b/nodejs/src/generated/rpc.ts index 42cdc039b..bc218c777 100644 --- a/nodejs/src/generated/rpc.ts +++ b/nodejs/src/generated/rpc.ts @@ -2524,6 +2524,8 @@ export function createServerRpc(connection: MessageConnection) { /** Create typed session-scoped RPC methods. */ export function createSessionRpc(connection: MessageConnection, sessionId: string) { return { + suspend: async (): Promise => + connection.sendRequest("session.suspend", { sessionId }), auth: { getStatus: async (): Promise => connection.sendRequest("session.auth.getStatus", { sessionId }), diff --git a/nodejs/src/generated/session-events.ts b/nodejs/src/generated/session-events.ts index 33b8081db..2455f7a5b 100644 --- a/nodejs/src/generated/session-events.ts +++ b/nodejs/src/generated/session-events.ts @@ -33,6 +33,7 @@ export type SessionEvent = | AssistantReasoningDeltaEvent | AssistantStreamingDeltaEvent | AssistantMessageEvent + | AssistantMessageStartEvent | AssistantMessageDeltaEvent | AssistantTurnEndEvent | AssistantUsageEvent @@ -1965,6 +1966,40 @@ export interface AssistantMessageToolRequest { toolTitle?: string; type?: AssistantMessageToolRequestType; } +export interface AssistantMessageStartEvent { + /** + * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events. + */ + agentId?: string; + data: AssistantMessageStartData; + ephemeral: true; + /** + * Unique event identifier (UUID v4), generated when the event is emitted + */ + id: string; + /** + * ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event. + */ + parentId: string | null; + /** + * ISO 8601 timestamp when the event was created + */ + timestamp: string; + type: "assistant.message_start"; +} +/** + * Streaming assistant message start metadata + */ +export interface AssistantMessageStartData { + /** + * Message ID this start event belongs to, matching subsequent deltas and assistant.message + */ + messageId: string; + /** + * Generation phase this message belongs to for phased-output models + */ + phase?: string; +} export interface AssistantMessageDeltaEvent { /** * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events. diff --git a/python/copilot/generated/rpc.py b/python/copilot/generated/rpc.py index dac331aa6..1b39aa4d3 100644 --- a/python/copilot/generated/rpc.py +++ b/python/copilot/generated/rpc.py @@ -6763,6 +6763,9 @@ def __init__(self, client: "JsonRpcClient", session_id: str): self.history = HistoryApi(client, session_id) self.usage = UsageApi(client, session_id) + async def suspend(self, *, timeout: float | None = None) -> None: + await self._client.request("session.suspend", {"sessionId": self._session_id}, **_timeout_kwargs(timeout)) + async def log(self, params: LogRequest, *, timeout: float | None = None) -> LogResult: params_dict: dict[str, Any] = {k: v for k, v in params.to_dict().items() if v is not None} params_dict["sessionId"] = self._session_id diff --git a/python/copilot/generated/session_events.py b/python/copilot/generated/session_events.py index 0ee3bdf68..a99969fc1 100644 --- a/python/copilot/generated/session_events.py +++ b/python/copilot/generated/session_events.py @@ -133,6 +133,7 @@ class SessionEventType(Enum): ASSISTANT_REASONING_DELTA = "assistant.reasoning_delta" ASSISTANT_STREAMING_DELTA = "assistant.streaming_delta" ASSISTANT_MESSAGE = "assistant.message" + ASSISTANT_MESSAGE_START = "assistant.message_start" ASSISTANT_MESSAGE_DELTA = "assistant.message_delta" ASSISTANT_TURN_END = "assistant.turn_end" ASSISTANT_USAGE = "assistant.usage" @@ -395,6 +396,30 @@ def to_dict(self) -> dict: return result +@dataclass +class AssistantMessageStartData: + "Streaming assistant message start metadata" + message_id: str + phase: str | None = None + + @staticmethod + def from_dict(obj: Any) -> "AssistantMessageStartData": + assert isinstance(obj, dict) + message_id = from_str(obj.get("messageId")) + phase = from_union([from_none, from_str], obj.get("phase")) + return AssistantMessageStartData( + message_id=message_id, + phase=phase, + ) + + def to_dict(self) -> dict: + result: dict = {} + result["messageId"] = from_str(self.message_id) + if self.phase is not None: + result["phase"] = from_union([from_none, from_str], self.phase) + return result + + @dataclass class AssistantMessageToolRequest: "A tool invocation request from the assistant" @@ -4739,7 +4764,7 @@ class WorkspaceFileChangedOperation(Enum): UPDATE = "update" -SessionEventData = SessionStartData | SessionResumeData | SessionRemoteSteerableChangedData | SessionErrorData | SessionIdleData | SessionTitleChangedData | SessionInfoData | SessionWarningData | SessionModelChangeData | SessionModeChangedData | SessionPlanChangedData | SessionWorkspaceFileChangedData | SessionHandoffData | SessionTruncationData | SessionSnapshotRewindData | SessionShutdownData | SessionContextChangedData | SessionUsageInfoData | SessionCompactionStartData | SessionCompactionCompleteData | SessionTaskCompleteData | UserMessageData | PendingMessagesModifiedData | AssistantTurnStartData | AssistantIntentData | AssistantReasoningData | AssistantReasoningDeltaData | AssistantStreamingDeltaData | AssistantMessageData | AssistantMessageDeltaData | AssistantTurnEndData | AssistantUsageData | ModelCallFailureData | AbortData | ToolUserRequestedData | ToolExecutionStartData | ToolExecutionPartialResultData | ToolExecutionProgressData | ToolExecutionCompleteData | SkillInvokedData | SubagentStartedData | SubagentCompletedData | SubagentFailedData | SubagentSelectedData | SubagentDeselectedData | HookStartData | HookEndData | SystemMessageData | SystemNotificationData | PermissionRequestedData | PermissionCompletedData | UserInputRequestedData | UserInputCompletedData | ElicitationRequestedData | ElicitationCompletedData | SamplingRequestedData | SamplingCompletedData | McpOauthRequiredData | McpOauthCompletedData | ExternalToolRequestedData | ExternalToolCompletedData | CommandQueuedData | CommandExecuteData | CommandCompletedData | AutoModeSwitchRequestedData | AutoModeSwitchCompletedData | CommandsChangedData | CapabilitiesChangedData | ExitPlanModeRequestedData | ExitPlanModeCompletedData | SessionToolsUpdatedData | SessionBackgroundTasksChangedData | SessionSkillsLoadedData | SessionCustomAgentsUpdatedData | SessionMcpServersLoadedData | SessionMcpServerStatusChangedData | SessionExtensionsLoadedData | RawSessionEventData | Data +SessionEventData = SessionStartData | SessionResumeData | SessionRemoteSteerableChangedData | SessionErrorData | SessionIdleData | SessionTitleChangedData | SessionInfoData | SessionWarningData | SessionModelChangeData | SessionModeChangedData | SessionPlanChangedData | SessionWorkspaceFileChangedData | SessionHandoffData | SessionTruncationData | SessionSnapshotRewindData | SessionShutdownData | SessionContextChangedData | SessionUsageInfoData | SessionCompactionStartData | SessionCompactionCompleteData | SessionTaskCompleteData | UserMessageData | PendingMessagesModifiedData | AssistantTurnStartData | AssistantIntentData | AssistantReasoningData | AssistantReasoningDeltaData | AssistantStreamingDeltaData | AssistantMessageData | AssistantMessageStartData | AssistantMessageDeltaData | AssistantTurnEndData | AssistantUsageData | ModelCallFailureData | AbortData | ToolUserRequestedData | ToolExecutionStartData | ToolExecutionPartialResultData | ToolExecutionProgressData | ToolExecutionCompleteData | SkillInvokedData | SubagentStartedData | SubagentCompletedData | SubagentFailedData | SubagentSelectedData | SubagentDeselectedData | HookStartData | HookEndData | SystemMessageData | SystemNotificationData | PermissionRequestedData | PermissionCompletedData | UserInputRequestedData | UserInputCompletedData | ElicitationRequestedData | ElicitationCompletedData | SamplingRequestedData | SamplingCompletedData | McpOauthRequiredData | McpOauthCompletedData | ExternalToolRequestedData | ExternalToolCompletedData | CommandQueuedData | CommandExecuteData | CommandCompletedData | AutoModeSwitchRequestedData | AutoModeSwitchCompletedData | CommandsChangedData | CapabilitiesChangedData | ExitPlanModeRequestedData | ExitPlanModeCompletedData | SessionToolsUpdatedData | SessionBackgroundTasksChangedData | SessionSkillsLoadedData | SessionCustomAgentsUpdatedData | SessionMcpServersLoadedData | SessionMcpServerStatusChangedData | SessionExtensionsLoadedData | RawSessionEventData | Data @dataclass @@ -4792,6 +4817,7 @@ def from_dict(obj: Any) -> "SessionEvent": case SessionEventType.ASSISTANT_REASONING_DELTA: data = AssistantReasoningDeltaData.from_dict(data_obj) case SessionEventType.ASSISTANT_STREAMING_DELTA: data = AssistantStreamingDeltaData.from_dict(data_obj) case SessionEventType.ASSISTANT_MESSAGE: data = AssistantMessageData.from_dict(data_obj) + case SessionEventType.ASSISTANT_MESSAGE_START: data = AssistantMessageStartData.from_dict(data_obj) case SessionEventType.ASSISTANT_MESSAGE_DELTA: data = AssistantMessageDeltaData.from_dict(data_obj) case SessionEventType.ASSISTANT_TURN_END: data = AssistantTurnEndData.from_dict(data_obj) case SessionEventType.ASSISTANT_USAGE: data = AssistantUsageData.from_dict(data_obj) diff --git a/test/harness/package-lock.json b/test/harness/package-lock.json index e944a2b2a..a338079ac 100644 --- a/test/harness/package-lock.json +++ b/test/harness/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "devDependencies": { - "@github/copilot": "^1.0.40-3", + "@github/copilot": "^1.0.40", "@modelcontextprotocol/sdk": "^1.26.0", "@types/node": "^25.3.3", "openai": "^6.17.0", @@ -462,27 +462,27 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.40-3.tgz", - "integrity": "sha512-bgvE59bJFsT/tN2CvMR7f5a6NH1tWxYTl9skVrRDk4YS6ZcFP0bclYg/NMDR8D5sfQYngdNN8vxmv85eB8rPVA==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.40.tgz", + "integrity": "sha512-s35c/9R5q8O2ZQi/rzU9TBpum/DU06dczDSfmepCTisRHVTTKWS703J7kZhZYqL6OIGqnhmLfx4A7afT8YVKKA==", "dev": true, "license": "SEE LICENSE IN LICENSE.md", "bin": { "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.40-3", - "@github/copilot-darwin-x64": "1.0.40-3", - "@github/copilot-linux-arm64": "1.0.40-3", - "@github/copilot-linux-x64": "1.0.40-3", - "@github/copilot-win32-arm64": "1.0.40-3", - "@github/copilot-win32-x64": "1.0.40-3" + "@github/copilot-darwin-arm64": "1.0.40", + "@github/copilot-darwin-x64": "1.0.40", + "@github/copilot-linux-arm64": "1.0.40", + "@github/copilot-linux-x64": "1.0.40", + "@github/copilot-win32-arm64": "1.0.40", + "@github/copilot-win32-x64": "1.0.40" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.40-3.tgz", - "integrity": "sha512-QRVt15j3azPs8foceUfwT8COnR5DULOhc+5hUp8UgSJagNGEMv8zwVPYoWiJyeApeLdERDeqBF6M6MHHbMjD+A==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.40.tgz", + "integrity": "sha512-syHKff/G53VzosHRXG6pX+MEc00tMdly0SZS4jC0fFUSY2/6R7lgi4IEZt57Q6WKdjBiqn8EvEQ94efdRdPEzA==", "cpu": [ "arm64" ], @@ -497,9 +497,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.40-3.tgz", - "integrity": "sha512-8P2EBAtxjLfk8mG2DR9laWeX6WT4WkrHG+FcTciTNwzRy5YqaFAommwd+nc8I7ddktZvzgQEz8tdM8SAlQ2d2A==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.40.tgz", + "integrity": "sha512-ai6PgHLx5SgC7Ht3Hy2tNepdnAnqcWaPPtYFaP2UGS69r1O87JBA/pB2QHVZP3vX34/4RyoOB/WQ1kiT5pvcpg==", "cpu": [ "x64" ], @@ -514,9 +514,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.40-3.tgz", - "integrity": "sha512-ItrOgrQ/2QKsrcUHvcSs/y/4HVypzNNFNF/0vL/30yDy89w+5z3hzydZ0uAyMHwf//sWJauAWdkQYmZqaSjT2A==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.40.tgz", + "integrity": "sha512-mAh8GmGmkkUiFFzBIvXYmReSIw5c3NWHme0iYT2v/72RWNAwRq4HLKP9NhHapZqUPyi7jQnRxllYPybZDFS6Mw==", "cpu": [ "arm64" ], @@ -531,9 +531,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.40-3.tgz", - "integrity": "sha512-WwRaJeqy+Ywx8XCKH1X/joLK1xbi6MLwWU+ZnRosr8pkvoLnewlBZRVT3dkxkPYvnTIn/PBJKjhtC2lgptbrTg==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.40.tgz", + "integrity": "sha512-gCo6RgpXwa39FZSdj5dMkN/z0xT/NS29MpkeYQ/S34SSoUsSbIKUWcuoMjRiXpaDWWuXQsFjXcqnwNs67JOejA==", "cpu": [ "x64" ], @@ -548,9 +548,9 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.40-3.tgz", - "integrity": "sha512-B/JvunL2xFJ6xGLppTehIotaEqEaWOYg+P929rpx90FG2GdsR5oQ5zVHTiMJWX6YFqmW+Kwc5utCMUj7MjDmQQ==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.40.tgz", + "integrity": "sha512-59ANg2xfeeWwl8UNqVe4sk2OAizgMjKVRgTALYExHMc8p5HJyL8nrQ9np6pIkO/De0UpR8rUzk4D8oCqU7XLIQ==", "cpu": [ "arm64" ], @@ -565,9 +565,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.40-3", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.40-3.tgz", - "integrity": "sha512-80ZFwdKzpRTVjq3MHMU6LjsWjYlVEyI0+rFiM/5s5EmbQDvSnXt4vLT4O+UTbQs+YSi5jRLtm4Q6QkIChE7AWQ==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.40.tgz", + "integrity": "sha512-dKS5L7SwzXZI/gaY9LIn8eoTGEPgczGLIgt1KwjfkHgk3achHwIuEjxSqPRVD1Z7q08uuOcuwVzOlwE8V38zNQ==", "cpu": [ "x64" ], diff --git a/test/harness/package.json b/test/harness/package.json index 26748569e..9d51eb198 100644 --- a/test/harness/package.json +++ b/test/harness/package.json @@ -11,7 +11,7 @@ "test": "vitest run" }, "devDependencies": { - "@github/copilot": "^1.0.40-3", + "@github/copilot": "^1.0.40", "@modelcontextprotocol/sdk": "^1.26.0", "@types/node": "^25.3.3", "openai": "^6.17.0",