@modelcontextprotocol/sdk 1.24.2 → 1.25.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 (235) hide show
  1. package/dist/cjs/client/auth-extensions.js +5 -9
  2. package/dist/cjs/client/auth-extensions.js.map +1 -1
  3. package/dist/cjs/client/auth.js +30 -37
  4. package/dist/cjs/client/auth.js.map +1 -1
  5. package/dist/cjs/client/index.d.ts +61 -14
  6. package/dist/cjs/client/index.d.ts.map +1 -1
  7. package/dist/cjs/client/index.js +117 -36
  8. package/dist/cjs/client/index.js.map +1 -1
  9. package/dist/cjs/client/middleware.js +3 -3
  10. package/dist/cjs/client/middleware.js.map +1 -1
  11. package/dist/cjs/client/sse.d.ts.map +1 -1
  12. package/dist/cjs/client/sse.js +20 -26
  13. package/dist/cjs/client/sse.js.map +1 -1
  14. package/dist/cjs/client/stdio.js +18 -28
  15. package/dist/cjs/client/stdio.js.map +1 -1
  16. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  17. package/dist/cjs/client/streamableHttp.js +42 -47
  18. package/dist/cjs/client/streamableHttp.js.map +1 -1
  19. package/dist/cjs/client/websocket.js +6 -11
  20. package/dist/cjs/client/websocket.js.map +1 -1
  21. package/dist/cjs/examples/client/elicitationUrlExample.js +4 -5
  22. package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -1
  23. package/dist/cjs/examples/client/simpleOAuthClient.js +3 -3
  24. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  25. package/dist/cjs/examples/client/simpleStreamableHttp.js +7 -9
  26. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  27. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js +1 -2
  28. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js.map +1 -1
  29. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
  30. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
  31. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js +81 -0
  32. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
  33. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +10 -4
  34. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  35. package/dist/cjs/examples/server/simpleSseServer.js +6 -3
  36. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  37. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +12 -6
  38. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  39. package/dist/cjs/examples/server/simpleStreamableHttp.js +21 -11
  40. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  41. package/dist/cjs/examples/server/simpleTaskInteractive.js +7 -11
  42. package/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -1
  43. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
  44. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  45. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
  46. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  47. package/dist/cjs/experimental/tasks/client.js +1 -2
  48. package/dist/cjs/experimental/tasks/client.js.map +1 -1
  49. package/dist/cjs/experimental/tasks/helpers.js +3 -5
  50. package/dist/cjs/experimental/tasks/helpers.js.map +1 -1
  51. package/dist/cjs/experimental/tasks/interfaces.d.ts +3 -3
  52. package/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -1
  53. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts +1 -1
  54. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  55. package/dist/cjs/experimental/tasks/stores/in-memory.js +3 -5
  56. package/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -1
  57. package/dist/cjs/inMemory.js +5 -7
  58. package/dist/cjs/inMemory.js.map +1 -1
  59. package/dist/cjs/server/auth/handlers/token.js +1 -1
  60. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  61. package/dist/cjs/server/auth/providers/proxyProvider.js +11 -17
  62. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  63. package/dist/cjs/server/auth/router.js +3 -6
  64. package/dist/cjs/server/auth/router.js.map +1 -1
  65. package/dist/cjs/server/completable.js +1 -1
  66. package/dist/cjs/server/completable.js.map +1 -1
  67. package/dist/cjs/server/index.d.ts +3 -3
  68. package/dist/cjs/server/index.d.ts.map +1 -1
  69. package/dist/cjs/server/index.js +20 -30
  70. package/dist/cjs/server/index.js.map +1 -1
  71. package/dist/cjs/server/mcp.d.ts.map +1 -1
  72. package/dist/cjs/server/mcp.js +25 -11
  73. package/dist/cjs/server/mcp.js.map +1 -1
  74. package/dist/cjs/server/middleware/hostHeaderValidation.js +1 -1
  75. package/dist/cjs/server/middleware/hostHeaderValidation.js.map +1 -1
  76. package/dist/cjs/server/sse.js +14 -17
  77. package/dist/cjs/server/sse.js.map +1 -1
  78. package/dist/cjs/server/stdio.js +4 -7
  79. package/dist/cjs/server/stdio.js.map +1 -1
  80. package/dist/cjs/server/streamableHttp.d.ts +52 -153
  81. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  82. package/dist/cjs/server/streamableHttp.js +78 -636
  83. package/dist/cjs/server/streamableHttp.js.map +1 -1
  84. package/dist/cjs/server/webStandardStreamableHttp.d.ts +267 -0
  85. package/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -0
  86. package/dist/cjs/server/webStandardStreamableHttp.js +729 -0
  87. package/dist/cjs/server/webStandardStreamableHttp.js.map +1 -0
  88. package/dist/cjs/server/zod-compat.d.ts +3 -1
  89. package/dist/cjs/server/zod-compat.d.ts.map +1 -1
  90. package/dist/cjs/server/zod-compat.js +11 -19
  91. package/dist/cjs/server/zod-compat.js.map +1 -1
  92. package/dist/cjs/server/zod-json-schema-compat.js +5 -6
  93. package/dist/cjs/server/zod-json-schema-compat.js.map +1 -1
  94. package/dist/cjs/shared/metadataUtils.js +1 -2
  95. package/dist/cjs/shared/metadataUtils.js.map +1 -1
  96. package/dist/cjs/shared/protocol.d.ts +1 -1
  97. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  98. package/dist/cjs/shared/protocol.js +76 -88
  99. package/dist/cjs/shared/protocol.js.map +1 -1
  100. package/dist/cjs/shared/transport.js +1 -1
  101. package/dist/cjs/shared/transport.js.map +1 -1
  102. package/dist/cjs/spec.types.d.ts +315 -26
  103. package/dist/cjs/spec.types.d.ts.map +1 -1
  104. package/dist/cjs/spec.types.js +2 -2
  105. package/dist/cjs/spec.types.js.map +1 -1
  106. package/dist/cjs/types.d.ts +1392 -1248
  107. package/dist/cjs/types.d.ts.map +1 -1
  108. package/dist/cjs/types.js +201 -136
  109. package/dist/cjs/types.js.map +1 -1
  110. package/dist/cjs/validation/ajv-provider.d.ts +1 -1
  111. package/dist/cjs/validation/ajv-provider.d.ts.map +1 -1
  112. package/dist/cjs/validation/ajv-provider.js +4 -5
  113. package/dist/cjs/validation/ajv-provider.js.map +1 -1
  114. package/dist/cjs/validation/cfworker-provider.js +4 -5
  115. package/dist/cjs/validation/cfworker-provider.js.map +1 -1
  116. package/dist/cjs/validation/types.d.ts +12 -2
  117. package/dist/cjs/validation/types.d.ts.map +1 -1
  118. package/dist/esm/client/auth-extensions.js +5 -9
  119. package/dist/esm/client/auth-extensions.js.map +1 -1
  120. package/dist/esm/client/auth.js +30 -37
  121. package/dist/esm/client/auth.js.map +1 -1
  122. package/dist/esm/client/index.d.ts +61 -14
  123. package/dist/esm/client/index.d.ts.map +1 -1
  124. package/dist/esm/client/index.js +118 -37
  125. package/dist/esm/client/index.js.map +1 -1
  126. package/dist/esm/client/middleware.js +3 -3
  127. package/dist/esm/client/middleware.js.map +1 -1
  128. package/dist/esm/client/sse.d.ts.map +1 -1
  129. package/dist/esm/client/sse.js +20 -26
  130. package/dist/esm/client/sse.js.map +1 -1
  131. package/dist/esm/client/stdio.js +18 -28
  132. package/dist/esm/client/stdio.js.map +1 -1
  133. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  134. package/dist/esm/client/streamableHttp.js +43 -48
  135. package/dist/esm/client/streamableHttp.js.map +1 -1
  136. package/dist/esm/client/websocket.js +6 -11
  137. package/dist/esm/client/websocket.js.map +1 -1
  138. package/dist/esm/examples/client/elicitationUrlExample.js +4 -5
  139. package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -1
  140. package/dist/esm/examples/client/simpleOAuthClient.js +3 -3
  141. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  142. package/dist/esm/examples/client/simpleStreamableHttp.js +7 -9
  143. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  144. package/dist/esm/examples/client/simpleTaskInteractiveClient.js +1 -2
  145. package/dist/esm/examples/client/simpleTaskInteractiveClient.js.map +1 -1
  146. package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
  147. package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
  148. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js +56 -0
  149. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
  150. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +10 -4
  151. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  152. package/dist/esm/examples/server/simpleSseServer.js +6 -3
  153. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  154. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +12 -6
  155. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  156. package/dist/esm/examples/server/simpleStreamableHttp.js +21 -11
  157. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  158. package/dist/esm/examples/server/simpleTaskInteractive.js +7 -11
  159. package/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -1
  160. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
  161. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  162. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
  163. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  164. package/dist/esm/experimental/tasks/client.js +1 -2
  165. package/dist/esm/experimental/tasks/client.js.map +1 -1
  166. package/dist/esm/experimental/tasks/helpers.js +3 -5
  167. package/dist/esm/experimental/tasks/helpers.js.map +1 -1
  168. package/dist/esm/experimental/tasks/interfaces.d.ts +3 -3
  169. package/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -1
  170. package/dist/esm/experimental/tasks/stores/in-memory.d.ts +1 -1
  171. package/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  172. package/dist/esm/experimental/tasks/stores/in-memory.js +3 -5
  173. package/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -1
  174. package/dist/esm/inMemory.js +5 -7
  175. package/dist/esm/inMemory.js.map +1 -1
  176. package/dist/esm/server/auth/handlers/token.js +1 -1
  177. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  178. package/dist/esm/server/auth/providers/proxyProvider.js +11 -17
  179. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  180. package/dist/esm/server/auth/router.js +3 -6
  181. package/dist/esm/server/auth/router.js.map +1 -1
  182. package/dist/esm/server/completable.js +1 -1
  183. package/dist/esm/server/completable.js.map +1 -1
  184. package/dist/esm/server/index.d.ts +3 -3
  185. package/dist/esm/server/index.d.ts.map +1 -1
  186. package/dist/esm/server/index.js +20 -30
  187. package/dist/esm/server/index.js.map +1 -1
  188. package/dist/esm/server/mcp.d.ts.map +1 -1
  189. package/dist/esm/server/mcp.js +25 -11
  190. package/dist/esm/server/mcp.js.map +1 -1
  191. package/dist/esm/server/middleware/hostHeaderValidation.js +1 -1
  192. package/dist/esm/server/middleware/hostHeaderValidation.js.map +1 -1
  193. package/dist/esm/server/sse.js +14 -17
  194. package/dist/esm/server/sse.js.map +1 -1
  195. package/dist/esm/server/stdio.js +4 -7
  196. package/dist/esm/server/stdio.js.map +1 -1
  197. package/dist/esm/server/streamableHttp.d.ts +52 -153
  198. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  199. package/dist/esm/server/streamableHttp.js +78 -633
  200. package/dist/esm/server/streamableHttp.js.map +1 -1
  201. package/dist/esm/server/webStandardStreamableHttp.d.ts +267 -0
  202. package/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -0
  203. package/dist/esm/server/webStandardStreamableHttp.js +725 -0
  204. package/dist/esm/server/webStandardStreamableHttp.js.map +1 -0
  205. package/dist/esm/server/zod-compat.d.ts +3 -1
  206. package/dist/esm/server/zod-compat.d.ts.map +1 -1
  207. package/dist/esm/server/zod-compat.js +11 -19
  208. package/dist/esm/server/zod-compat.js.map +1 -1
  209. package/dist/esm/server/zod-json-schema-compat.js +5 -6
  210. package/dist/esm/server/zod-json-schema-compat.js.map +1 -1
  211. package/dist/esm/shared/metadataUtils.js +1 -2
  212. package/dist/esm/shared/metadataUtils.js.map +1 -1
  213. package/dist/esm/shared/protocol.d.ts +1 -1
  214. package/dist/esm/shared/protocol.d.ts.map +1 -1
  215. package/dist/esm/shared/protocol.js +77 -89
  216. package/dist/esm/shared/protocol.js.map +1 -1
  217. package/dist/esm/shared/transport.js +1 -1
  218. package/dist/esm/shared/transport.js.map +1 -1
  219. package/dist/esm/spec.types.d.ts +315 -26
  220. package/dist/esm/spec.types.d.ts.map +1 -1
  221. package/dist/esm/spec.types.js +2 -2
  222. package/dist/esm/spec.types.js.map +1 -1
  223. package/dist/esm/types.d.ts +1392 -1248
  224. package/dist/esm/types.d.ts.map +1 -1
  225. package/dist/esm/types.js +194 -130
  226. package/dist/esm/types.js.map +1 -1
  227. package/dist/esm/validation/ajv-provider.d.ts +1 -1
  228. package/dist/esm/validation/ajv-provider.d.ts.map +1 -1
  229. package/dist/esm/validation/ajv-provider.js +3 -4
  230. package/dist/esm/validation/ajv-provider.js.map +1 -1
  231. package/dist/esm/validation/cfworker-provider.js +4 -5
  232. package/dist/esm/validation/cfworker-provider.js.map +1 -1
  233. package/dist/esm/validation/types.d.ts +12 -2
  234. package/dist/esm/validation/types.d.ts.map +1 -1
  235. package/package.json +4 -2
