1
- import { Protocol } from "../shared/protocol.js" ;
1
+ import { ProgressCallback , Protocol } from "../shared/protocol.js" ;
2
2
import { Transport } from "../shared/transport.js" ;
3
3
import {
4
4
ClientNotification ,
@@ -11,6 +11,24 @@ import {
11
11
Request ,
12
12
Result ,
13
13
ServerCapabilities ,
14
+ CompleteRequest ,
15
+ GetPromptRequest ,
16
+ ListPromptsRequest ,
17
+ ListResourcesRequest ,
18
+ ReadResourceRequest ,
19
+ SubscribeRequest ,
20
+ UnsubscribeRequest ,
21
+ CallToolRequest ,
22
+ ListToolsRequest ,
23
+ CompleteResultSchema ,
24
+ GetPromptResultSchema ,
25
+ ListPromptsResultSchema ,
26
+ ListResourcesResultSchema ,
27
+ ReadResourceResultSchema ,
28
+ CallToolResultSchema ,
29
+ ListToolsResultSchema ,
30
+ EmptyResultSchema ,
31
+ LoggingLevel ,
14
32
} from "../types.js" ;
15
33
16
34
/**
@@ -103,4 +121,106 @@ export class Client<
103
121
getServerVersion ( ) : Implementation | undefined {
104
122
return this . _serverVersion ;
105
123
}
124
+
125
+ async ping ( ) {
126
+ return this . request ( { method : "ping" } , EmptyResultSchema ) ;
127
+ }
128
+
129
+ async complete (
130
+ params : CompleteRequest [ "params" ] ,
131
+ onprogress ?: ProgressCallback ,
132
+ ) {
133
+ return this . request (
134
+ { method : "completion/complete" , params } ,
135
+ CompleteResultSchema ,
136
+ onprogress ,
137
+ ) ;
138
+ }
139
+
140
+ async setLoggingLevel ( level : LoggingLevel ) {
141
+ return this . request (
142
+ { method : "logging/setLevel" , params : { level } } ,
143
+ EmptyResultSchema ,
144
+ ) ;
145
+ }
146
+
147
+ async getPrompt (
148
+ params : GetPromptRequest [ "params" ] ,
149
+ onprogress ?: ProgressCallback ,
150
+ ) {
151
+ return this . request (
152
+ { method : "prompts/get" , params } ,
153
+ GetPromptResultSchema ,
154
+ onprogress ,
155
+ ) ;
156
+ }
157
+
158
+ async listPrompts (
159
+ params ?: ListPromptsRequest [ "params" ] ,
160
+ onprogress ?: ProgressCallback ,
161
+ ) {
162
+ return this . request (
163
+ { method : "prompts/list" , params } ,
164
+ ListPromptsResultSchema ,
165
+ onprogress ,
166
+ ) ;
167
+ }
168
+
169
+ async listResources (
170
+ params ?: ListResourcesRequest [ "params" ] ,
171
+ onprogress ?: ProgressCallback ,
172
+ ) {
173
+ return this . request (
174
+ { method : "resources/list" , params } ,
175
+ ListResourcesResultSchema ,
176
+ onprogress ,
177
+ ) ;
178
+ }
179
+
180
+ async readResource (
181
+ params : ReadResourceRequest [ "params" ] ,
182
+ onprogress ?: ProgressCallback ,
183
+ ) {
184
+ return this . request (
185
+ { method : "resources/read" , params } ,
186
+ ReadResourceResultSchema ,
187
+ onprogress ,
188
+ ) ;
189
+ }
190
+
191
+ async subscribeResource ( params : SubscribeRequest [ "params" ] ) {
192
+ return this . request (
193
+ { method : "resources/subscribe" , params } ,
194
+ EmptyResultSchema ,
195
+ ) ;
196
+ }
197
+
198
+ async unsubscribeResource ( params : UnsubscribeRequest [ "params" ] ) {
199
+ return this . request (
200
+ { method : "resources/unsubscribe" , params } ,
201
+ EmptyResultSchema ,
202
+ ) ;
203
+ }
204
+
205
+ async callTool (
206
+ params : CallToolRequest [ "params" ] ,
207
+ onprogress ?: ProgressCallback ,
208
+ ) {
209
+ return this . request (
210
+ { method : "tools/call" , params } ,
211
+ CallToolResultSchema ,
212
+ onprogress ,
213
+ ) ;
214
+ }
215
+
216
+ async listTools (
217
+ params ?: ListToolsRequest [ "params" ] ,
218
+ onprogress ?: ProgressCallback ,
219
+ ) {
220
+ return this . request (
221
+ { method : "tools/list" , params } ,
222
+ ListToolsResultSchema ,
223
+ onprogress ,
224
+ ) ;
225
+ }
106
226
}
0 commit comments