fix: update @github/copilot to version 1.0.34 and integrate AutoModeSessionManager in session services (#311650)

chore: update @github/copilot to version 1.0.34 and integrate AutoModeSessionManager in session services
This commit is contained in:
Don Jayamanne
2026-04-21 22:03:45 +10:00
committed by GitHub
parent fa123b8220
commit 4e26289a06
5 changed files with 43 additions and 42 deletions
+28 -28
View File
@@ -13,7 +13,7 @@
"@anthropic-ai/claude-agent-sdk": "0.2.112",
"@anthropic-ai/sdk": "^0.82.0",
"@github/blackbird-external-ingest-utils": "^0.3.0",
"@github/copilot": "^1.0.28",
"@github/copilot": "^1.0.34",
"@google/genai": "^1.22.0",
"@humanwhocodes/gitignore-to-minimatch": "1.0.2",
"@microsoft/tiktokenizer": "^1.0.10",
@@ -3203,26 +3203,26 @@
"license": "MIT"
},
"node_modules/@github/copilot": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.28.tgz",
"integrity": "sha512-S1Y+KnhywjIsK1DzskoCqPVC3uURohvCRyDkGPWXvMw+lXO5ryOJvHFZDDw7MSRjT7ea7T0m8e3yKdK0OxJhnw==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.34.tgz",
"integrity": "sha512-jFYulj1v00b3j43Er9+WwhZ/XldGq7+gti2s2pRhrdPwYEd1PMvscDZwRa/1iUBz/XQ5HUGac1tD8P7+VUpWjg==",
"license": "SEE LICENSE IN LICENSE.md",
"bin": {
"copilot": "npm-loader.js"
},
"optionalDependencies": {
"@github/copilot-darwin-arm64": "1.0.28",
"@github/copilot-darwin-x64": "1.0.28",
"@github/copilot-linux-arm64": "1.0.28",
"@github/copilot-linux-x64": "1.0.28",
"@github/copilot-win32-arm64": "1.0.28",
"@github/copilot-win32-x64": "1.0.28"
"@github/copilot-darwin-arm64": "1.0.34",
"@github/copilot-darwin-x64": "1.0.34",
"@github/copilot-linux-arm64": "1.0.34",
"@github/copilot-linux-x64": "1.0.34",
"@github/copilot-win32-arm64": "1.0.34",
"@github/copilot-win32-x64": "1.0.34"
}
},
"node_modules/@github/copilot-darwin-arm64": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.28.tgz",
"integrity": "sha512-Bkis5dkOsdgaK95j/8mgIGSxHlRuL211Wa3S4MeeYGrilZweaG20sa0jktzagL6XFxfPRKBC87E+fDFyXz1L3g==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.34.tgz",
"integrity": "sha512-g94EhSLd3a6fckZ6xb/zP2DZJZEx7kONWdOoDiHXUtSqc4RiZ7OBq1EwT4WrPY1lsmy9sioJIcZSGzJd0C1M7Q==",
"cpu": [
"arm64"
],
@@ -3236,9 +3236,9 @@
}
},
"node_modules/@github/copilot-darwin-x64": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.28.tgz",
"integrity": "sha512-0RIabmr05KgPPUcD4kpKNBGg/eRwJF2NrYtibDUCIRFWKZu7q0m9c9EURpW0wOO32cXZtAQ+BmJIGlqfCkt6gA==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.34.tgz",
"integrity": "sha512-tIgFEZV0ohCF/VgTODJWre3xURsvEd+6IPN/HPKWxG6AXtJOxzjlr5kLYYdPHdNlHNmSxGQw8fWsN2FZ4nyDdw==",
"cpu": [
"x64"
],
@@ -3252,9 +3252,9 @@
}
},
"node_modules/@github/copilot-linux-arm64": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.28.tgz",
"integrity": "sha512-A/zQ4ifN+FSSEHdPHajv5UwygS5BOQ8l1AJMYdVBnnuqVX9bCcRAJJ4S/F60AnaDimzDvVuYSe3lYXRYxz3M5A==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.34.tgz",
"integrity": "sha512-feqjEetrlqBUhYskIsPmwACQOWO99cvRpKwIFl3OlEjWoj+//HA7yXh49UIe0gD8wQUI8hy05uVz3K2/xti2nQ==",
"cpu": [
"arm64"
],
@@ -3268,9 +3268,9 @@
}
},
"node_modules/@github/copilot-linux-x64": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.28.tgz",
"integrity": "sha512-0VqoW9hj7qKj+eH2un9E7zn9AbassTZHkKQPsd8yPvLsmPaNJgsHMYDrCCNZNol2ZSGt/XskTfmWQaQM6BoBfg==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.34.tgz",
"integrity": "sha512-3l0rZZqmceklHizJaaO+Iy2PsAZpVZS9Mn9VYnVcY/8Yzt4Y2hmXSFcKVfc4l+JlhFsPs7trhMdIkfwkjaKPLg==",
"cpu": [
"x64"
],
@@ -3284,9 +3284,9 @@
}
},
"node_modules/@github/copilot-win32-arm64": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.28.tgz",
"integrity": "sha512-f28NKudBtIXTpIliHGJbRhEfCItsXKWNzXzgqgmP8FZB+JYrqG/ysU2qCUCxhpv3PLjMLWqnsWs+mIvVLTH9zw==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.34.tgz",
"integrity": "sha512-06kEJO3iyohmAqF4iIbOxOfWLFSIpLDJ1L1oEHRtouMrH2Ll1wrUjsoQT1gXgBOv7rifl25qx/Avx5zKqvuORw==",
"cpu": [
"arm64"
],
@@ -3300,9 +3300,9 @@
}
},
"node_modules/@github/copilot-win32-x64": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.28.tgz",
"integrity": "sha512-b9ZEx2i5P7DZTP66FXTfwf81r5kbAqs2GEJjDdevCwxH7cRexqM9eBxQGj1zGtm4qXF7JGK2eH6Ay7NC28m1Iw==",
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.34.tgz",
"integrity": "sha512-QLL8pS4q2TTyQbClEXxqXtQGPr4lk+pwc8hPMUL7iw7HGDOvs1WCLMT1ZSDPPcxSrTnR/dURX5za1NMA8uF/fw==",
"cpu": [
"x64"
],
+1 -1
View File
@@ -6438,7 +6438,7 @@
"@anthropic-ai/claude-agent-sdk": "0.2.112",
"@anthropic-ai/sdk": "^0.82.0",
"@github/blackbird-external-ingest-utils": "^0.3.0",
"@github/copilot": "^1.0.28",
"@github/copilot": "^1.0.34",
"@google/genai": "^1.22.0",
"@humanwhocodes/gitignore-to-minimatch": "1.0.2",
"@microsoft/tiktokenizer": "^1.0.10",
@@ -178,7 +178,7 @@ export class CopilotCLISessionService extends Disposable implements ICopilotCLIS
this.monitorSessionFiles();
this._sessionManager = new Lazy<Promise<internal.LocalSessionManager>>(async () => {
try {
const { internal, createLocalFeatureFlagService } = await this.getSDKPackage();
const { internal, createLocalFeatureFlagService, AutoModeSessionManager } = await this.getSDKPackage();
// Always enable SDK OTel so the debug panel receives native spans via the bridge.
// When user OTel is disabled, we force file exporter to /dev/null so the SDK
// creates OtelSessionTracker (for debug panel) but doesn't export to any collector.
@@ -210,6 +210,7 @@ export class CopilotCLISessionService extends Disposable implements ICopilotCLIS
return new internal.LocalSessionManager({
featureFlagService: createLocalFeatureFlagService(),
telemetryService: new internal.NoopTelemetryService(),
autoModeManager: new AutoModeSessionManager(),
}, { flushDebounceMs: undefined, settings: undefined, version: undefined });
}
catch (error) {
@@ -221,8 +222,8 @@ export class CopilotCLISessionService extends Disposable implements ICopilotCLIS
}
private async getSDKPackage() {
const { internal, LocalSession, createLocalFeatureFlagService } = await this.copilotCLISDK.getPackage();
return { internal, LocalSession, createLocalFeatureFlagService };
const { internal, LocalSession, createLocalFeatureFlagService, AutoModeSessionManager } = await this.copilotCLISDK.getPackage();
return { internal, LocalSession, createLocalFeatureFlagService, AutoModeSessionManager };
}
getSessionWorkingDirectory(sessionId: string): Uri | undefined {
@@ -15,9 +15,11 @@ import { NullChatDebugFileLoggerService } from '../../../../../platform/chat/com
import { IConfigurationService } from '../../../../../platform/configuration/common/configurationService';
import { NullNativeEnvService } from '../../../../../platform/env/common/nullEnvService';
import { MockFileSystemService } from '../../../../../platform/filesystem/node/test/mockFileSystemService';
import { MockGitService } from '../../../../../platform/ignore/node/test/mockGitService';
import { ILogService } from '../../../../../platform/log/common/logService';
import { NullMcpService } from '../../../../../platform/mcp/common/mcpService';
import { NoopOTelService, resolveOTelConfig } from '../../../../../platform/otel/common/index';
import { MockPromptsService } from '../../../../../platform/promptFiles/test/common/mockPromptsService';
import { NullRequestLogger } from '../../../../../platform/requestLogger/node/nullRequestLogger';
import { NullWorkspaceService } from '../../../../../platform/workspace/common/workspaceService';
import { mock } from '../../../../../util/common/test/simpleMock';
@@ -41,8 +43,6 @@ import { CopilotCLISessionService, CopilotCLISessionWorkspaceTracker, ICopilotCL
import { CopilotCLIMCPHandler } from '../mcpHandler';
import { IQuestion, IQuestionAnswer, IUserQuestionHandler } from '../userInputHelpers';
import { MockCliSdkSession, MockCliSdkSessionManager, MockSkillLocations, NullCopilotCLIAgents, NullICopilotCLIImageSupport } from './testHelpers';
import { MockPromptsService } from '../../../../../platform/promptFiles/test/common/mockPromptsService';
import { MockGitService } from '../../../../../platform/ignore/node/test/mockGitService';
// Re-export for backward compatibility with other spec files
export { MockCliSdkSession, MockCliSdkSessionManager, MockSkillLocations, NullCopilotCLIAgents, NullICopilotCLIImageSupport } from './testHelpers';
@@ -108,7 +108,7 @@ describe('CopilotCLISessionService', () => {
beforeEach(async () => {
vi.useRealTimers();
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} })),
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} })),
getRequestId: vi.fn(() => undefined),
} as unknown as ICopilotCLISDK;
@@ -341,7 +341,7 @@ describe('CopilotCLISessionService', () => {
const sessionDir = URI.file(getCopilotCLISessionDir(sessionId));
const fileSystem = new MockFileSystemService();
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} }))
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} }))
} as unknown as ICopilotCLISDK;
const services = createExtensionUnitTestingServices();
disposables.add(services);
@@ -380,7 +380,7 @@ describe('CopilotCLISessionService', () => {
const sessionDir = URI.file(getCopilotCLISessionDir(sessionId));
const fileSystem = new MockFileSystemService();
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} }))
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} }))
} as unknown as ICopilotCLISDK;
const services = createExtensionUnitTestingServices();
disposables.add(services);
@@ -445,7 +445,7 @@ describe('CopilotCLISessionService', () => {
const sessionDir = URI.file(getCopilotCLISessionDir(sessionId));
const fileSystem = new MockFileSystemService();
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} }))
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} }))
} as unknown as ICopilotCLISDK;
const services = createExtensionUnitTestingServices();
disposables.add(services);
@@ -491,7 +491,7 @@ describe('CopilotCLISessionService', () => {
const sessionDir = URI.file(getCopilotCLISessionDir(sessionId));
const fileSystem = new MockFileSystemService();
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} }))
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} }))
} as unknown as ICopilotCLISDK;
const services = createExtensionUnitTestingServices();
disposables.add(services);
@@ -755,7 +755,7 @@ describe('CopilotCLISessionService', () => {
const storeMetadataSpy = vi.spyOn(metadataStore, 'storeForkedSessionMetadata');
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} })),
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} })),
getRequestId: vi.fn(() => undefined),
} as unknown as ICopilotCLISDK;
const services = disposables.add(createExtensionUnitTestingServices());
@@ -796,7 +796,7 @@ describe('CopilotCLISessionService', () => {
manager.sessions.set(sourceId, sdkSession);
const sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} })),
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, LocalSession: MockLocalSession, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} })),
getRequestId: vi.fn(() => ({ vscodeRequestId: 'vsc-req-1', copilotRequestId: 'sdk-event-1' })),
} as unknown as ICopilotCLISDK;
const services = disposables.add(createExtensionUnitTestingServices());
@@ -327,7 +327,7 @@ describe('CopilotCLIChatSessionParticipant.handleRequest', () => {
}
});
sdk = {
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, createLocalFeatureFlagService: () => ({}), noopTelemetryBinder: {} })),
getPackage: vi.fn(async () => ({ internal: { LocalSessionManager: MockCliSdkSessionManager, NoopTelemetryService: class { } }, createLocalFeatureFlagService: () => ({}), AutoModeSessionManager: class { }, noopTelemetryBinder: {} })),
getAuthInfo: vi.fn(async () => ({ type: 'token' as const, token: 'valid-token', host: 'https://github.com' })),
} as unknown as ICopilotCLISDK;
const services = disposables.add(createExtensionUnitTestingServices());