5
5
6
6
import * as assert from 'assert' ;
7
7
import 'mocha' ;
8
- import { CancellationToken , ChatAgentContext , ChatAgentRequest , ChatAgentResult2 , ChatVariableLevel , Disposable , Event , EventEmitter , InteractiveSession , ProviderResult , chat , interactive } from 'vscode' ;
8
+ import { CancellationToken , ChatContext , ChatRequest , ChatResult , ChatVariableLevel , Disposable , Event , EventEmitter , InteractiveSession , ProviderResult , chat , interactive } from 'vscode' ;
9
9
import { DeferredPromise , assertNoRpc , closeAllEditors , disposeAll } from '../utils' ;
10
10
11
11
suite ( 'chat' , ( ) => {
@@ -21,15 +21,15 @@ suite('chat', () => {
21
21
disposeAll ( disposables ) ;
22
22
} ) ;
23
23
24
- function getDeferredForRequest ( ) : DeferredPromise < ChatAgentRequest > {
25
- const deferred = new DeferredPromise < ChatAgentRequest > ( ) ;
26
- disposables . push ( setupAgent ( ) ( request => deferred . complete ( request . request ) ) ) ;
24
+ function getDeferredForRequest ( ) : DeferredPromise < ChatRequest > {
25
+ const deferred = new DeferredPromise < ChatRequest > ( ) ;
26
+ disposables . push ( setupParticipant ( ) ( request => deferred . complete ( request . request ) ) ) ;
27
27
28
28
return deferred ;
29
29
}
30
30
31
- function setupAgent ( ) : Event < { request : ChatAgentRequest ; context : ChatAgentContext } > {
32
- const emitter = new EventEmitter < { request : ChatAgentRequest ; context : ChatAgentContext } > ( ) ;
31
+ function setupParticipant ( ) : Event < { request : ChatRequest ; context : ChatContext } > {
32
+ const emitter = new EventEmitter < { request : ChatRequest ; context : ChatContext } > ( ) ;
33
33
disposables . push ( ) ;
34
34
disposables . push ( interactive . registerInteractiveSessionProvider ( 'provider' , {
35
35
prepareSession : ( _token : CancellationToken ) : ProviderResult < InteractiveSession > => {
@@ -40,48 +40,48 @@ suite('chat', () => {
40
40
} ,
41
41
} ) ) ;
42
42
43
- const agent = chat . createChatAgent ( 'agent ', ( request , context , _progress , _token ) => {
43
+ const participant = chat . createChatParticipant ( 'participant ', ( request , context , _progress , _token ) => {
44
44
emitter . fire ( { request, context } ) ;
45
45
return null ;
46
46
} ) ;
47
- agent . isDefault = true ;
48
- agent . commandProvider = {
47
+ participant . isDefault = true ;
48
+ participant . commandProvider = {
49
49
provideCommands : ( _token ) => {
50
50
return [ { name : 'hello' , description : 'Hello' } ] ;
51
51
}
52
52
} ;
53
- disposables . push ( agent ) ;
53
+ disposables . push ( participant ) ;
54
54
return emitter . event ;
55
55
}
56
56
57
- test ( 'agent and slash command' , async ( ) => {
58
- const onRequest = setupAgent ( ) ;
59
- interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@agent /hello friend' } ) ;
57
+ test ( 'participant and slash command' , async ( ) => {
58
+ const onRequest = setupParticipant ( ) ;
59
+ interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@participant /hello friend' } ) ;
60
60
61
61
let i = 0 ;
62
62
onRequest ( request => {
63
63
if ( i === 0 ) {
64
64
assert . deepStrictEqual ( request . request . command , 'hello' ) ;
65
65
assert . strictEqual ( request . request . prompt , 'friend' ) ;
66
66
i ++ ;
67
- interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@agent /hello friend' } ) ;
67
+ interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@participant /hello friend' } ) ;
68
68
} else {
69
69
assert . strictEqual ( request . context . history . length , 1 ) ;
70
- assert . strictEqual ( request . context . history [ 0 ] . agent . agent , 'agent ' ) ;
70
+ assert . strictEqual ( request . context . history [ 0 ] . participant . participant , 'participant ' ) ;
71
71
assert . strictEqual ( request . context . history [ 0 ] . command , 'hello' ) ;
72
72
}
73
73
} ) ;
74
74
} ) ;
75
75
76
- test ( 'agent and variable' , async ( ) => {
76
+ test ( 'participant and variable' , async ( ) => {
77
77
disposables . push ( chat . registerVariable ( 'myVar' , 'My variable' , {
78
78
resolve ( _name , _context , _token ) {
79
79
return [ { level : ChatVariableLevel . Full , value : 'myValue' } ] ;
80
80
}
81
81
} ) ) ;
82
82
83
83
const deferred = getDeferredForRequest ( ) ;
84
- interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@agent hi #myVar' } ) ;
84
+ interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@participant hi #myVar' } ) ;
85
85
const request = await deferred . p ;
86
86
assert . strictEqual ( request . prompt , 'hi #myVar' ) ;
87
87
assert . strictEqual ( request . variables [ 0 ] . values [ 0 ] . value , 'myValue' ) ;
@@ -97,25 +97,25 @@ suite('chat', () => {
97
97
} ,
98
98
} ) ) ;
99
99
100
- const deferred = new DeferredPromise < ChatAgentResult2 > ( ) ;
101
- const agent = chat . createChatAgent ( 'agent ', ( _request , _context , _progress , _token ) => {
100
+ const deferred = new DeferredPromise < ChatResult > ( ) ;
101
+ const participant = chat . createChatParticipant ( 'participant ', ( _request , _context , _progress , _token ) => {
102
102
return { metadata : { key : 'value' } } ;
103
103
} ) ;
104
- agent . isDefault = true ;
105
- agent . commandProvider = {
104
+ participant . isDefault = true ;
105
+ participant . commandProvider = {
106
106
provideCommands : ( _token ) => {
107
107
return [ { name : 'hello' , description : 'Hello' } ] ;
108
108
}
109
109
} ;
110
- agent . followupProvider = {
110
+ participant . followupProvider = {
111
111
provideFollowups ( result , _token ) {
112
112
deferred . complete ( result ) ;
113
113
return [ ] ;
114
114
} ,
115
115
} ;
116
- disposables . push ( agent ) ;
116
+ disposables . push ( participant ) ;
117
117
118
- interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@agent /hello friend' } ) ;
118
+ interactive . sendInteractiveRequestToProvider ( 'provider' , { message : '@participant /hello friend' } ) ;
119
119
const result = await deferred . p ;
120
120
assert . deepStrictEqual ( result . metadata , { key : 'value' } ) ;
121
121
} ) ;
0 commit comments