package/dist/cjs/types.js CHANGED
@@ -23,10 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TaskStatusNotificationParamsSchema = exports.CreateTaskResultSchema = exports.TaskSchema = exports.PaginatedResultSchema = exports.PaginatedRequestSchema = exports.PaginatedRequestParamsSchema = exports.ProgressNotificationSchema = exports.ProgressNotificationParamsSchema = exports.ProgressSchema = exports.PingRequestSchema = exports.isInitializedNotification = exports.InitializedNotificationSchema = exports.InitializeResultSchema = exports.ServerCapabilitiesSchema = exports.isInitializeRequest = exports.InitializeRequestSchema = exports.InitializeRequestParamsSchema = exports.ClientCapabilitiesSchema = exports.ServerTasksCapabilitySchema = exports.ClientTasksCapabilitySchema = exports.ImplementationSchema = exports.BaseMetadataSchema = exports.IconsSchema = exports.IconSchema = exports.CancelledNotificationSchema = exports.CancelledNotificationParamsSchema = exports.EmptyResultSchema = exports.JSONRPCMessageSchema = exports.isJSONRPCError = exports.JSONRPCErrorSchema = exports.ErrorCode = exports.isJSONRPCResponse = exports.JSONRPCResponseSchema = exports.isJSONRPCNotification = exports.JSONRPCNotificationSchema = exports.isJSONRPCRequest = exports.JSONRPCRequestSchema = exports.RequestIdSchema = exports.ResultSchema = exports.NotificationSchema = exports.RequestSchema = exports.RelatedTaskMetadataSchema = exports.TaskCreationParamsSchema = exports.CursorSchema = exports.ProgressTokenSchema = exports.JSONRPC_VERSION = exports.RELATED_TASK_META_KEY = exports.SUPPORTED_PROTOCOL_VERSIONS = exports.DEFAULT_NEGOTIATED_PROTOCOL_VERSION = exports.LATEST_PROTOCOL_VERSION = void 0;
27
- exports.ListToolsResultSchema = exports.ListToolsRequestSchema = exports.ToolSchema = exports.ToolExecutionSchema = exports.ToolAnnotationsSchema = exports.PromptListChangedNotificationSchema = exports.GetPromptResultSchema = exports.PromptMessageSchema = exports.ContentBlockSchema = exports.ResourceLinkSchema = exports.EmbeddedResourceSchema = exports.ToolUseContentSchema = exports.AudioContentSchema = exports.ImageContentSchema = exports.TextContentSchema = exports.GetPromptRequestSchema = exports.GetPromptRequestParamsSchema = exports.ListPromptsResultSchema = exports.ListPromptsRequestSchema = exports.PromptSchema = exports.PromptArgumentSchema = exports.ResourceUpdatedNotificationSchema = exports.ResourceUpdatedNotificationParamsSchema = exports.UnsubscribeRequestSchema = exports.UnsubscribeRequestParamsSchema = exports.SubscribeRequestSchema = exports.SubscribeRequestParamsSchema = exports.ResourceListChangedNotificationSchema = exports.ReadResourceResultSchema = exports.ReadResourceRequestSchema = exports.ReadResourceRequestParamsSchema = exports.ResourceRequestParamsSchema = exports.ListResourceTemplatesResultSchema = exports.ListResourceTemplatesRequestSchema = exports.ListResourcesResultSchema = exports.ListResourcesRequestSchema = exports.ResourceTemplateSchema = exports.ResourceSchema = exports.AnnotationsSchema = exports.BlobResourceContentsSchema = exports.TextResourceContentsSchema = exports.ResourceContentsSchema = exports.CancelTaskResultSchema = exports.CancelTaskRequestSchema = exports.ListTasksResultSchema = exports.ListTasksRequestSchema = exports.GetTaskPayloadRequestSchema = exports.GetTaskResultSchema = exports.GetTaskRequestSchema = exports.TaskStatusNotificationSchema = void 0;
28
- exports.RootsListChangedNotificationSchema = exports.ListRootsResultSchema = exports.ListRootsRequestSchema = exports.RootSchema = exports.CompleteResultSchema = exports.CompleteRequestSchema = exports.CompleteRequestParamsSchema = exports.PromptReferenceSchema = exports.ResourceReferenceSchema = exports.ResourceTemplateReferenceSchema = exports.ElicitResultSchema = exports.ElicitationCompleteNotificationSchema = exports.ElicitationCompleteNotificationParamsSchema = exports.ElicitRequestSchema = exports.ElicitRequestParamsSchema = exports.ElicitRequestURLParamsSchema = exports.ElicitRequestFormParamsSchema = exports.PrimitiveSchemaDefinitionSchema = exports.EnumSchemaSchema = exports.MultiSelectEnumSchemaSchema = exports.TitledMultiSelectEnumSchemaSchema = exports.UntitledMultiSelectEnumSchemaSchema = exports.SingleSelectEnumSchemaSchema = exports.LegacyTitledEnumSchemaSchema = exports.TitledSingleSelectEnumSchemaSchema = exports.UntitledSingleSelectEnumSchemaSchema = exports.NumberSchemaSchema = exports.StringSchemaSchema = exports.BooleanSchemaSchema = exports.CreateMessageResultWithToolsSchema = exports.CreateMessageResultSchema = exports.CreateMessageRequestSchema = exports.CreateMessageRequestParamsSchema = exports.SamplingMessageSchema = exports.SamplingMessageContentBlockSchema = exports.SamplingContentSchema = exports.ToolResultContentSchema = exports.ToolChoiceSchema = exports.ModelPreferencesSchema = exports.ModelHintSchema = exports.LoggingMessageNotificationSchema = exports.LoggingMessageNotificationParamsSchema = exports.SetLevelRequestSchema = exports.SetLevelRequestParamsSchema = exports.LoggingLevelSchema = exports.ToolListChangedNotificationSchema = exports.CallToolRequestSchema = exports.CallToolRequestParamsSchema = exports.CompatibilityCallToolResultSchema = exports.CallToolResultSchema = void 0;
29
- exports.UrlElicitationRequiredError = exports.McpError = exports.ServerResultSchema = exports.ServerNotificationSchema = exports.ServerRequestSchema = exports.ClientResultSchema = exports.ClientNotificationSchema = exports.ClientRequestSchema = void 0;
26
+ exports.PaginatedRequestSchema = exports.PaginatedRequestParamsSchema = exports.ProgressNotificationSchema = exports.ProgressNotificationParamsSchema = exports.ProgressSchema = exports.PingRequestSchema = exports.isInitializedNotification = exports.InitializedNotificationSchema = exports.InitializeResultSchema = exports.ServerCapabilitiesSchema = exports.isInitializeRequest = exports.InitializeRequestSchema = exports.InitializeRequestParamsSchema = exports.ClientCapabilitiesSchema = exports.ServerTasksCapabilitySchema = exports.ClientTasksCapabilitySchema = exports.ImplementationSchema = exports.BaseMetadataSchema = exports.IconsSchema = exports.IconSchema = exports.CancelledNotificationSchema = exports.CancelledNotificationParamsSchema = exports.EmptyResultSchema = exports.JSONRPCResponseSchema = exports.JSONRPCMessageSchema = exports.isJSONRPCErrorResponse = exports.JSONRPCErrorResponseSchema = exports.ErrorCode = exports.isJSONRPCResultResponse = exports.JSONRPCResultResponseSchema = exports.isJSONRPCNotification = exports.JSONRPCNotificationSchema = exports.isJSONRPCRequest = exports.JSONRPCRequestSchema = exports.RequestIdSchema = exports.ResultSchema = exports.NotificationSchema = exports.RequestSchema = exports.isTaskAugmentedRequestParams = exports.TaskAugmentedRequestParamsSchema = exports.RelatedTaskMetadataSchema = exports.TaskMetadataSchema = exports.TaskCreationParamsSchema = exports.CursorSchema = exports.ProgressTokenSchema = exports.JSONRPC_VERSION = exports.RELATED_TASK_META_KEY = exports.SUPPORTED_PROTOCOL_VERSIONS = exports.DEFAULT_NEGOTIATED_PROTOCOL_VERSION = exports.LATEST_PROTOCOL_VERSION = void 0;
27
+ exports.PromptMessageSchema = exports.ContentBlockSchema = exports.ResourceLinkSchema = exports.EmbeddedResourceSchema = exports.ToolUseContentSchema = exports.AudioContentSchema = exports.ImageContentSchema = exports.TextContentSchema = exports.GetPromptRequestSchema = exports.GetPromptRequestParamsSchema = exports.ListPromptsResultSchema = exports.ListPromptsRequestSchema = exports.PromptSchema = exports.PromptArgumentSchema = exports.ResourceUpdatedNotificationSchema = exports.ResourceUpdatedNotificationParamsSchema = exports.UnsubscribeRequestSchema = exports.UnsubscribeRequestParamsSchema = exports.SubscribeRequestSchema = exports.SubscribeRequestParamsSchema = exports.ResourceListChangedNotificationSchema = exports.ReadResourceResultSchema = exports.ReadResourceRequestSchema = exports.ReadResourceRequestParamsSchema = exports.ResourceRequestParamsSchema = exports.ListResourceTemplatesResultSchema = exports.ListResourceTemplatesRequestSchema = exports.ListResourcesResultSchema = exports.ListResourcesRequestSchema = exports.ResourceTemplateSchema = exports.ResourceSchema = exports.AnnotationsSchema = exports.RoleSchema = exports.BlobResourceContentsSchema = exports.TextResourceContentsSchema = exports.ResourceContentsSchema = exports.CancelTaskResultSchema = exports.CancelTaskRequestSchema = exports.ListTasksResultSchema = exports.ListTasksRequestSchema = exports.GetTaskPayloadResultSchema = exports.GetTaskPayloadRequestSchema = exports.GetTaskResultSchema = exports.GetTaskRequestSchema = exports.TaskStatusNotificationSchema = exports.TaskStatusNotificationParamsSchema = exports.CreateTaskResultSchema = exports.TaskSchema = exports.TaskStatusSchema = exports.PaginatedResultSchema = void 0;
28
+ exports.ResourceReferenceSchema = exports.ResourceTemplateReferenceSchema = exports.ElicitResultSchema = exports.ElicitationCompleteNotificationSchema = exports.ElicitationCompleteNotificationParamsSchema = exports.ElicitRequestSchema = exports.ElicitRequestParamsSchema = exports.ElicitRequestURLParamsSchema = exports.ElicitRequestFormParamsSchema = exports.PrimitiveSchemaDefinitionSchema = exports.EnumSchemaSchema = exports.MultiSelectEnumSchemaSchema = exports.TitledMultiSelectEnumSchemaSchema = exports.UntitledMultiSelectEnumSchemaSchema = exports.SingleSelectEnumSchemaSchema = exports.LegacyTitledEnumSchemaSchema = exports.TitledSingleSelectEnumSchemaSchema = exports.UntitledSingleSelectEnumSchemaSchema = exports.NumberSchemaSchema = exports.StringSchemaSchema = exports.BooleanSchemaSchema = exports.CreateMessageResultWithToolsSchema = exports.CreateMessageResultSchema = exports.CreateMessageRequestSchema = exports.CreateMessageRequestParamsSchema = exports.SamplingMessageSchema = exports.SamplingMessageContentBlockSchema = exports.SamplingContentSchema = exports.ToolResultContentSchema = exports.ToolChoiceSchema = exports.ModelPreferencesSchema = exports.ModelHintSchema = exports.LoggingMessageNotificationSchema = exports.LoggingMessageNotificationParamsSchema = exports.SetLevelRequestSchema = exports.SetLevelRequestParamsSchema = exports.LoggingLevelSchema = exports.ListChangedOptionsBaseSchema = exports.ToolListChangedNotificationSchema = exports.CallToolRequestSchema = exports.CallToolRequestParamsSchema = exports.CompatibilityCallToolResultSchema = exports.CallToolResultSchema = exports.ListToolsResultSchema = exports.ListToolsRequestSchema = exports.ToolSchema = exports.ToolExecutionSchema = exports.ToolAnnotationsSchema = exports.PromptListChangedNotificationSchema = exports.GetPromptResultSchema = void 0;
29
+ exports.UrlElicitationRequiredError = exports.McpError = exports.ServerResultSchema = exports.ServerNotificationSchema = exports.ServerRequestSchema = exports.ClientResultSchema = exports.ClientNotificationSchema = exports.ClientRequestSchema = exports.RootsListChangedNotificationSchema = exports.ListRootsResultSchema = exports.ListRootsRequestSchema = exports.RootSchema = exports.CompleteResultSchema = exports.CompleteRequestSchema = exports.CompleteRequestParamsSchema = exports.PromptReferenceSchema = void 0;
30
30
  exports.assertCompleteRequestPrompt = assertCompleteRequestPrompt;
