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",