diff --git a/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.ts b/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.ts index e7176d38ef6..9757d370d55 100644 --- a/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.ts +++ b/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.ts @@ -426,9 +426,9 @@ export class AgentSessionsModel extends Disposable implements IAgentSessionsMode private registerListeners(): void { // Sessions changes - this._register(this.chatSessionsService.onDidChangeItemsProviders(({ chatSessionType: provider }) => this.resolve(provider))); + this._register(this.chatSessionsService.onDidChangeItemsProviders(({ chatSessionType }) => this.resolve(chatSessionType))); this._register(this.chatSessionsService.onDidChangeAvailability(() => this.resolve(undefined))); - this._register(this.chatSessionsService.onDidChangeSessionItems(provider => this.resolve(provider))); + this._register(this.chatSessionsService.onDidChangeSessionItems(({ chatSessionType }) => this.resolve(chatSessionType))); // State this._register(this.storageService.onWillSaveState(() => { diff --git a/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.ts b/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.ts index 985cc88e959..14bd1a005fc 100644 --- a/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.ts +++ b/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.ts @@ -52,8 +52,8 @@ export class LocalAgentsSessionsProvider extends Disposable implements IChatSess () => this._onDidChangeChatSessionItems.fire() )); - this._register(this.chatSessionsService.onDidChangeSessionItems(sessionType => { - if (sessionType === this.chatSessionType) { + this._register(this.chatSessionsService.onDidChangeSessionItems(({ chatSessionType }) => { + if (chatSessionType === this.chatSessionType) { this._onDidChange.fire(); } })); diff --git a/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts index d67e1a23322..3bef1b718b9 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts @@ -259,11 +259,11 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ private readonly _alternativeIdMap: Map = new Map(); private readonly _contextKeys = new Set(); - private readonly _onDidChangeItemsProviders = this._register(new Emitter()); - readonly onDidChangeItemsProviders: Event = this._onDidChangeItemsProviders.event; + private readonly _onDidChangeItemsProviders = this._register(new Emitter<{ readonly chatSessionType: string }>()); + readonly onDidChangeItemsProviders = this._onDidChangeItemsProviders.event; - private readonly _onDidChangeSessionItems = this._register(new Emitter()); - readonly onDidChangeSessionItems: Event = this._onDidChangeSessionItems.event; + private readonly _onDidChangeSessionItems = this._register(new Emitter<{ readonly chatSessionType: string }>()); + readonly onDidChangeSessionItems = this._onDidChangeSessionItems.event; private readonly _onDidChangeAvailability = this._register(new Emitter()); readonly onDidChangeAvailability: Event = this._onDidChangeAvailability.event; @@ -339,7 +339,7 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ } })); - this._register(this.onDidChangeSessionItems(chatSessionType => { + this._register(this.onDidChangeSessionItems(({ chatSessionType }) => { this.updateInProgressStatus(chatSessionType).catch(error => { this._logService.warn(`Failed to update progress status for '${chatSessionType}':`, error); }); @@ -637,7 +637,7 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ this._onDidChangeItemsProviders.fire(provider); } for (const { contribution } of this._contributions.values()) { - this._onDidChangeSessionItems.fire(contribution.type); + this._onDidChangeSessionItems.fire({ chatSessionType: contribution.type }); } } this._updateHasCanDelegateProvidersContextKey(); @@ -828,7 +828,7 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ const disposables = new DisposableStore(); disposables.add(provider.onDidChangeChatSessionItems(() => { - this._onDidChangeSessionItems.fire(chatSessionType); + this._onDidChangeSessionItems.fire({ chatSessionType }); })); this.updateInProgressStatus(chatSessionType).catch(error => { @@ -1010,7 +1010,7 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ } public notifySessionItemsChanged(chatSessionType: string): void { - this._onDidChangeSessionItems.fire(chatSessionType); + this._onDidChangeSessionItems.fire({ chatSessionType }); } /** diff --git a/src/vs/workbench/contrib/chat/common/chatSessionsService.ts b/src/vs/workbench/contrib/chat/common/chatSessionsService.ts index ac53b31a898..871c9e3ade0 100644 --- a/src/vs/workbench/contrib/chat/common/chatSessionsService.ts +++ b/src/vs/workbench/contrib/chat/common/chatSessionsService.ts @@ -206,8 +206,8 @@ export interface IChatSessionsService { readonly _serviceBrand: undefined; // #region Chat session item provider support - readonly onDidChangeItemsProviders: Event; - readonly onDidChangeSessionItems: Event; + readonly onDidChangeItemsProviders: Event<{ readonly chatSessionType: string }>; + readonly onDidChangeSessionItems: Event<{ readonly chatSessionType: string }>; readonly onDidChangeAvailability: Event; readonly onDidChangeInProgress: Event; diff --git a/src/vs/workbench/contrib/chat/test/common/mockChatSessionsService.ts b/src/vs/workbench/contrib/chat/test/common/mockChatSessionsService.ts index 80e7de23580..73d80c7f11b 100644 --- a/src/vs/workbench/contrib/chat/test/common/mockChatSessionsService.ts +++ b/src/vs/workbench/contrib/chat/test/common/mockChatSessionsService.ts @@ -19,10 +19,10 @@ export class MockChatSessionsService implements IChatSessionsService { private readonly _onDidChangeSessionOptions = new Emitter(); readonly onDidChangeSessionOptions = this._onDidChangeSessionOptions.event; - private readonly _onDidChangeItemsProviders = new Emitter(); + private readonly _onDidChangeItemsProviders = new Emitter<{ readonly chatSessionType: string }>(); readonly onDidChangeItemsProviders = this._onDidChangeItemsProviders.event; - private readonly _onDidChangeSessionItems = new Emitter(); + private readonly _onDidChangeSessionItems = new Emitter<{ readonly chatSessionType: string }>(); readonly onDidChangeSessionItems = this._onDidChangeSessionItems.event; private readonly _onDidChangeAvailability = new Emitter(); @@ -54,7 +54,7 @@ export class MockChatSessionsService implements IChatSessionsService { } fireDidChangeSessionItems(chatSessionType: string): void { - this._onDidChangeSessionItems.fire(chatSessionType); + this._onDidChangeSessionItems.fire({ chatSessionType }); } fireDidChangeAvailability(): void { @@ -168,7 +168,7 @@ export class MockChatSessionsService implements IChatSessionsService { } notifySessionItemsChanged(chatSessionType: string): void { - this._onDidChangeSessionItems.fire(chatSessionType); + this._onDidChangeSessionItems.fire({ chatSessionType }); } getSessionOption(sessionResource: URI, optionId: string): string | undefined {