@@ -11,7 +11,7 @@ import { InstantiationType, registerSingleton } from '../../../../platform/insta
11
11
import { URI } from '../../../../base/common/uri.js' ;
12
12
import { ThemeIcon } from '../../../../base/common/themables.js' ;
13
13
14
- export interface IChatSessionDefinition {
14
+ export interface IChatSessionItem {
15
15
id : string ;
16
16
label : string ;
17
17
iconPath ?: URI | {
@@ -20,38 +20,38 @@ export interface IChatSessionDefinition {
20
20
} | ThemeIcon ;
21
21
}
22
22
23
- export interface IChatSessionDefinitionProvider {
23
+ export interface IChatSessionItemProvider {
24
24
readonly chatSessionType : string ;
25
- provideChatSessionDefinitions ( token : CancellationToken ) : Promise < IChatSessionDefinition [ ] > ;
25
+ provideChatSessionItems ( token : CancellationToken ) : Promise < IChatSessionItem [ ] > ;
26
26
}
27
27
28
28
export interface IChatSessionsService {
29
29
readonly _serviceBrand : undefined ;
30
- registerChatSessionDefinitionProvider ( handle : number , provider : IChatSessionDefinitionProvider ) : IDisposable ;
31
- hasChatSessionDefinitionProviders : boolean ;
32
- provideChatSessionDefinitions ( token : CancellationToken ) : Promise < { provider : IChatSessionDefinitionProvider ; session : IChatSessionDefinition } [ ] > ;
30
+ registerChatSessionItemProvider ( handle : number , provider : IChatSessionItemProvider ) : IDisposable ;
31
+ hasChatSessionItemProviders : boolean ;
32
+ provideChatSessionItems ( token : CancellationToken ) : Promise < { provider : IChatSessionItemProvider ; session : IChatSessionItem } [ ] > ;
33
33
}
34
34
35
35
export const IChatSessionsService = createDecorator < IChatSessionsService > ( 'chatSessionsService' ) ;
36
36
37
37
export class ChatSessionsService extends Disposable implements IChatSessionsService {
38
38
readonly _serviceBrand : undefined ;
39
- private _providers : Map < number , IChatSessionDefinitionProvider > = new Map ( ) ;
39
+ private _providers : Map < number , IChatSessionItemProvider > = new Map ( ) ;
40
40
41
41
constructor (
42
42
@ILogService private readonly _logService : ILogService ,
43
43
) {
44
44
super ( ) ;
45
45
}
46
46
47
- public async provideChatSessionDefinitions ( token : CancellationToken ) : Promise < { provider : IChatSessionDefinitionProvider ; session : IChatSessionDefinition } [ ] > {
48
- const results : { provider : IChatSessionDefinitionProvider ; session : IChatSessionDefinition } [ ] = [ ] ;
47
+ public async provideChatSessionItems ( token : CancellationToken ) : Promise < { provider : IChatSessionItemProvider ; session : IChatSessionItem } [ ] > {
48
+ const results : { provider : IChatSessionItemProvider ; session : IChatSessionItem } [ ] = [ ] ;
49
49
50
50
// Iterate through all registered providers and collect their results
51
51
for ( const [ handle , provider ] of this . _providers ) {
52
52
try {
53
- if ( provider . provideChatSessionDefinitions ) {
54
- const sessions = await provider . provideChatSessionDefinitions ( token ) ;
53
+ if ( provider . provideChatSessionItems ) {
54
+ const sessions = await provider . provideChatSessionItems ( token ) ;
55
55
results . push ( ...sessions . map ( session => ( { provider, session } ) ) ) ;
56
56
}
57
57
} catch ( error ) {
@@ -65,7 +65,7 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ
65
65
return results ;
66
66
}
67
67
68
- public registerChatSessionDefinitionProvider ( handle : number , provider : IChatSessionDefinitionProvider ) : IDisposable {
68
+ public registerChatSessionItemProvider ( handle : number , provider : IChatSessionItemProvider ) : IDisposable {
69
69
this . _providers . set ( handle , provider ) ;
70
70
return {
71
71
dispose : ( ) => {
@@ -74,7 +74,7 @@ export class ChatSessionsService extends Disposable implements IChatSessionsServ
74
74
} ;
75
75
}
76
76
77
- public get hasChatSessionDefinitionProviders ( ) : boolean {
77
+ public get hasChatSessionItemProviders ( ) : boolean {
78
78
return this . _providers . size > 0 ;
79
79
}
80
80
}
0 commit comments