@@ -14,7 +14,7 @@ import { ILogService } from '../../../../platform/log/common/log.js';
14
14
import { Registry } from '../../../../platform/registry/common/platform.js' ;
15
15
import { IWorkbenchContribution , IWorkbenchContributionsRegistry , Extensions as WorkbenchExtensions } from '../../../common/contributions.js' ;
16
16
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' ;
18
18
import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js' ;
19
19
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js' ;
20
20
import { IChatWidgetService } from '../browser/chat.js' ;
@@ -86,6 +86,7 @@ export class ChatSessionsContribution extends Disposable implements IWorkbenchCo
86
86
displayName : contribution . displayName ,
87
87
description : contribution . description ,
88
88
when : contribution . when ,
89
+ extensionDescription : ext . description ,
89
90
} ;
90
91
this . logService . info ( `Registering chat session from extension contribution: ${ c . displayName } (id='${ c . id } ' name='${ c . name } ')` ) ;
91
92
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
147
148
}
148
149
149
150
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 ;
151
153
const agentData : IChatAgentData = {
152
154
id,
153
155
name,
@@ -158,16 +160,16 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ
158
160
isDynamic : true ,
159
161
isCodingAgent : true , // TODO: Influences chat UI (eg: locks chat to participant, hides UX elements, etc...)
160
162
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
163
165
disambiguation : [ ] ,
164
166
metadata : {
165
167
themeIcon : Codicon . sendToRemoteAgent ,
166
168
isSticky : false ,
167
169
} ,
168
- extensionId : nullExtensionDescription . identifier ,
169
- extensionDisplayName : nullExtensionDescription . name ,
170
- extensionPublisherId : nullExtensionDescription . publisher ,
170
+ extensionId,
171
+ extensionDisplayName : extensionDisplayName || extensionName ,
172
+ extensionPublisherId,
171
173
} ;
172
174
173
175
const agentImpl = this . _instantiationService . createInstance ( CodingAgentChatImplementation , contribution ) ;
0 commit comments