@contextvm/mcp-sdk 1.27.1-contextvm.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +141 -0
  3. package/dist/cjs/client/index.d.ts +588 -0
  4. package/dist/cjs/client/index.d.ts.map +1 -0
  5. package/dist/cjs/client/index.js +629 -0
  6. package/dist/cjs/client/index.js.map +1 -0
  7. package/dist/cjs/client/stdio.d.ts +77 -0
  8. package/dist/cjs/client/stdio.d.ts.map +1 -0
  9. package/dist/cjs/client/stdio.js +199 -0
  10. package/dist/cjs/client/stdio.js.map +1 -0
  11. package/dist/cjs/experimental/index.d.ts +13 -0
  12. package/dist/cjs/experimental/index.d.ts.map +1 -0
  13. package/dist/cjs/experimental/index.js +29 -0
  14. package/dist/cjs/experimental/index.js.map +1 -0
  15. package/dist/cjs/experimental/tasks/client.d.ts +121 -0
  16. package/dist/cjs/experimental/tasks/client.d.ts.map +1 -0
  17. package/dist/cjs/experimental/tasks/client.js +188 -0
  18. package/dist/cjs/experimental/tasks/client.js.map +1 -0
  19. package/dist/cjs/experimental/tasks/helpers.d.ts +47 -0
  20. package/dist/cjs/experimental/tasks/helpers.d.ts.map +1 -0
  21. package/dist/cjs/experimental/tasks/helpers.js +68 -0
  22. package/dist/cjs/experimental/tasks/helpers.js.map +1 -0
  23. package/dist/cjs/experimental/tasks/index.d.ts +16 -0
  24. package/dist/cjs/experimental/tasks/index.d.ts.map +1 -0
  25. package/dist/cjs/experimental/tasks/index.js +39 -0
  26. package/dist/cjs/experimental/tasks/index.js.map +1 -0
  27. package/dist/cjs/experimental/tasks/interfaces.d.ts +232 -0
  28. package/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -0
  29. package/dist/cjs/experimental/tasks/interfaces.js +19 -0
  30. package/dist/cjs/experimental/tasks/interfaces.js.map +1 -0
  31. package/dist/cjs/experimental/tasks/mcp-server.d.ts +77 -0
  32. package/dist/cjs/experimental/tasks/mcp-server.d.ts.map +1 -0
  33. package/dist/cjs/experimental/tasks/mcp-server.js +36 -0
  34. package/dist/cjs/experimental/tasks/mcp-server.js.map +1 -0
  35. package/dist/cjs/experimental/tasks/server.d.ts +170 -0
  36. package/dist/cjs/experimental/tasks/server.d.ts.map +1 -0
  37. package/dist/cjs/experimental/tasks/server.js +250 -0
  38. package/dist/cjs/experimental/tasks/server.js.map +1 -0
  39. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts +94 -0
  40. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -0
  41. package/dist/cjs/experimental/tasks/stores/in-memory.js +251 -0
  42. package/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -0
  43. package/dist/cjs/experimental/tasks/types.d.ts +10 -0
  44. package/dist/cjs/experimental/tasks/types.d.ts.map +1 -0
  45. package/dist/cjs/experimental/tasks/types.js +28 -0
  46. package/dist/cjs/experimental/tasks/types.js.map +1 -0
  47. package/dist/cjs/inMemory.d.ts +31 -0
  48. package/dist/cjs/inMemory.d.ts.map +1 -0
  49. package/dist/cjs/inMemory.js +51 -0
  50. package/dist/cjs/inMemory.js.map +1 -0
  51. package/dist/cjs/package.json +1 -0
  52. package/dist/cjs/server/completable.d.ts +38 -0
  53. package/dist/cjs/server/completable.d.ts.map +1 -0
  54. package/dist/cjs/server/completable.js +48 -0
  55. package/dist/cjs/server/completable.js.map +1 -0
  56. package/dist/cjs/server/index.d.ts +196 -0
  57. package/dist/cjs/server/index.d.ts.map +1 -0
  58. package/dist/cjs/server/index.js +444 -0
  59. package/dist/cjs/server/index.js.map +1 -0
  60. package/dist/cjs/server/mcp.d.ts +364 -0
  61. package/dist/cjs/server/mcp.d.ts.map +1 -0
  62. package/dist/cjs/server/mcp.js +918 -0
  63. package/dist/cjs/server/mcp.js.map +1 -0
  64. package/dist/cjs/server/stdio.d.ts +28 -0
  65. package/dist/cjs/server/stdio.d.ts.map +1 -0
  66. package/dist/cjs/server/stdio.js +82 -0
  67. package/dist/cjs/server/stdio.js.map +1 -0
  68. package/dist/cjs/server/zod-compat.d.ts +84 -0
  69. package/dist/cjs/server/zod-compat.d.ts.map +1 -0
  70. package/dist/cjs/server/zod-compat.js +244 -0
  71. package/dist/cjs/server/zod-compat.js.map +1 -0
  72. package/dist/cjs/server/zod-json-schema-compat.d.ts +12 -0
  73. package/dist/cjs/server/zod-json-schema-compat.d.ts.map +1 -0
  74. package/dist/cjs/server/zod-json-schema-compat.js +79 -0
  75. package/dist/cjs/server/zod-json-schema-compat.js.map +1 -0
  76. package/dist/cjs/shared/auth-info.d.ts +32 -0
  77. package/dist/cjs/shared/auth-info.d.ts.map +1 -0
  78. package/dist/cjs/shared/auth-info.js +3 -0
  79. package/dist/cjs/shared/auth-info.js.map +1 -0
  80. package/dist/cjs/shared/metadataUtils.d.ts +16 -0
  81. package/dist/cjs/shared/metadataUtils.d.ts.map +1 -0
  82. package/dist/cjs/shared/metadataUtils.js +25 -0
  83. package/dist/cjs/shared/metadataUtils.js.map +1 -0
  84. package/dist/cjs/shared/protocol.d.ts +443 -0
  85. package/dist/cjs/shared/protocol.d.ts.map +1 -0
  86. package/dist/cjs/shared/protocol.js +1104 -0
  87. package/dist/cjs/shared/protocol.js.map +1 -0
  88. package/dist/cjs/shared/responseMessage.d.ts +45 -0
  89. package/dist/cjs/shared/responseMessage.d.ts.map +1 -0
  90. package/dist/cjs/shared/responseMessage.js +23 -0
  91. package/dist/cjs/shared/responseMessage.js.map +1 -0
  92. package/dist/cjs/shared/stdio.d.ts +13 -0
  93. package/dist/cjs/shared/stdio.d.ts.map +1 -0
  94. package/dist/cjs/shared/stdio.js +37 -0
  95. package/dist/cjs/shared/stdio.js.map +1 -0
  96. package/dist/cjs/shared/toolNameValidation.d.ts +31 -0
  97. package/dist/cjs/shared/toolNameValidation.d.ts.map +1 -0
  98. package/dist/cjs/shared/toolNameValidation.js +97 -0
  99. package/dist/cjs/shared/toolNameValidation.js.map +1 -0
  100. package/dist/cjs/shared/transport.d.ts +89 -0
  101. package/dist/cjs/shared/transport.d.ts.map +1 -0
  102. package/dist/cjs/shared/transport.js +43 -0
  103. package/dist/cjs/shared/transport.js.map +1 -0
  104. package/dist/cjs/shared/uriTemplate.d.ts +25 -0
  105. package/dist/cjs/shared/uriTemplate.d.ts.map +1 -0
  106. package/dist/cjs/shared/uriTemplate.js +243 -0
  107. package/dist/cjs/shared/uriTemplate.js.map +1 -0
  108. package/dist/cjs/spec.types.d.ts +2299 -0
  109. package/dist/cjs/spec.types.d.ts.map +1 -0
  110. package/dist/cjs/spec.types.js +27 -0
  111. package/dist/cjs/spec.types.js.map +1 -0
  112. package/dist/cjs/types.d.ts +8137 -0
  113. package/dist/cjs/types.d.ts.map +1 -0
  114. package/dist/cjs/types.js +2092 -0
  115. package/dist/cjs/types.js.map +1 -0
  116. package/dist/cjs/validation/ajv-provider.d.ts +53 -0
  117. package/dist/cjs/validation/ajv-provider.d.ts.map +1 -0
  118. package/dist/cjs/validation/ajv-provider.js +94 -0
  119. package/dist/cjs/validation/ajv-provider.js.map +1 -0
  120. package/dist/cjs/validation/cfworker-provider.d.ts +51 -0
  121. package/dist/cjs/validation/cfworker-provider.d.ts.map +1 -0
  122. package/dist/cjs/validation/cfworker-provider.js +69 -0
  123. package/dist/cjs/validation/cfworker-provider.js.map +1 -0
  124. package/dist/cjs/validation/index.d.ts +29 -0
  125. package/dist/cjs/validation/index.d.ts.map +1 -0
  126. package/dist/cjs/validation/index.js +30 -0
  127. package/dist/cjs/validation/index.js.map +1 -0
  128. package/dist/cjs/validation/types.d.ts +65 -0
  129. package/dist/cjs/validation/types.d.ts.map +1 -0
  130. package/dist/cjs/validation/types.js +3 -0
  131. package/dist/cjs/validation/types.js.map +1 -0
  132. package/dist/esm/client/index.d.ts +588 -0
  133. package/dist/esm/client/index.d.ts.map +1 -0
  134. package/dist/esm/client/index.js +624 -0
  135. package/dist/esm/client/index.js.map +1 -0
  136. package/dist/esm/client/stdio.d.ts +77 -0
  137. package/dist/esm/client/stdio.d.ts.map +1 -0
  138. package/dist/esm/client/stdio.js +191 -0
  139. package/dist/esm/client/stdio.js.map +1 -0
  140. package/dist/esm/experimental/index.d.ts +13 -0
  141. package/dist/esm/experimental/index.d.ts.map +1 -0
  142. package/dist/esm/experimental/index.js +13 -0
  143. package/dist/esm/experimental/index.js.map +1 -0
  144. package/dist/esm/experimental/tasks/client.d.ts +121 -0
  145. package/dist/esm/experimental/tasks/client.d.ts.map +1 -0
  146. package/dist/esm/experimental/tasks/client.js +184 -0
  147. package/dist/esm/experimental/tasks/client.js.map +1 -0
  148. package/dist/esm/experimental/tasks/helpers.d.ts +47 -0
  149. package/dist/esm/experimental/tasks/helpers.d.ts.map +1 -0
  150. package/dist/esm/experimental/tasks/helpers.js +64 -0
  151. package/dist/esm/experimental/tasks/helpers.js.map +1 -0
  152. package/dist/esm/experimental/tasks/index.d.ts +16 -0
  153. package/dist/esm/experimental/tasks/index.d.ts.map +1 -0
  154. package/dist/esm/experimental/tasks/index.js +20 -0
  155. package/dist/esm/experimental/tasks/index.js.map +1 -0
  156. package/dist/esm/experimental/tasks/interfaces.d.ts +232 -0
  157. package/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -0
  158. package/dist/esm/experimental/tasks/interfaces.js +16 -0
  159. package/dist/esm/experimental/tasks/interfaces.js.map +1 -0
  160. package/dist/esm/experimental/tasks/mcp-server.d.ts +77 -0
  161. package/dist/esm/experimental/tasks/mcp-server.d.ts.map +1 -0
  162. package/dist/esm/experimental/tasks/mcp-server.js +32 -0
  163. package/dist/esm/experimental/tasks/mcp-server.js.map +1 -0
  164. package/dist/esm/experimental/tasks/server.d.ts +170 -0
  165. package/dist/esm/experimental/tasks/server.d.ts.map +1 -0
  166. package/dist/esm/experimental/tasks/server.js +246 -0
  167. package/dist/esm/experimental/tasks/server.js.map +1 -0
  168. package/dist/esm/experimental/tasks/stores/in-memory.d.ts +94 -0
  169. package/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -0
  170. package/dist/esm/experimental/tasks/stores/in-memory.js +246 -0
  171. package/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -0
  172. package/dist/esm/experimental/tasks/types.d.ts +10 -0
  173. package/dist/esm/experimental/tasks/types.d.ts.map +1 -0
  174. package/dist/esm/experimental/tasks/types.js +10 -0
  175. package/dist/esm/experimental/tasks/types.js.map +1 -0
  176. package/dist/esm/inMemory.d.ts +31 -0
  177. package/dist/esm/inMemory.d.ts.map +1 -0
  178. package/dist/esm/inMemory.js +47 -0
  179. package/dist/esm/inMemory.js.map +1 -0
  180. package/dist/esm/package.json +1 -0
  181. package/dist/esm/server/completable.d.ts +38 -0
  182. package/dist/esm/server/completable.d.ts.map +1 -0
  183. package/dist/esm/server/completable.js +41 -0
  184. package/dist/esm/server/completable.js.map +1 -0
  185. package/dist/esm/server/index.d.ts +196 -0
  186. package/dist/esm/server/index.d.ts.map +1 -0
  187. package/dist/esm/server/index.js +440 -0
  188. package/dist/esm/server/index.js.map +1 -0
  189. package/dist/esm/server/mcp.d.ts +364 -0
  190. package/dist/esm/server/mcp.d.ts.map +1 -0
  191. package/dist/esm/server/mcp.js +913 -0
  192. package/dist/esm/server/mcp.js.map +1 -0
  193. package/dist/esm/server/stdio.d.ts +28 -0
  194. package/dist/esm/server/stdio.d.ts.map +1 -0
  195. package/dist/esm/server/stdio.js +75 -0
  196. package/dist/esm/server/stdio.js.map +1 -0
  197. package/dist/esm/server/zod-compat.d.ts +84 -0
  198. package/dist/esm/server/zod-compat.d.ts.map +1 -0
  199. package/dist/esm/server/zod-compat.js +209 -0
  200. package/dist/esm/server/zod-compat.js.map +1 -0
  201. package/dist/esm/server/zod-json-schema-compat.d.ts +12 -0
  202. package/dist/esm/server/zod-json-schema-compat.d.ts.map +1 -0
  203. package/dist/esm/server/zod-json-schema-compat.js +51 -0
  204. package/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  205. package/dist/esm/shared/auth-info.d.ts +32 -0
  206. package/dist/esm/shared/auth-info.d.ts.map +1 -0
  207. package/dist/esm/shared/auth-info.js +2 -0
  208. package/dist/esm/shared/auth-info.js.map +1 -0
  209. package/dist/esm/shared/metadataUtils.d.ts +16 -0
  210. package/dist/esm/shared/metadataUtils.d.ts.map +1 -0
  211. package/dist/esm/shared/metadataUtils.js +22 -0
  212. package/dist/esm/shared/metadataUtils.js.map +1 -0
  213. package/dist/esm/shared/protocol.d.ts +443 -0
  214. package/dist/esm/shared/protocol.d.ts.map +1 -0
  215. package/dist/esm/shared/protocol.js +1099 -0
  216. package/dist/esm/shared/protocol.js.map +1 -0
  217. package/dist/esm/shared/responseMessage.d.ts +45 -0
  218. package/dist/esm/shared/responseMessage.d.ts.map +1 -0
  219. package/dist/esm/shared/responseMessage.js +19 -0
  220. package/dist/esm/shared/responseMessage.js.map +1 -0
  221. package/dist/esm/shared/stdio.d.ts +13 -0
  222. package/dist/esm/shared/stdio.d.ts.map +1 -0
  223. package/dist/esm/shared/stdio.js +31 -0
  224. package/dist/esm/shared/stdio.js.map +1 -0
  225. package/dist/esm/shared/toolNameValidation.d.ts +31 -0
  226. package/dist/esm/shared/toolNameValidation.d.ts.map +1 -0
  227. package/dist/esm/shared/toolNameValidation.js +92 -0
  228. package/dist/esm/shared/toolNameValidation.js.map +1 -0
  229. package/dist/esm/shared/transport.d.ts +89 -0
  230. package/dist/esm/shared/transport.d.ts.map +1 -0
  231. package/dist/esm/shared/transport.js +39 -0
  232. package/dist/esm/shared/transport.js.map +1 -0
  233. package/dist/esm/shared/uriTemplate.d.ts +25 -0
  234. package/dist/esm/shared/uriTemplate.d.ts.map +1 -0
  235. package/dist/esm/shared/uriTemplate.js +239 -0
  236. package/dist/esm/shared/uriTemplate.js.map +1 -0
  237. package/dist/esm/spec.types.d.ts +2299 -0
  238. package/dist/esm/spec.types.d.ts.map +1 -0
  239. package/dist/esm/spec.types.js +24 -0
  240. package/dist/esm/spec.types.js.map +1 -0
  241. package/dist/esm/types.d.ts +8137 -0
  242. package/dist/esm/types.d.ts.map +1 -0
  243. package/dist/esm/types.js +2052 -0
  244. package/dist/esm/types.js.map +1 -0
  245. package/dist/esm/validation/ajv-provider.d.ts +53 -0
  246. package/dist/esm/validation/ajv-provider.d.ts.map +1 -0
  247. package/dist/esm/validation/ajv-provider.js +87 -0
  248. package/dist/esm/validation/ajv-provider.js.map +1 -0
  249. package/dist/esm/validation/cfworker-provider.d.ts +51 -0
  250. package/dist/esm/validation/cfworker-provider.d.ts.map +1 -0
  251. package/dist/esm/validation/cfworker-provider.js +65 -0
  252. package/dist/esm/validation/cfworker-provider.js.map +1 -0
  253. package/dist/esm/validation/index.d.ts +29 -0
  254. package/dist/esm/validation/index.d.ts.map +1 -0
  255. package/dist/esm/validation/index.js +29 -0
  256. package/dist/esm/validation/index.js.map +1 -0
  257. package/dist/esm/validation/types.d.ts +65 -0
  258. package/dist/esm/validation/types.d.ts.map +1 -0
  259. package/dist/esm/validation/types.js +2 -0
  260. package/dist/esm/validation/types.js.map +1 -0
  261. package/package.json +124 -0
