Merge pull request #292626 from mjbvz/dev/mjbvz/consistent-scallop

Reduce exposure of `IChatSessionItemProvider`
This commit is contained in:
Matt Bierner
2026-02-03 11:21:46 -08:00
committed by GitHub
5 changed files with 18 additions and 18 deletions

View File

@@ -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(() => {

View File

@@ -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();
}
}));

View File

@@ -259,11 +259,11 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ
private readonly _alternativeIdMap: Map</* alternativeId */ string, /* primaryType */ string> = new Map();
private readonly _contextKeys = new Set<string>();
private readonly _onDidChangeItemsProviders = this._register(new Emitter<IChatSessionItemProvider>());
readonly onDidChangeItemsProviders: Event<IChatSessionItemProvider> = 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<string>());
readonly onDidChangeSessionItems: Event<string> = 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<void>());
readonly onDidChangeAvailability: Event<void> = 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 });
}
/**

View File

@@ -206,8 +206,8 @@ export interface IChatSessionsService {
readonly _serviceBrand: undefined;
// #region Chat session item provider support
readonly onDidChangeItemsProviders: Event<IChatSessionItemProvider>;
readonly onDidChangeSessionItems: Event<string>;
readonly onDidChangeItemsProviders: Event<{ readonly chatSessionType: string }>;
readonly onDidChangeSessionItems: Event<{ readonly chatSessionType: string }>;
readonly onDidChangeAvailability: Event<void>;
readonly onDidChangeInProgress: Event<void>;

View File

@@ -19,10 +19,10 @@ export class MockChatSessionsService implements IChatSessionsService {
private readonly _onDidChangeSessionOptions = new Emitter<URI>();
readonly onDidChangeSessionOptions = this._onDidChangeSessionOptions.event;
private readonly _onDidChangeItemsProviders = new Emitter<IChatSessionItemProvider>();
private readonly _onDidChangeItemsProviders = new Emitter<{ readonly chatSessionType: string }>();
readonly onDidChangeItemsProviders = this._onDidChangeItemsProviders.event;
private readonly _onDidChangeSessionItems = new Emitter<string>();
private readonly _onDidChangeSessionItems = new Emitter<{ readonly chatSessionType: string }>();
readonly onDidChangeSessionItems = this._onDidChangeSessionItems.event;
private readonly _onDidChangeAvailability = new Emitter<void>();
@@ -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 {