Skip to content

Commit e693491

Browse files
authored
forward extension description from chatSessions contribution (microsoft#257879)
forward extension description from contribution
1 parent d612de4 commit e693491

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

src/vs/workbench/contrib/chat/browser/chatSessions.contribution.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { ILogService } from '../../../../platform/log/common/log.js';
1414
import { Registry } from '../../../../platform/registry/common/platform.js';
1515
import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from '../../../common/contributions.js';
1616
import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.js';
17-
import { IExtensionService, isProposedApiEnabled, nullExtensionDescription } from '../../../services/extensions/common/extensions.js';
17+
import { IExtensionService, isProposedApiEnabled } from '../../../services/extensions/common/extensions.js';
1818
import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
1919
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
2020
import { IChatWidgetService } from '../browser/chat.js';
@@ -86,6 +86,7 @@ export class ChatSessionsContribution extends Disposable implements IWorkbenchCo
8686
displayName: contribution.displayName,
8787
description: contribution.description,
8888
when: contribution.when,
89+
extensionDescription: ext.description,
8990
};
9091
this.logService.info(`Registering chat session from extension contribution: ${c.displayName} (id='${c.id}' name='${c.name}')`);
9192
this._register(this.chatSessionsService.registerContribution(c)); // TODO: Is it for contribution to own this? I think not
@@ -147,7 +148,8 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ
147148
}
148149

149150
private registerDynamicAgent(contribution: IChatSessionsExtensionPoint): IDisposable {
150-
const { id, name, displayName, description } = contribution;
151+
const { id, name, displayName, description, extensionDescription } = contribution;
152+
const { identifier: extensionId, name: extensionName, displayName: extensionDisplayName, publisher: extensionPublisherId } = extensionDescription;
151153
const agentData: IChatAgentData = {
152154
id,
153155
name,
@@ -158,16 +160,16 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ
158160
isDynamic: true,
159161
isCodingAgent: true, // TODO: Influences chat UI (eg: locks chat to participant, hides UX elements, etc...)
160162
slashCommands: [],
161-
locations: [ChatAgentLocation.Panel],
162-
modes: [ChatModeKind.Agent, ChatModeKind.Ask],
163+
locations: [ChatAgentLocation.Panel], // TODO: This doesn't appear to be respected
164+
modes: [ChatModeKind.Agent, ChatModeKind.Ask], // TODO: These are no longer respected
163165
disambiguation: [],
164166
metadata: {
165167
themeIcon: Codicon.sendToRemoteAgent,
166168
isSticky: false,
167169
},
168-
extensionId: nullExtensionDescription.identifier,
169-
extensionDisplayName: nullExtensionDescription.name,
170-
extensionPublisherId: nullExtensionDescription.publisher,
170+
extensionId,
171+
extensionDisplayName: extensionDisplayName || extensionName,
172+
extensionPublisherId,
171173
};
172174

173175
const agentImpl = this._instantiationService.createInstance(CodingAgentChatImplementation, contribution);

src/vs/workbench/contrib/chat/common/chatSessionsService.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ import { URI } from '../../../../base/common/uri.js';
1111
import { ThemeIcon } from '../../../../base/common/themables.js';
1212
import { IChatProgress } from './chatService.js';
1313
import { IChatAgentRequest } from './chatAgents.js';
14+
import { IRelaxedExtensionDescription } from '../../../../platform/extensions/common/extensions.js';
1415

1516
export interface IChatSessionsExtensionPoint {
1617
id: string;
1718
name: string;
1819
displayName: string;
1920
description: string;
21+
extensionDescription: IRelaxedExtensionDescription;
2022
when?: string;
2123
}
2224
export interface IChatSessionItem {

0 commit comments

Comments
 (0)