@@ -0,0 +1,588 @@
1
+ import { Protocol, type ProtocolOptions, type RequestOptions } from '../shared/protocol.js';
2
+ import type { Transport } from '../shared/transport.js';
3
+ import { type CallToolRequest, CallToolResultSchema, type ClientCapabilities, type ClientNotification, type ClientRequest, type ClientResult, type CompatibilityCallToolResultSchema, type CompleteRequest, type GetPromptRequest, type Implementation, type ListPromptsRequest, type ListResourcesRequest, type ListResourceTemplatesRequest, type ListToolsRequest, type LoggingLevel, type ReadResourceRequest, type ServerCapabilities, type SubscribeRequest, type UnsubscribeRequest, type ListChangedHandlers, type Request, type Notification, type Result } from '../types.js';
4
+ import type { jsonSchemaValidator } from '../validation/types.js';
5
+ import { AnyObjectSchema, SchemaOutput } from '../server/zod-compat.js';
6
+ import type { RequestHandlerExtra } from '../shared/protocol.js';
7
+ import { ExperimentalClientTasks } from '../experimental/tasks/client.js';
8
+ /**
9
+ * Determines which elicitation modes are supported based on declared client capabilities.
10
+ *
11
+ * According to the spec:
12
+ * - An empty elicitation capability object defaults to form mode support (backwards compatibility)
13
+ * - URL mode is only supported if explicitly declared
14
+ *
15
+ * @param capabilities - The client's elicitation capabilities
16
+ * @returns An object indicating which modes are supported
17
+ */
18
+ export declare function getSupportedElicitationModes(capabilities: ClientCapabilities['elicitation']): {
19
+ supportsFormMode: boolean;
20
+ supportsUrlMode: boolean;
21
+ };
22
+ export type ClientOptions = ProtocolOptions & {
23
+ /**
24
+ * Capabilities to advertise as being supported by this client.
25
+ */
26
+ capabilities?: ClientCapabilities;
27
+ /**
28
+ * JSON Schema validator for tool output validation.
29
+ *
30
+ * The validator is used to validate structured content returned by tools
31
+ * against their declared output schemas.
32
+ *
33
+ * @default AjvJsonSchemaValidator
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // ajv
38
+ * const client = new Client(
39
+ * { name: 'my-client', version: '1.0.0' },
40
+ * {
41
+ * capabilities: {},
42
+ * jsonSchemaValidator: new AjvJsonSchemaValidator()
43
+ * }
44
+ * );
45
+ *
46
+ * // @cfworker/json-schema
47
+ * const client = new Client(
48
+ * { name: 'my-client', version: '1.0.0' },
49
+ * {
50
+ * capabilities: {},
51
+ * jsonSchemaValidator: new CfWorkerJsonSchemaValidator()
52
+ * }
53
+ * );
54
+ * ```
55
+ */
56
+ jsonSchemaValidator?: jsonSchemaValidator;
57
+ /**
58
+ * Configure handlers for list changed notifications (tools, prompts, resources).
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * const client = new Client(
63
+ * { name: 'my-client', version: '1.0.0' },
64
+ * {
65
+ * listChanged: {
66
+ * tools: {
67
+ * onChanged: (error, tools) => {
68
+ * if (error) {
69
+ * console.error('Failed to refresh tools:', error);
70
+ * return;
71
+ * }
72
+ * console.log('Tools updated:', tools);
73
+ * }
74
+ * },
75
+ * prompts: {
76
+ * onChanged: (error, prompts) => console.log('Prompts updated:', prompts)
77
+ * }
78
+ * }
79
+ * }
80
+ * );
81
+ * ```
82
+ */
83
+ listChanged?: ListChangedHandlers;
84
+ };
85
+ /**
86
+ * An MCP client on top of a pluggable transport.
87
+ *
88
+ * The client will automatically begin the initialization flow with the server when connect() is called.
89
+ *
90
+ * To use with custom types, extend the base Request/Notification/Result types and pass them as type parameters:
91
+ *
92
+ * ```typescript
93
+ * // Custom schemas
94
+ * const CustomRequestSchema = RequestSchema.extend({...})
95
+ * const CustomNotificationSchema = NotificationSchema.extend({...})
96
+ * const CustomResultSchema = ResultSchema.extend({...})
97
+ *
98
+ * // Type aliases
99
+ * type CustomRequest = z.infer<typeof CustomRequestSchema>
100
+ * type CustomNotification = z.infer<typeof CustomNotificationSchema>
101
+ * type CustomResult = z.infer<typeof CustomResultSchema>
102
+ *
103
+ * // Create typed client
104
+ * const client = new Client<CustomRequest, CustomNotification, CustomResult>({
105
+ * name: "CustomClient",
106
+ * version: "1.0.0"
107
+ * })
108
+ * ```
109
+ */
110
+ export declare class Client<RequestT extends Request = Request, NotificationT extends Notification = Notification, ResultT extends Result = Result> extends Protocol<ClientRequest | RequestT, ClientNotification | NotificationT, ClientResult | ResultT> {
111
+ private _clientInfo;
112
+ private _serverCapabilities?;
113
+ private _serverVersion?;
114
+ private _capabilities;
115
+ private _instructions?;
116
+ private _jsonSchemaValidator;
117
+ private _cachedToolOutputValidators;
118
+ private _cachedKnownTaskTools;
119
+ private _cachedRequiredTaskTools;
120
+ private _experimental?;
121
+ private _listChangedDebounceTimers;
122
+ private _pendingListChangedConfig?;
123
+ /**
124
+ * Initializes this client with the given name and version information.
125
+ */
126
+ constructor(_clientInfo: Implementation, options?: ClientOptions);
127
+ /**
128
+ * Set up handlers for list changed notifications based on config and server capabilities.
129
+ * This should only be called after initialization when server capabilities are known.
130
+ * Handlers are silently skipped if the server doesn't advertise the corresponding listChanged capability.
131
+ * @internal
132
+ */
133
+ private _setupListChangedHandlers;
134
+ /**
135
+ * Access experimental features.
136
+ *
137
+ * WARNING: These APIs are experimental and may change without notice.
138
+ *
139
+ * @experimental
140
+ */
141
+ get experimental(): {
142
+ tasks: ExperimentalClientTasks<RequestT, NotificationT, ResultT>;
143
+ };
144
+ /**
145
+ * Registers new capabilities. This can only be called before connecting to a transport.
146
+ *
147
+ * The new capabilities will be merged with any existing capabilities previously given (e.g., at initialization).
148
+ */
149
+ registerCapabilities(capabilities: ClientCapabilities): void;
150
+ /**
151
+ * Override request handler registration to enforce client-side validation for elicitation.
152
+ */
153
+ setRequestHandler<T extends AnyObjectSchema>(requestSchema: T, handler: (request: SchemaOutput<T>, extra: RequestHandlerExtra<ClientRequest | RequestT, ClientNotification | NotificationT>) => ClientResult | ResultT | Promise<ClientResult | ResultT>): void;
154
+ protected assertCapability(capability: keyof ServerCapabilities, method: string): void;
155
+ connect(transport: Transport, options?: RequestOptions): Promise<void>;
156
+ /**
157
+ * After initialization has completed, this will be populated with the server's reported capabilities.
158
+ */
159
+ getServerCapabilities(): ServerCapabilities | undefined;
160
+ /**
161
+ * After initialization has completed, this will be populated with information about the server's name and version.
162
+ */
163
+ getServerVersion(): Implementation | undefined;
164
+ /**
165
+ * After initialization has completed, this may be populated with information about the server's instructions.
166
+ */
167
+ getInstructions(): string | undefined;
168
+ protected assertCapabilityForMethod(method: RequestT['method']): void;
169
+ protected assertNotificationCapability(method: NotificationT['method']): void;
170
+ protected assertRequestHandlerCapability(method: string): void;
171
+ protected assertTaskCapability(method: string): void;
172
+ protected assertTaskHandlerCapability(method: string): void;
173
+ ping(options?: RequestOptions): Promise<{
174
+ _meta?: {
175
+ [x: string]: unknown;
176
+ progressToken?: string | number | undefined;
177
+ "io.modelcontextprotocol/related-task"?: {
178
+ taskId: string;
179
+ } | undefined;
180
+ } | undefined;
181
+ }>;
182
+ complete(params: CompleteRequest['params'], options?: RequestOptions): Promise<{
183
+ [x: string]: unknown;
184
+ completion: {
185
+ [x: string]: unknown;
186
+ values: string[];
187
+ total?: number | undefined;
188
+ hasMore?: boolean | undefined;
189
+ };
190
+ _meta?: {
191
+ [x: string]: unknown;
192
+ progressToken?: string | number | undefined;
193
+ "io.modelcontextprotocol/related-task"?: {
194
+ taskId: string;
195
+ } | undefined;
196
+ } | undefined;
197
+ }>;
198
+ setLoggingLevel(level: LoggingLevel, options?: RequestOptions): Promise<{
199
+ _meta?: {
200
+ [x: string]: unknown;
201
+ progressToken?: string | number | undefined;
202
+ "io.modelcontextprotocol/related-task"?: {
203
+ taskId: string;
204
+ } | undefined;
205
+ } | undefined;
206
+ }>;
207
+ getPrompt(params: GetPromptRequest['params'], options?: RequestOptions): Promise<{
208
+ [x: string]: unknown;
209
+ messages: {
210
+ role: "user" | "assistant";
211
+ content: {
212
+ type: "text";
213
+ text: string;
214
+ annotations?: {
215
+ audience?: ("user" | "assistant")[] | undefined;
216
+ priority?: number | undefined;
217
+ lastModified?: string | undefined;
218
+ } | undefined;
219
+ _meta?: Record<string, unknown> | undefined;
220
+ } | {
221
+ type: "image";
222
+ data: string;
223
+ mimeType: string;
224
+ annotations?: {
225
+ audience?: ("user" | "assistant")[] | undefined;
226
+ priority?: number | undefined;
227
+ lastModified?: string | undefined;
228
+ } | undefined;
229
+ _meta?: Record<string, unknown> | undefined;
230
+ } | {
231
+ type: "audio";
232
+ data: string;
233
+ mimeType: string;
234
+ annotations?: {
235
+ audience?: ("user" | "assistant")[] | undefined;
236
+ priority?: number | undefined;
237
+ lastModified?: string | undefined;
238
+ } | undefined;
239
+ _meta?: Record<string, unknown> | undefined;
240
+ } | {
241
+ type: "resource";
242
+ resource: {
243
+ uri: string;
244
+ text: string;
245
+ mimeType?: string | undefined;
246
+ _meta?: Record<string, unknown> | undefined;
247
+ } | {
248
+ uri: string;
249
+ blob: string;
250
+ mimeType?: string | undefined;
251
+ _meta?: Record<string, unknown> | undefined;
252
+ };
253
+ annotations?: {
254
+ audience?: ("user" | "assistant")[] | undefined;
255
+ priority?: number | undefined;
256
+ lastModified?: string | undefined;
257
+ } | undefined;
258
+ _meta?: Record<string, unknown> | undefined;
259
+ } | {
260
+ uri: string;
261
+ name: string;
262
+ type: "resource_link";
263
+ description?: string | undefined;
264
+ mimeType?: string | undefined;
265
+ annotations?: {
266
+ audience?: ("user" | "assistant")[] | undefined;
267
+ priority?: number | undefined;
268
+ lastModified?: string | undefined;
269
+ } | undefined;
270
+ _meta?: {
271
+ [x: string]: unknown;
272
+ } | undefined;
273
+ icons?: {
274
+ src: string;
275
+ mimeType?: string | undefined;
276
+ sizes?: string[] | undefined;
277
+ theme?: "light" | "dark" | undefined;
278
+ }[] | undefined;
279
+ title?: string | undefined;
280
+ };
281
+ }[];
282
+ _meta?: {
283
+ [x: string]: unknown;
284
+ progressToken?: string | number | undefined;
285
+ "io.modelcontextprotocol/related-task"?: {
286
+ taskId: string;
287
+ } | undefined;
288
+ } | undefined;
289
+ description?: string | undefined;
290
+ }>;
291
+ listPrompts(params?: ListPromptsRequest['params'], options?: RequestOptions): Promise<{
292
+ [x: string]: unknown;
293
+ prompts: {
294
+ name: string;
295
+ description?: string | undefined;
296
+ arguments?: {
297
+ name: string;
298
+ description?: string | undefined;
299
+ required?: boolean | undefined;
300
+ }[] | undefined;
301
+ _meta?: {
302
+ [x: string]: unknown;
303
+ } | undefined;
304
+ icons?: {
305
+ src: string;
306
+ mimeType?: string | undefined;
307
+ sizes?: string[] | undefined;
308
+ theme?: "light" | "dark" | undefined;
309
+ }[] | undefined;
310
+ title?: string | undefined;
311
+ }[];
312
+ _meta?: {
313
+ [x: string]: unknown;
314
+ progressToken?: string | number | undefined;
315
+ "io.modelcontextprotocol/related-task"?: {
316
+ taskId: string;
317
+ } | undefined;
318
+ } | undefined;
319
+ nextCursor?: string | undefined;
320
+ }>;
321
+ listResources(params?: ListResourcesRequest['params'], options?: RequestOptions): Promise<{
322
+ [x: string]: unknown;
323
+ resources: {
324
+ uri: string;
325
+ name: string;
326
+ description?: string | undefined;
327
+ mimeType?: string | undefined;
328
+ annotations?: {
329
+ audience?: ("user" | "assistant")[] | undefined;
330
+ priority?: number | undefined;
331
+ lastModified?: string | undefined;
332
+ } | undefined;
333
+ _meta?: {
334
+ [x: string]: unknown;
335
+ } | undefined;
336
+ icons?: {
337
+ src: string;
338
+ mimeType?: string | undefined;
339
+ sizes?: string[] | undefined;
340
+ theme?: "light" | "dark" | undefined;
341
+ }[] | undefined;
342
+ title?: string | undefined;
343
+ }[];
344
+ _meta?: {
345
+ [x: string]: unknown;
346
+ progressToken?: string | number | undefined;
347
+ "io.modelcontextprotocol/related-task"?: {
348
+ taskId: string;
349
+ } | undefined;
350
+ } | undefined;
351
+ nextCursor?: string | undefined;
352
+ }>;
353
+ listResourceTemplates(params?: ListResourceTemplatesRequest['params'], options?: RequestOptions): Promise<{
354
+ [x: string]: unknown;
355
+ resourceTemplates: {
356
+ uriTemplate: string;
357
+ name: string;
358
+ description?: string | undefined;
359
+ mimeType?: string | undefined;
360
+ annotations?: {
361
+ audience?: ("user" | "assistant")[] | undefined;
362
+ priority?: number | undefined;
363
+ lastModified?: string | undefined;
364
+ } | undefined;
365
+ _meta?: {
366
+ [x: string]: unknown;
367
+ } | undefined;
368
+ icons?: {
369
+ src: string;
370
+ mimeType?: string | undefined;
371
+ sizes?: string[] | undefined;
372
+ theme?: "light" | "dark" | undefined;
373
+ }[] | undefined;
374
+ title?: string | undefined;
375
+ }[];
376
+ _meta?: {
377
+ [x: string]: unknown;
378
+ progressToken?: string | number | undefined;
379
+ "io.modelcontextprotocol/related-task"?: {
380
+ taskId: string;
381
+ } | undefined;
382
+ } | undefined;
383
+ nextCursor?: string | undefined;
384
+ }>;
385
+ readResource(params: ReadResourceRequest['params'], options?: RequestOptions): Promise<{
386
+ [x: string]: unknown;
387
+ contents: ({
388
+ uri: string;
389
+ text: string;
390
+ mimeType?: string | undefined;
391
+ _meta?: Record<string, unknown> | undefined;
392
+ } | {
393
+ uri: string;
394
+ blob: string;
395
+ mimeType?: string | undefined;
396
+ _meta?: Record<string, unknown> | undefined;
397
+ })[];
398
+ _meta?: {
399
+ [x: string]: unknown;
400
+ progressToken?: string | number | undefined;
401
+ "io.modelcontextprotocol/related-task"?: {
402
+ taskId: string;
403
+ } | undefined;
404
+ } | undefined;
405
+ }>;
406
+ subscribeResource(params: SubscribeRequest['params'], options?: RequestOptions): Promise<{
407
+ _meta?: {
408
+ [x: string]: unknown;
409
+ progressToken?: string | number | undefined;
410
+ "io.modelcontextprotocol/related-task"?: {
411
+ taskId: string;
412
+ } | undefined;
413
+ } | undefined;
414
+ }>;
415
+ unsubscribeResource(params: UnsubscribeRequest['params'], options?: RequestOptions): Promise<{
416
+ _meta?: {
417
+ [x: string]: unknown;
418
+ progressToken?: string | number | undefined;
419
+ "io.modelcontextprotocol/related-task"?: {
420
+ taskId: string;
421
+ } | undefined;
422
+ } | undefined;
423
+ }>;
424
+ /**
425
+ * Calls a tool and waits for the result. Automatically validates structured output if the tool has an outputSchema.
426
+ *
427
+ * For task-based execution with streaming behavior, use client.experimental.tasks.callToolStream() instead.
428
+ */
429
+ callTool(params: CallToolRequest['params'], resultSchema?: typeof CallToolResultSchema | typeof CompatibilityCallToolResultSchema, options?: RequestOptions): Promise<{
430
+ [x: string]: unknown;
431
+ content: ({
432
+ type: "text";
433
+ text: string;
434
+ annotations?: {
435
+ audience?: ("user" | "assistant")[] | undefined;
436
+ priority?: number | undefined;
437
+ lastModified?: string | undefined;
438
+ } | undefined;
439
+ _meta?: Record<string, unknown> | undefined;
440
+ } | {
441
+ type: "image";
442
+ data: string;
443
+ mimeType: string;
444
+ annotations?: {
445
+ audience?: ("user" | "assistant")[] | undefined;
446
+ priority?: number | undefined;
447
+ lastModified?: string | undefined;
448
+ } | undefined;
449
+ _meta?: Record<string, unknown> | undefined;
450
+ } | {
451
+ type: "audio";
452
+ data: string;
453
+ mimeType: string;
454
+ annotations?: {
455
+ audience?: ("user" | "assistant")[] | undefined;
456
+ priority?: number | undefined;
457
+ lastModified?: string | undefined;
458
+ } | undefined;
459
+ _meta?: Record<string, unknown> | undefined;
460
+ } | {
461
+ type: "resource";
462
+ resource: {
463
+ uri: string;
464
+ text: string;
465
+ mimeType?: string | undefined;
466
+ _meta?: Record<string, unknown> | undefined;
467
+ } | {
468
+ uri: string;
469
+ blob: string;
470
+ mimeType?: string | undefined;
471
+ _meta?: Record<string, unknown> | undefined;
472
+ };
473
+ annotations?: {
474
+ audience?: ("user" | "assistant")[] | undefined;
475
+ priority?: number | undefined;
476
+ lastModified?: string | undefined;
477
+ } | undefined;
478
+ _meta?: Record<string, unknown> | undefined;
479
+ } | {
480
+ uri: string;
481
+ name: string;
482
+ type: "resource_link";
483
+ description?: string | undefined;
484
+ mimeType?: string | undefined;
485
+ annotations?: {
486
+ audience?: ("user" | "assistant")[] | undefined;
487
+ priority?: number | undefined;
488
+ lastModified?: string | undefined;
489
+ } | undefined;
490
+ _meta?: {
491
+ [x: string]: unknown;
492
+ } | undefined;
493
+ icons?: {
494
+ src: string;
495
+ mimeType?: string | undefined;
496
+ sizes?: string[] | undefined;
497
+ theme?: "light" | "dark" | undefined;
498
+ }[] | undefined;
499
+ title?: string | undefined;
500
+ })[];
501
+ _meta?: {
502
+ [x: string]: unknown;
503
+ progressToken?: string | number | undefined;
504
+ "io.modelcontextprotocol/related-task"?: {
505
+ taskId: string;
506
+ } | undefined;
507
+ } | undefined;
508
+ structuredContent?: Record<string, unknown> | undefined;
509
+ isError?: boolean | undefined;
510
+ } | {
511
+ [x: string]: unknown;
512
+ toolResult: unknown;
513
+ _meta?: {
514
+ [x: string]: unknown;
515
+ progressToken?: string | number | undefined;
516
+ "io.modelcontextprotocol/related-task"?: {
517
+ taskId: string;
518
+ } | undefined;
519
+ } | undefined;
520
+ }>;
521
+ private isToolTask;
522
+ /**
523
+ * Check if a tool requires task-based execution.
524
+ * Unlike isToolTask which includes 'optional' tools, this only checks for 'required'.
525
+ */
526
+ private isToolTaskRequired;
527
+ /**
528
+ * Cache validators for tool output schemas.
529
+ * Called after listTools() to pre-compile validators for better performance.
530
+ */
531
+ private cacheToolMetadata;
532
+ /**
533
+ * Get cached validator for a tool
534
+ */
535
+ private getToolOutputValidator;
536
+ listTools(params?: ListToolsRequest['params'], options?: RequestOptions): Promise<{
537
+ [x: string]: unknown;
538
+ tools: {
539
+ inputSchema: {
540
+ [x: string]: unknown;
541
+ type: "object";
542
+ properties?: Record<string, object> | undefined;
543
+ required?: string[] | undefined;
544
+ };
545
+ name: string;
546
+ description?: string | undefined;
547
+ outputSchema?: {
548
+ [x: string]: unknown;
549
+ type: "object";
550
+ properties?: Record<string, object> | undefined;
551
+ required?: string[] | undefined;
552
+ } | undefined;
553
+ annotations?: {
554
+ title?: string | undefined;
555
+ readOnlyHint?: boolean | undefined;
556
+ destructiveHint?: boolean | undefined;
557
+ idempotentHint?: boolean | undefined;
558
+ openWorldHint?: boolean | undefined;
559
+ } | undefined;
560
+ execution?: {
561
+ taskSupport?: "optional" | "required" | "forbidden" | undefined;
562
+ } | undefined;
563
+ _meta?: Record<string, unknown> | undefined;
564
+ icons?: {
565
+ src: string;
566
+ mimeType?: string | undefined;
567
+ sizes?: string[] | undefined;
568
+ theme?: "light" | "dark" | undefined;
569
+ }[] | undefined;
570
+ title?: string | undefined;
571
+ }[];
572
+ _meta?: {
573
+ [x: string]: unknown;
574
+ progressToken?: string | number | undefined;
575
+ "io.modelcontextprotocol/related-task"?: {
576
+ taskId: string;
577
+ } | undefined;
578
+ } | undefined;
579
+ nextCursor?: string | undefined;
580
+ }>;
581
+ /**
582
+ * Set up a single list changed handler.
583
+ * @internal
584
+ */
585
+ private _setupListChangedHandler;
586
+ sendRootsListChanged(): Promise<void>;
587
+ }
588
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}