Skip to content

Commit 12c9234

Browse files
committed
Support onprogress callbacks
1 parent a9b6ae6 commit 12c9234

File tree

2 files changed

+46
-11
lines changed

2 files changed

+46
-11
lines changed

Diff for: src/client/index.ts

+40-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Protocol } from "../shared/protocol.js";
1+
import { ProgressCallback, Protocol } from "../shared/protocol.js";
22
import { Transport } from "../shared/transport.js";
33
import {
44
ClientNotification,
@@ -126,10 +126,14 @@ export class Client<
126126
return this.request({ method: "ping" }, EmptyResultSchema);
127127
}
128128

129-
async complete(params: CompleteRequest["params"]) {
129+
async complete(
130+
params: CompleteRequest["params"],
131+
onprogress?: ProgressCallback,
132+
) {
130133
return this.request(
131134
{ method: "completion/complete", params },
132135
CompleteResultSchema,
136+
onprogress,
133137
);
134138
}
135139

@@ -140,31 +144,47 @@ export class Client<
140144
);
141145
}
142146

143-
async getPrompt(params: GetPromptRequest["params"]) {
147+
async getPrompt(
148+
params: GetPromptRequest["params"],
149+
onprogress?: ProgressCallback,
150+
) {
144151
return this.request(
145152
{ method: "prompts/get", params },
146153
GetPromptResultSchema,
154+
onprogress,
147155
);
148156
}
149157

150-
async listPrompts(params?: ListPromptsRequest["params"]) {
158+
async listPrompts(
159+
params?: ListPromptsRequest["params"],
160+
onprogress?: ProgressCallback,
161+
) {
151162
return this.request(
152163
{ method: "prompts/list", params },
153164
ListPromptsResultSchema,
165+
onprogress,
154166
);
155167
}
156168

157-
async listResources(params?: ListResourcesRequest["params"]) {
169+
async listResources(
170+
params?: ListResourcesRequest["params"],
171+
onprogress?: ProgressCallback,
172+
) {
158173
return this.request(
159174
{ method: "resources/list", params },
160175
ListResourcesResultSchema,
176+
onprogress,
161177
);
162178
}
163179

164-
async readResource(params: ReadResourceRequest["params"]) {
180+
async readResource(
181+
params: ReadResourceRequest["params"],
182+
onprogress?: ProgressCallback,
183+
) {
165184
return this.request(
166185
{ method: "resources/read", params },
167186
ReadResourceResultSchema,
187+
onprogress,
168188
);
169189
}
170190

@@ -182,14 +202,25 @@ export class Client<
182202
);
183203
}
184204

185-
async callTool(params: CallToolRequest["params"]) {
186-
return this.request({ method: "tools/call", params }, CallToolResultSchema);
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+
);
187214
}
188215

189-
async listTools(params?: ListToolsRequest["params"]) {
216+
async listTools(
217+
params?: ListToolsRequest["params"],
218+
onprogress?: ProgressCallback,
219+
) {
190220
return this.request(
191221
{ method: "tools/list", params },
192222
ListToolsResultSchema,
223+
onprogress,
193224
);
194225
}
195226
}

Diff for: src/server/index.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Protocol } from "../shared/protocol.js";
1+
import { ProgressCallback, Protocol } from "../shared/protocol.js";
22
import {
33
ClientCapabilities,
44
Implementation,
@@ -143,10 +143,14 @@ export class Server<
143143
return this.request({ method: "ping" }, EmptyResultSchema);
144144
}
145145

146-
async createMessage(params: CreateMessageRequest["params"]) {
146+
async createMessage(
147+
params: CreateMessageRequest["params"],
148+
onprogress?: ProgressCallback,
149+
) {
147150
return this.request(
148151
{ method: "sampling/createMessage", params },
149152
CreateMessageResultSchema,
153+
onprogress,
150154
);
151155
}
152156

0 commit comments

Comments
 (0)