File tree 3 files changed +14
-3
lines changed
3 files changed +14
-3
lines changed Original file line number Diff line number Diff line change 6
6
ClientNotification ,
7
7
ClientRequest ,
8
8
ClientResult ,
9
+ CompatibilityCallToolResultSchema ,
9
10
CompleteRequest ,
10
11
CompleteResultSchema ,
11
12
EmptyResultSchema ,
@@ -218,11 +219,12 @@ export class Client<
218
219
219
220
async callTool (
220
221
params : CallToolRequest [ "params" ] ,
222
+ resultSchema : typeof CallToolResultSchema | typeof CompatibilityCallToolResultSchema = CallToolResultSchema ,
221
223
onprogress ?: ProgressCallback ,
222
224
) {
223
225
return this . request (
224
226
{ method : "tools/call" , params } ,
225
- CallToolResultSchema ,
227
+ resultSchema ,
226
228
onprogress ,
227
229
) ;
228
230
}
Original file line number Diff line number Diff line change 1
- import { AnyZodObject , ZodLiteral , ZodObject , z } from "zod" ;
1
+ import { ZodLiteral , ZodObject , ZodType , z } from "zod" ;
2
2
import {
3
3
ErrorCode ,
4
4
JSONRPCError ,
@@ -250,7 +250,7 @@ export class Protocol<
250
250
*
251
251
* Do not use this method to emit notifications! Use notification() instead.
252
252
*/
253
- request < T extends AnyZodObject > (
253
+ request < T extends ZodType < object > > (
254
254
request : SendRequestT ,
255
255
resultSchema : T ,
256
256
onprogress ?: ProgressCallback ,
Original file line number Diff line number Diff line change @@ -722,6 +722,13 @@ export const CallToolResultSchema = ResultSchema.extend({
722
722
isError : z . boolean ( ) ,
723
723
} ) ;
724
724
725
+ /**
726
+ * CallToolResultSchema extended with backwards compatibility to protocol version 2024-10-07.
727
+ */
728
+ export const CompatibilityCallToolResultSchema = CallToolResultSchema . or ( ResultSchema . extend ( {
729
+ toolResult : z . unknown ( ) ,
730
+ } ) ) ;
731
+
725
732
/**
726
733
* Used by the client to invoke a tool provided by the server.
727
734
*/
@@ -1054,6 +1061,7 @@ export const ServerResultSchema = z.union([
1054
1061
ListResourceTemplatesResultSchema ,
1055
1062
ReadResourceResultSchema ,
1056
1063
CallToolResultSchema ,
1064
+ CompatibilityCallToolResultSchema ,
1057
1065
ListToolsResultSchema ,
1058
1066
] ) ;
1059
1067
@@ -1148,6 +1156,7 @@ export type Tool = z.infer<typeof ToolSchema>;
1148
1156
export type ListToolsRequest = z . infer < typeof ListToolsRequestSchema > ;
1149
1157
export type ListToolsResult = z . infer < typeof ListToolsResultSchema > ;
1150
1158
export type CallToolResult = z . infer < typeof CallToolResultSchema > ;
1159
+ export type CompatibilityCallToolResult = z . infer < typeof CompatibilityCallToolResultSchema > ;
1151
1160
export type CallToolRequest = z . infer < typeof CallToolRequestSchema > ;
1152
1161
export type ToolListChangedNotification = z . infer <
1153
1162
typeof ToolListChangedNotificationSchema
You can’t perform that action at this time.
0 commit comments