31
31
  exports.assertCompleteRequestResourceTemplate = assertCompleteRequestResourceTemplate;
32
32
  const z = __importStar(require("zod/v4"));
@@ -64,10 +64,14 @@ exports.TaskCreationParamsSchema = z.looseObject({
64
64
  */
65
65
  pollInterval: z.number().optional()
66
66
  });
67
+ exports.TaskMetadataSchema = z.object({
68
+ ttl: z.number().optional()
69
+ });
67
70
  /**
68
- * Task association metadata, used to signal which task a message originated from.
71
+ * Metadata for associating messages with a task.
72
+ * Include this in the `_meta` field under the key `io.modelcontextprotocol/related-task`.
69
73
  */
70
- exports.RelatedTaskMetadataSchema = z.looseObject({
74
+ exports.RelatedTaskMetadataSchema = z.object({
71
75
  taskId: z.string()
72
76
  });
73
77
  const RequestMetaSchema = z.looseObject({
@@ -83,53 +87,55 @@ const RequestMetaSchema = z.looseObject({
83
87
  /**
84
88
  * Common params for any request.
85
89
  */
86
- const BaseRequestParamsSchema = z.looseObject({
87
- /**
88
- * If specified, the caller is requesting that the receiver create a task to represent the request.
89
- * Task creation parameters are now at the top level instead of in _meta.
90
- */
91
- task: exports.TaskCreationParamsSchema.optional(),
90
+ const BaseRequestParamsSchema = z.object({
92
91
  /**
93
92
  * See [General fields: `_meta`](/specification/draft/basic/index#meta) for notes on `_meta` usage.
94
93
  */
95
94
  _meta: RequestMetaSchema.optional()
96
95
  });
96
+ /**
97
+ * Common params for any task-augmented request.
98
+ */
99
+ exports.TaskAugmentedRequestParamsSchema = BaseRequestParamsSchema.extend({
100
+ /**
101
+ * If specified, the caller is requesting task-augmented execution for this request.
102
+ * The request will return a CreateTaskResult immediately, and the actual result can be
103
+ * retrieved later via tasks/result.
104
+ *
105
+ * Task augmentation is subject to capability negotiation - receivers MUST declare support
106
+ * for task augmentation of specific request types in their capabilities.
107
+ */
108
+ task: exports.TaskMetadataSchema.optional()
109
+ });
110
+ /**
111
+ * Checks if a value is a valid TaskAugmentedRequestParams.
112
+ * @param value - The value to check.
113
+ *
114
+ * @returns True if the value is a valid TaskAugmentedRequestParams, false otherwise.
115
+ */
116
+ const isTaskAugmentedRequestParams = (value) => exports.TaskAugmentedRequestParamsSchema.safeParse(value).success;
117
+ exports.isTaskAugmentedRequestParams = isTaskAugmentedRequestParams;
97
118
  exports.RequestSchema = z.object({
98
119
  method: z.string(),
99
- params: BaseRequestParamsSchema.optional()
120
+ params: BaseRequestParamsSchema.loose().optional()
100
121
  });
101
- const NotificationsParamsSchema = z.looseObject({
122
+ const NotificationsParamsSchema = z.object({
102
123
  /**
103
124
  * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
104
125
  * for notes on _meta usage.
105
126
  */
106
- _meta: z
107
- .object({
108
- /**
109
- * If specified, this notification is related to the provided task.
110
- */
111
- [exports.RELATED_TASK_META_KEY]: z.optional(exports.RelatedTaskMetadataSchema)
112
- })
113
- .passthrough()
114
- .optional()
127
+ _meta: RequestMetaSchema.optional()
115
128
  });
116
129
  exports.NotificationSchema = z.object({
117
130
  method: z.string(),
118
- params: NotificationsParamsSchema.optional()
131
+ params: NotificationsParamsSchema.loose().optional()
119
132
  });
120
133
  exports.ResultSchema = z.looseObject({
121
134
  /**
122
135
  * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
123
136
  * for notes on _meta usage.
124
137
  */
125
- _meta: z
126
- .looseObject({
127
- /**
128
- * If specified, this result is related to the provided task.
129
- */
130
- [exports.RELATED_TASK_META_KEY]: exports.RelatedTaskMetadataSchema.optional()
131
- })
132
- .optional()
138
+ _meta: RequestMetaSchema.optional()
133
139
  });
134
140
  /**
135
141
  * A uniquely identifying ID for a request in JSON-RPC.
@@ -161,15 +167,15 @@ exports.isJSONRPCNotification = isJSONRPCNotification;
161
167
  /**
162
168
  * A successful (non-error) response to a request.
163
169
  */
164
- exports.JSONRPCResponseSchema = z
170
+ exports.JSONRPCResultResponseSchema = z
165
171
  .object({
166
172
  jsonrpc: z.literal(exports.JSONRPC_VERSION),
167
173
  id: exports.RequestIdSchema,
168
174
  result: exports.ResultSchema
169
175
  })
170
176
  .strict();
171
- const isJSONRPCResponse = (value) => exports.JSONRPCResponseSchema.safeParse(value).success;
172
- exports.isJSONRPCResponse = isJSONRPCResponse;
177
+ const isJSONRPCResultResponse = (value) => exports.JSONRPCResultResponseSchema.safeParse(value).success;
178
+ exports.isJSONRPCResultResponse = isJSONRPCResultResponse;
173
179
  /**
174
180
  * Error codes defined by the JSON-RPC specification.
175
181
  */
@@ -190,10 +196,10 @@ var ErrorCode;
190
196
  /**
191
197
  * A response to a request that indicates an error occurred.
192
198
  */
193
- exports.JSONRPCErrorSchema = z
199
+ exports.JSONRPCErrorResponseSchema = z
194
200
  .object({
195
201
  jsonrpc: z.literal(exports.JSONRPC_VERSION),
196
- id: exports.RequestIdSchema,
202
+ id: exports.RequestIdSchema.optional(),
197
203
  error: z.object({
198
204
  /**
199
205
  * The error type that occurred.
@@ -206,13 +212,19 @@ exports.JSONRPCErrorSchema = z
206
212
  /**
207
213
  * Additional information about the error. The value of this member is defined by the sender (e.g. detailed error information, nested errors etc.).
208
214
  */
209
- data: z.optional(z.unknown())
215
+ data: z.unknown().optional()
210
216
  })
211
217
  })
212
218
  .strict();
213
- const isJSONRPCError = (value) => exports.JSONRPCErrorSchema.safeParse(value).success;
214
- exports.isJSONRPCError = isJSONRPCError;
215
- exports.JSONRPCMessageSchema = z.union([exports.JSONRPCRequestSchema, exports.JSONRPCNotificationSchema, exports.JSONRPCResponseSchema, exports.JSONRPCErrorSchema]);
219
+ const isJSONRPCErrorResponse = (value) => exports.JSONRPCErrorResponseSchema.safeParse(value).success;
220
+ exports.isJSONRPCErrorResponse = isJSONRPCErrorResponse;
221
+ exports.JSONRPCMessageSchema = z.union([
222
+ exports.JSONRPCRequestSchema,
223
+ exports.JSONRPCNotificationSchema,
224
+ exports.JSONRPCResultResponseSchema,
225
+ exports.JSONRPCErrorResponseSchema
226
+ ]);
227
+ exports.JSONRPCResponseSchema = z.union([exports.JSONRPCResultResponseSchema, exports.JSONRPCErrorResponseSchema]);
216
228
  /* Empty result */
217
229
  /**
218
230
  * A response that indicates success but carries no data.
@@ -224,7 +236,7 @@ exports.CancelledNotificationParamsSchema = NotificationsParamsSchema.extend({
224
236
  *
225
237
  * This MUST correspond to the ID of a request previously issued in the same direction.
226
238
  */
227
- requestId: exports.RequestIdSchema,
239
+ requestId: exports.RequestIdSchema.optional(),
228
240
  /**
229
241
  * An optional string describing the reason for the cancellation. This MAY be logged or presented to the user.
230
242
  */
@@ -263,7 +275,15 @@ exports.IconSchema = z.object({
263
275
  *
264
276
  * If not provided, the client should assume that the icon can be used at any size.
265
277
  */
266
- sizes: z.array(z.string()).optional()
278
+ sizes: z.array(z.string()).optional(),
279
+ /**
280
+ * Optional specifier for the theme this icon is designed for. `light` indicates
281
+ * the icon is designed to be used with a light background, and `dark` indicates
282
+ * the icon is designed to be used with a dark background.
283
+ *
284
+ * If not provided, the client should assume the icon can be used with any theme.
285
+ */
286
+ theme: z.enum(['light', 'dark']).optional()
267
287
  });
268
288
  /**
269
289
  * Base schema to add `icons` property.
@@ -310,7 +330,15 @@ exports.ImplementationSchema = exports.BaseMetadataSchema.extend({
310
330
  /**
311
331
  * An optional URL of the website for this implementation.
312
332
  */
313
- websiteUrl: z.string().optional()
333
+ websiteUrl: z.string().optional(),
334
+ /**
335
+ * An optional human-readable description of what this implementation does.
336
+ *
337
+ * This can be used by clients or servers to provide context about their purpose
338
+ * and capabilities. For example, a server might describe the types of resources
339
+ * or tools it provides, while a client might describe its intended use case.
340
+ */
341
+ description: z.string().optional()
314
342
  });
315
343
  const FormElicitationCapabilitySchema = z.intersection(z.object({
316
344
  applyDefaults: z.boolean().optional()
@@ -329,71 +357,67 @@ const ElicitationCapabilitySchema = z.preprocess(value => {
329
357
  /**
330
358
  * Task capabilities for clients, indicating which request types support task creation.
331
359
  */
332
- exports.ClientTasksCapabilitySchema = z
333
- .object({
360
+ exports.ClientTasksCapabilitySchema = z.looseObject({
334
361
  /**
335
362
  * Present if the client supports listing tasks.
336
363
  */
337
- list: z.optional(z.object({}).passthrough()),
364
+ list: AssertObjectSchema.optional(),
338
365
  /**
339
366
  * Present if the client supports cancelling tasks.
340
367
  */
341
- cancel: z.optional(z.object({}).passthrough()),
368
+ cancel: AssertObjectSchema.optional(),
342
369
  /**
343
370
  * Capabilities for task creation on specific request types.
344
371
  */
345
- requests: z.optional(z
346
- .object({
372
+ requests: z
373
+ .looseObject({
347
374
  /**
348
375
  * Task support for sampling requests.
349
376
  */
350
- sampling: z.optional(z
351
- .object({
352
- createMessage: z.optional(z.object({}).passthrough())
377
+ sampling: z
378
+ .looseObject({
379
+ createMessage: AssertObjectSchema.optional()
353
380
  })
354
- .passthrough()),
381
+ .optional(),
355
382
  /**
356
383
  * Task support for elicitation requests.
357
384
  */
358
- elicitation: z.optional(z
359
- .object({
360
- create: z.optional(z.object({}).passthrough())
385
+ elicitation: z
386
+ .looseObject({
387
+ create: AssertObjectSchema.optional()
361
388
  })
362
- .passthrough())
389
+ .optional()
363
390
  })
364
- .passthrough())
365
- })
366
- .passthrough();
391
+ .optional()
392
+ });
367
393
  /**
368
394
  * Task capabilities for servers, indicating which request types support task creation.
369
395
  */
370
- exports.ServerTasksCapabilitySchema = z
371
- .object({
396
+ exports.ServerTasksCapabilitySchema = z.looseObject({
372
397
  /**
373
398
  * Present if the server supports listing tasks.
374
399
  */
375
- list: z.optional(z.object({}).passthrough()),
400
+ list: AssertObjectSchema.optional(),
376
401
  /**
377
402
  * Present if the server supports cancelling tasks.
378
403
  */
379
- cancel: z.optional(z.object({}).passthrough()),
404
+ cancel: AssertObjectSchema.optional(),
380
405
  /**
381
406
  * Capabilities for task creation on specific request types.
382
407
  */
383
- requests: z.optional(z
384
- .object({
408
+ requests: z
409
+ .looseObject({
385
410
  /**
386
411
  * Task support for tool requests.
387
412
  */
388
- tools: z.optional(z
389
- .object({
390
- call: z.optional(z.object({}).passthrough())
413
+ tools: z
414
+ .looseObject({
415
+ call: AssertObjectSchema.optional()
391
416
  })
392
- .passthrough())
417
+ .optional()
393
418
  })
394
- .passthrough())
395
- })
396
- .passthrough();
419
+ .optional()
420
+ });
397
421
  /**
398
422
  * Capabilities a client may support. Known capabilities are defined here, in this schema, but this is not a closed set: any client can define its own, additional capabilities.
399
423
  */
@@ -436,7 +460,7 @@ exports.ClientCapabilitiesSchema = z.object({
436
460
  /**
437
461
  * Present if the client supports task creation.
438
462
  */
439
- tasks: z.optional(exports.ClientTasksCapabilitySchema)
463
+ tasks: exports.ClientTasksCapabilitySchema.optional()
440
464
  });
441
465
  exports.InitializeRequestParamsSchema = BaseRequestParamsSchema.extend({
442
466
  /**
@@ -458,8 +482,7 @@ exports.isInitializeRequest = isInitializeRequest;
458
482
  /**
459
483
  * Capabilities that a server may support. Known capabilities are defined here, in this schema, but this is not a closed set: any server can define its own, additional capabilities.
460
484
  */
461
- exports.ServerCapabilitiesSchema = z
462
- .object({
485
+ exports.ServerCapabilitiesSchema = z.object({
463
486
  /**
464
487
  * Experimental, non-standard capabilities that the server supports.
465
488
  */
@@ -475,12 +498,14 @@ exports.ServerCapabilitiesSchema = z
475
498
  /**
476
499
  * Present if the server offers any prompt templates.
477
500
  */
478
- prompts: z.optional(z.object({
501
+ prompts: z
502
+ .object({
479
503
  /**
480
504
  * Whether this server supports issuing notifications for changes to the prompt list.
481
505
  */
482
- listChanged: z.optional(z.boolean())
483
- })),
506
+ listChanged: z.boolean().optional()
507
+ })
508
+ .optional(),
484
509
  /**
485
510
  * Present if the server offers any resources to read.
486
511
  */
@@ -510,9 +535,8 @@ exports.ServerCapabilitiesSchema = z
510
535
  /**
511
536
  * Present if the server supports task creation.
512
537
  */
513
- tasks: z.optional(exports.ServerTasksCapabilitySchema)
514
- })
515
- .passthrough();
538
+ tasks: exports.ServerTasksCapabilitySchema.optional()
539
+ });
516
540
  /**
517
541
  * After receiving an initialize request from the client, the server sends this response.
518
542
  */
@@ -534,7 +558,8 @@ exports.InitializeResultSchema = exports.ResultSchema.extend({
534
558
  * This notification is sent from the client to the server after initialization has finished.
535
559
  */
536
560
  exports.InitializedNotificationSchema = exports.NotificationSchema.extend({
537
- method: z.literal('notifications/initialized')
561
+ method: z.literal('notifications/initialized'),
562
+ params: NotificationsParamsSchema.optional()
538
563
  });
539
564
  const isInitializedNotification = (value) => exports.InitializedNotificationSchema.safeParse(value).success;
540
565
  exports.isInitializedNotification = isInitializedNotification;
@@ -543,7 +568,8 @@ exports.isInitializedNotification = isInitializedNotification;
543
568
  * A ping, issued by either the server or the client, to check that the other party is still alive. The receiver must promptly respond, or else may be disconnected.
544
569
  */
545
570
  exports.PingRequestSchema = exports.RequestSchema.extend({
546
- method: z.literal('ping')
571
+ method: z.literal('ping'),
572
+ params: BaseRequestParamsSchema.optional()
547
573
  });
548
574
  /* Progress notifications */
549
575
  exports.ProgressSchema = z.object({
@@ -593,15 +619,19 @@ exports.PaginatedResultSchema = exports.ResultSchema.extend({
593
619
  * An opaque token representing the pagination position after the last returned result.
594
620
  * If present, there may be more results available.
595
621
  */
596
- nextCursor: z.optional(exports.CursorSchema)
622
+ nextCursor: exports.CursorSchema.optional()
597
623
  });
624
+ /**
625
+ * The status of a task.
626
+ * */
627
+ exports.TaskStatusSchema = z.enum(['working', 'input_required', 'completed', 'failed', 'cancelled']);
598
628
  /* Tasks */
599
629
  /**
600
630
  * A pollable state object associated with a request.
601
631
  */
602
632
  exports.TaskSchema = z.object({
603
633
  taskId: z.string(),
604
- status: z.enum(['working', 'input_required', 'completed', 'failed', 'cancelled']),
634
+ status: exports.TaskStatusSchema,
605
635
  /**
606
636
  * Time in milliseconds to keep task results available after completion.
607
637
  * If null, the task has unlimited lifetime until manually cleaned up.
@@ -660,6 +690,13 @@ exports.GetTaskPayloadRequestSchema = exports.RequestSchema.extend({
660
690
  taskId: z.string()
661
691
  })
662
692
  });
693
+ /**
694
+ * The response to a tasks/result request.
695
+ * The structure matches the result type of the original request.
696
+ * For example, a tools/call task would return the CallToolResult structure.
697
+ *
698
+ */
699
+ exports.GetTaskPayloadResultSchema = exports.ResultSchema.loose();
663
700
  /**
664
701
  * A request to list tasks.
665
702
  */
@@ -722,7 +759,7 @@ const Base64Schema = z.string().refine(val => {
722
759
  atob(val);
723
760
  return true;
724
761
  }
725
- catch (_a) {
762
+ catch {
726
763
  return false;
727
764
  }
728
765
  }, { message: 'Invalid Base64 string' });
@@ -732,6 +769,10 @@ exports.BlobResourceContentsSchema = exports.ResourceContentsSchema.extend({
732
769
  */
733
770
  blob: Base64Schema
734
771
  });
772
+ /**
773
+ * The sender or recipient of messages and data in a conversation.
774
+ */
775
+ exports.RoleSchema = z.enum(['user', 'assistant']);
735
776
  /**
736
777
  * Optional annotations providing clients additional context about a resource.
737
778
  */
@@ -739,7 +780,7 @@ exports.AnnotationsSchema = z.object({
739
780
  /**
740
781
  * Intended audience(s) for the resource.
741
782
  */
742
- audience: z.array(z.enum(['user', 'assistant'])).optional(),
783
+ audience: z.array(exports.RoleSchema).optional(),
743
784
  /**
744
785
  * Importance hint for the resource, from 0 (least) to 1 (most).
745
786
  */
@@ -862,7 +903,8 @@ exports.ReadResourceResultSchema = exports.ResultSchema.extend({
862
903
  * An optional notification from the server to the client, informing it that the list of resources it can read from has changed. This may be issued by servers without any previous subscription from the client.
863
904
  */
864
905
  exports.ResourceListChangedNotificationSchema = exports.NotificationSchema.extend({
865
- method: z.literal('notifications/resources/list_changed')
906
+ method: z.literal('notifications/resources/list_changed'),
907
+ params: NotificationsParamsSchema.optional()
866
908
  });
867
909
  exports.SubscribeRequestParamsSchema = exports.ResourceRequestParamsSchema;
868
910
  /**
@@ -1035,8 +1077,7 @@ exports.AudioContentSchema = z.object({
1035
1077
  * A tool call request from an assistant (LLM).
1036
1078
  * Represents the assistant's request to use a tool.
1037
1079
  */
1038
- exports.ToolUseContentSchema = z
1039
- .object({
1080
+ exports.ToolUseContentSchema = z.object({
1040
1081
  type: z.literal('tool_use'),
1041
1082
  /**
1042
1083
  * The name of the tool to invoke.
@@ -1052,14 +1093,13 @@ exports.ToolUseContentSchema = z
1052
1093
  * Arguments to pass to the tool.
1053
1094
  * Must conform to the tool's inputSchema.
1054
1095
  */
1055
- input: z.object({}).passthrough(),
1096
+ input: z.record(z.string(), z.unknown()),
1056
1097
  /**
1057
1098
  * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
1058
1099
  * for notes on _meta usage.
1059
1100
  */
1060
- _meta: z.optional(z.object({}).passthrough())
1061
- })
1062
- .passthrough();
1101
+ _meta: z.record(z.string(), z.unknown()).optional()
1102
+ });
1063
1103
  /**
1064
1104
  * The contents of a resource, embedded into a prompt or tool call result.
1065
1105
  */
@@ -1098,7 +1138,7 @@ exports.ContentBlockSchema = z.union([
1098
1138
  * Describes a message returned as part of a prompt.
1099
1139
  */
1100
1140
  exports.PromptMessageSchema = z.object({
1101
- role: z.enum(['user', 'assistant']),
1141
+ role: exports.RoleSchema,
1102
1142
  content: exports.ContentBlockSchema
1103
1143
  });
1104
1144
  /**
@@ -1108,14 +1148,15 @@ exports.GetPromptResultSchema = exports.ResultSchema.extend({
1108
1148
  /**
1109
1149
  * An optional description for the prompt.
1110
1150
  */
1111
- description: z.optional(z.string()),
1151
+ description: z.string().optional(),
1112
1152
  messages: z.array(exports.PromptMessageSchema)
1113
1153
  });
1114
1154
  /**
1115
1155
  * An optional notification from the server to the client, informing it that the list of prompts it offers has changed. This may be issued by servers without any previous subscription from the client.
1116
1156
  */
1117
1157
  exports.PromptListChangedNotificationSchema = exports.NotificationSchema.extend({
1118
- method: z.literal('notifications/prompts/list_changed')
1158
+ method: z.literal('notifications/prompts/list_changed'),
1159
+ params: NotificationsParamsSchema.optional()
1119
1160
  });
1120
1161
  /* Tools */
1121
1162
  /**
@@ -1218,11 +1259,11 @@ exports.ToolSchema = z.object({
1218
1259
  /**
1219
1260
  * Optional additional tool information.
1220
1261
  */
1221
- annotations: z.optional(exports.ToolAnnotationsSchema),
1262
+ annotations: exports.ToolAnnotationsSchema.optional(),
1222
1263
  /**
1223
1264
  * Execution-related properties for this tool.
1224
1265
  */
1225
- execution: z.optional(exports.ToolExecutionSchema),
1266
+ execution: exports.ToolExecutionSchema.optional(),
1226
1267
  /**
1227
1268
  * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
1228
1269
  * for notes on _meta usage.
@@ -1272,7 +1313,7 @@ exports.CallToolResultSchema = exports.ResultSchema.extend({
1272
1313
  * server does not support tool calls, or any other exceptional conditions,
1273
1314
  * should be reported as an MCP error response.
1274
1315
  */
1275
- isError: z.optional(z.boolean())
1316
+ isError: z.boolean().optional()
1276
1317
  });
1277
1318
  /**
1278
1319
  * CallToolResultSchema extended with backwards compatibility to protocol version 2024-10-07.
@@ -1283,7 +1324,7 @@ exports.CompatibilityCallToolResultSchema = exports.CallToolResultSchema.or(expo
1283
1324
  /**
1284
1325
  * Parameters for a `tools/call` request.
1285
1326
  */
1286
- exports.CallToolRequestParamsSchema = BaseRequestParamsSchema.extend({
1327
+ exports.CallToolRequestParamsSchema = exports.TaskAugmentedRequestParamsSchema.extend({
1287
1328
  /**
1288
1329
  * The name of the tool to call.
1289
1330
  */
@@ -1291,7 +1332,7 @@ exports.CallToolRequestParamsSchema = BaseRequestParamsSchema.extend({
1291
1332
  /**
1292
1333
  * Arguments to pass to the tool.
1293
1334
  */
1294
- arguments: z.optional(z.record(z.string(), z.unknown()))
1335
+ arguments: z.record(z.string(), z.unknown()).optional()
1295
1336
  });
1296
1337
  /**
1297
1338
  * Used by the client to invoke a tool provided by the server.
@@ -1304,7 +1345,32 @@ exports.CallToolRequestSchema = exports.RequestSchema.extend({
1304
1345
  * An optional notification from the server to the client, informing it that the list of tools it offers has changed. This may be issued by servers without any previous subscription from the client.
1305
1346
  */
1306
1347
  exports.ToolListChangedNotificationSchema = exports.NotificationSchema.extend({
1307
- method: z.literal('notifications/tools/list_changed')
1348
+ method: z.literal('notifications/tools/list_changed'),
1349
+ params: NotificationsParamsSchema.optional()
1350
+ });
1351
+ /**
1352
+ * Base schema for list changed subscription options (without callback).
1353
+ * Used internally for Zod validation of autoRefresh and debounceMs.
1354
+ */
1355
+ exports.ListChangedOptionsBaseSchema = z.object({
1356
+ /**
1357
+ * If true, the list will be refreshed automatically when a list changed notification is received.
1358
+ * The callback will be called with the updated list.
1359
+ *
1360
+ * If false, the callback will be called with null items, allowing manual refresh.
1361
+ *
1362
+ * @default true
1363
+ */
1364
+ autoRefresh: z.boolean().default(true),
1365
+ /**
1366
+ * Debounce time in milliseconds for list changed notification processing.
1367
+ *
1368
+ * Multiple notifications received within this timeframe will only trigger one refresh.
1369
+ * Set to 0 to disable debouncing.
1370
+ *
1371
+ * @default 300
1372
+ */
1373
+ debounceMs: z.number().int().nonnegative().default(300)
1308
1374
  });
1309
1375
  /* Logging */
1310
1376
  /**
@@ -1368,19 +1434,19 @@ exports.ModelPreferencesSchema = z.object({
1368
1434
  /**
1369
1435
  * Optional hints to use for model selection.
1370
1436
  */
1371
- hints: z.optional(z.array(exports.ModelHintSchema)),
1437
+ hints: z.array(exports.ModelHintSchema).optional(),
1372
1438
  /**
1373
1439
  * How much to prioritize cost when selecting a model.
1374
1440
  */
1375
- costPriority: z.optional(z.number().min(0).max(1)),
1441
+ costPriority: z.number().min(0).max(1).optional(),
1376
1442
  /**
1377
1443
  * How much to prioritize sampling speed (latency) when selecting a model.
1378
1444
  */
1379
- speedPriority: z.optional(z.number().min(0).max(1)),
1445
+ speedPriority: z.number().min(0).max(1).optional(),
1380
1446
  /**
1381
1447
  * How much to prioritize intelligence and capabilities when selecting a model.
1382
1448
  */
1383
- intelligencePriority: z.optional(z.number().min(0).max(1))
1449
+ intelligencePriority: z.number().min(0).max(1).optional()
1384
1450
  });
1385
1451
  /**
1386
1452
  * Controls tool usage behavior in sampling requests.
@@ -1392,26 +1458,24 @@ exports.ToolChoiceSchema = z.object({
1392
1458
  * - "required": Model MUST use at least one tool before completing
1393
1459
  * - "none": Model MUST NOT use any tools
1394
1460
  */
1395
- mode: z.optional(z.enum(['auto', 'required', 'none']))
1461
+ mode: z.enum(['auto', 'required', 'none']).optional()
1396
1462
  });
1397
1463
  /**
1398
1464
  * The result of a tool execution, provided by the user (server).
1399
1465
  * Represents the outcome of invoking a tool requested via ToolUseContent.
1400
1466
  */
1401
- exports.ToolResultContentSchema = z
1402
- .object({
1467
+ exports.ToolResultContentSchema = z.object({
1403
1468
  type: z.literal('tool_result'),
1404
1469
  toolUseId: z.string().describe('The unique identifier for the corresponding tool call.'),
1405
1470
  content: z.array(exports.ContentBlockSchema).default([]),
1406
- structuredContent: z.object({}).passthrough().optional(),
1407
- isError: z.optional(z.boolean()),
1471
+ structuredContent: z.object({}).loose().optional(),
1472
+ isError: z.boolean().optional(),
1408
1473
  /**
1409
1474
  * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
1410
1475
  * for notes on _meta usage.
1411
1476
  */
1412
- _meta: z.optional(z.object({}).passthrough())
1413
- })
1414
- .passthrough();
1477
+ _meta: z.record(z.string(), z.unknown()).optional()
1478
+ });
1415
1479
  /**
1416
1480
  * Basic content types for sampling responses (without tool use).
1417
1481
  * Used for backwards-compatible CreateMessageResult when tools are not used.
@@ -1431,21 +1495,19 @@ exports.SamplingMessageContentBlockSchema = z.discriminatedUnion('type', [
1431
1495
  /**
1432
1496
  * Describes a message issued to or received from an LLM API.
1433
1497
  */
1434
- exports.SamplingMessageSchema = z
1435
- .object({
1436
- role: z.enum(['user', 'assistant']),
1498
+ exports.SamplingMessageSchema = z.object({
1499
+ role: exports.RoleSchema,
1437
1500
  content: z.union([exports.SamplingMessageContentBlockSchema, z.array(exports.SamplingMessageContentBlockSchema)]),
1438
1501
  /**
1439
1502
  * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
1440
1503
  * for notes on _meta usage.
1441
1504
  */
1442
- _meta: z.optional(z.object({}).passthrough())
1443
- })
1444
- .passthrough();
1505
+ _meta: z.record(z.string(), z.unknown()).optional()
1506
+ });
1445
1507
  /**
1446
1508
  * Parameters for a `sampling/createMessage` request.
1447
1509
  */
1448
- exports.CreateMessageRequestParamsSchema = BaseRequestParamsSchema.extend({
1510
+ exports.CreateMessageRequestParamsSchema = exports.TaskAugmentedRequestParamsSchema.extend({
1449
1511
  messages: z.array(exports.SamplingMessageSchema),
1450
1512
  /**
1451
1513
  * The server's preferences for which model to select. The client MAY modify or omit this request.
@@ -1479,13 +1541,13 @@ exports.CreateMessageRequestParamsSchema = BaseRequestParamsSchema.extend({
1479
1541
  * Tools that the model may use during generation.
1480
1542
  * The client MUST return an error if this field is provided but ClientCapabilities.sampling.tools is not declared.
1481
1543
  */
1482
- tools: z.optional(z.array(exports.ToolSchema)),
1544
+ tools: z.array(exports.ToolSchema).optional(),
1483
1545
  /**
1484
1546
  * Controls how the model uses tools.
1485
1547
  * The client MUST return an error if this field is provided but ClientCapabilities.sampling.tools is not declared.
1486
1548
  * Default is `{ mode: "auto" }`.
1487
1549
  */
1488
- toolChoice: z.optional(exports.ToolChoiceSchema)
1550
+ toolChoice: exports.ToolChoiceSchema.optional()
1489
1551
  });
1490
1552
  /**
1491
1553
  * A request from the server to sample an LLM via the client. The client has full discretion over which model to select. The client should also inform the user before beginning sampling, to allow them to inspect the request (human in the loop) and decide whether to approve it.
@@ -1515,7 +1577,7 @@ exports.CreateMessageResultSchema = exports.ResultSchema.extend({
1515
1577
  * This field is an open string to allow for provider-specific stop reasons.
1516
1578
  */
1517
1579
  stopReason: z.optional(z.enum(['endTurn', 'stopSequence', 'maxTokens']).or(z.string())),
1518
- role: z.enum(['user', 'assistant']),
1580
+ role: exports.RoleSchema,
1519
1581
  /**
1520
1582
  * Response content. Single content block (text, image, or audio).
1521
1583
  */
@@ -1542,7 +1604,7 @@ exports.CreateMessageResultWithToolsSchema = exports.ResultSchema.extend({
1542
1604
  * This field is an open string to allow for provider-specific stop reasons.
1543
1605
  */
1544
1606
  stopReason: z.optional(z.enum(['endTurn', 'stopSequence', 'maxTokens', 'toolUse']).or(z.string())),
1545
- role: z.enum(['user', 'assistant']),
1607
+ role: exports.RoleSchema,
1546
1608
  /**
1547
1609
  * Response content. May be a single block or array. May include ToolUseContent if stopReason is "toolUse".
1548
1610
  */
@@ -1665,7 +1727,7 @@ exports.PrimitiveSchemaDefinitionSchema = z.union([exports.EnumSchemaSchema, exp
1665
1727
  /**
1666
1728
  * Parameters for an `elicitation/create` request for form-based elicitation.
1667
1729
  */
1668
- exports.ElicitRequestFormParamsSchema = BaseRequestParamsSchema.extend({
1730
+ exports.ElicitRequestFormParamsSchema = exports.TaskAugmentedRequestParamsSchema.extend({
1669
1731
  /**
1670
1732
  * The elicitation mode.
1671
1733
  *
@@ -1689,7 +1751,7 @@ exports.ElicitRequestFormParamsSchema = BaseRequestParamsSchema.extend({
1689
1751
  /**
1690
1752
  * Parameters for an `elicitation/create` request for URL-based elicitation.
1691
1753
  */
1692
- exports.ElicitRequestURLParamsSchema = BaseRequestParamsSchema.extend({
1754
+ exports.ElicitRequestURLParamsSchema = exports.TaskAugmentedRequestParamsSchema.extend({
1693
1755
  /**
1694
1756
  * The elicitation mode.
1695
1757
  */
@@ -1873,7 +1935,8 @@ exports.RootSchema = z.object({
1873
1935
  * Sent from the server to request a list of root URIs from the client.
1874
1936
  */
1875
1937
  exports.ListRootsRequestSchema = exports.RequestSchema.extend({
1876
- method: z.literal('roots/list')
1938
+ method: z.literal('roots/list'),
1939
+ params: BaseRequestParamsSchema.optional()
1877
1940
  });
1878
1941
  /**
1879
1942
  * The client's response to a roots/list request from the server.
@@ -1885,7 +1948,8 @@ exports.ListRootsResultSchema = exports.ResultSchema.extend({
1885
1948
  * A notification from the client to the server, informing it that the list of roots has changed.
1886
1949
  */
1887
1950
  exports.RootsListChangedNotificationSchema = exports.NotificationSchema.extend({
1888
- method: z.literal('notifications/roots/list_changed')
1951
+ method: z.literal('notifications/roots/list_changed'),
1952
+ params: NotificationsParamsSchema.optional()
1889
1953
  });
1890
1954
  /* Client messages */
1891
1955
  exports.ClientRequestSchema = z.union([
@@ -1904,7 +1968,8 @@ exports.ClientRequestSchema = z.union([
1904
1968
  exports.ListToolsRequestSchema,
1905
1969
  exports.GetTaskRequestSchema,
1906
1970
  exports.GetTaskPayloadRequestSchema,
1907
- exports.ListTasksRequestSchema
1971
+ exports.ListTasksRequestSchema,
1972
+ exports.CancelTaskRequestSchema
1908
1973
  ]);
1909
1974
  exports.ClientNotificationSchema = z.union([
1910
1975
  exports.CancelledNotificationSchema,
@@ -1931,7 +1996,8 @@ exports.ServerRequestSchema = z.union([
1931
1996
  exports.ListRootsRequestSchema,
1932
1997
  exports.GetTaskRequestSchema,
1933
1998
  exports.GetTaskPayloadRequestSchema,
1934
- exports.ListTasksRequestSchema
1999
+ exports.ListTasksRequestSchema,
2000
+ exports.CancelTaskRequestSchema
1935
2001
  ]);
1936
2002
  exports.ServerNotificationSchema = z.union([
1937
2003
  exports.CancelledNotificationSchema,
@@ -1993,8 +2059,7 @@ class UrlElicitationRequiredError extends McpError {
1993
2059
  });
1994
2060
  }
1995
2061
  get elicitations() {
1996
- var _a, _b;
1997
- return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.elicitations) !== null && _b !== void 0 ? _b : [];
2062
+ return this.data?.elicitations ?? [];
1998
2063
  }
1999
2064
  }
2000
2065
  exports.UrlElicitationRequiredError = UrlElicitationRequiredError;