@1mcp/agent 0.38.2 → 0.39.0-beta.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 (362) hide show
  1. package/build/admin/assets/{admin-OAuthServicesWorkspace-BnEBXa_2.js → admin-OAuthServicesWorkspace-Bmets2jv.js} +1 -1
  2. package/build/admin/assets/{admin-console-5rVJC_G2.js → admin-console-DyzxXXr5.js} +3 -3
  3. package/build/admin/index.html +1 -1
  4. package/build/commands/run/run.d.ts.map +1 -1
  5. package/build/commands/run/run.js +35 -14
  6. package/build/commands/run/run.js.map +1 -1
  7. package/build/commands/run/runUtils.d.ts +2 -3
  8. package/build/commands/run/runUtils.d.ts.map +1 -1
  9. package/build/commands/run/runUtils.js +12 -11
  10. package/build/commands/run/runUtils.js.map +1 -1
  11. package/build/commands/serve/cooperativeRuntime.d.ts +18 -0
  12. package/build/commands/serve/cooperativeRuntime.d.ts.map +1 -0
  13. package/build/commands/serve/cooperativeRuntime.js +588 -0
  14. package/build/commands/serve/cooperativeRuntime.js.map +1 -0
  15. package/build/commands/serve/index.d.ts +10 -0
  16. package/build/commands/serve/index.d.ts.map +1 -1
  17. package/build/commands/serve/index.js +10 -0
  18. package/build/commands/serve/index.js.map +1 -1
  19. package/build/commands/serve/serveStatus.d.ts +2 -0
  20. package/build/commands/serve/serveStatus.d.ts.map +1 -1
  21. package/build/commands/serve/serveStatus.js +37 -9
  22. package/build/commands/serve/serveStatus.js.map +1 -1
  23. package/build/commands/serve/serveStop.d.ts.map +1 -1
  24. package/build/commands/serve/serveStop.js +14 -9
  25. package/build/commands/serve/serveStop.js.map +1 -1
  26. package/build/commands/shared/apiClient.d.ts.map +1 -1
  27. package/build/commands/shared/apiClient.js +13 -9
  28. package/build/commands/shared/apiClient.js.map +1 -1
  29. package/build/commands/shared/clientSurfaceAttachment.d.ts.map +1 -1
  30. package/build/commands/shared/clientSurfaceAttachment.js +33 -7
  31. package/build/commands/shared/clientSurfaceAttachment.js.map +1 -1
  32. package/build/config/configLoader.d.ts.map +1 -1
  33. package/build/config/configLoader.js +9 -1
  34. package/build/config/configLoader.js.map +1 -1
  35. package/build/config/configManager.d.ts +4 -0
  36. package/build/config/configManager.d.ts.map +1 -1
  37. package/build/config/configManager.js +48 -1
  38. package/build/config/configManager.js.map +1 -1
  39. package/build/config/configWatcher.d.ts.map +1 -1
  40. package/build/config/configWatcher.js +3 -1
  41. package/build/config/configWatcher.js.map +1 -1
  42. package/build/config/envProcessor.d.ts.map +1 -1
  43. package/build/config/envProcessor.js +6 -5
  44. package/build/config/envProcessor.js.map +1 -1
  45. package/build/config/mcpConfigManager.d.ts +4 -0
  46. package/build/config/mcpConfigManager.d.ts.map +1 -1
  47. package/build/config/mcpConfigManager.js +48 -1
  48. package/build/config/mcpConfigManager.js.map +1 -1
  49. package/build/config/runtimeBootstrap.d.ts +15 -0
  50. package/build/config/runtimeBootstrap.d.ts.map +1 -0
  51. package/build/config/runtimeBootstrap.js +35 -0
  52. package/build/config/runtimeBootstrap.js.map +1 -0
  53. package/build/config/runtimeScopeEnv.d.ts.map +1 -1
  54. package/build/config/runtimeScopeEnv.js +4 -0
  55. package/build/config/runtimeScopeEnv.js.map +1 -1
  56. package/build/config/runtimeTargetFingerprint.d.ts.map +1 -1
  57. package/build/config/runtimeTargetFingerprint.js +5 -2
  58. package/build/config/runtimeTargetFingerprint.js.map +1 -1
  59. package/build/constants/mcp.d.ts +1 -1
  60. package/build/constants/mcp.d.ts.map +1 -1
  61. package/build/constants/mcp.js +1 -1
  62. package/build/constants/mcp.js.map +1 -1
  63. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +2 -1
  64. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
  65. package/build/core/capabilities/asyncLoadingOrchestrator.js +2 -21
  66. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
  67. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  68. package/build/core/capabilities/capabilityAggregator.js +12 -4
  69. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  70. package/build/core/capabilities/capabilityCatalog.d.ts +2 -1
  71. package/build/core/capabilities/capabilityCatalog.d.ts.map +1 -1
  72. package/build/core/capabilities/capabilityCatalog.js +94 -17
  73. package/build/core/capabilities/capabilityCatalog.js.map +1 -1
  74. package/build/core/capabilities/capabilityPagination.d.ts +11 -0
  75. package/build/core/capabilities/capabilityPagination.d.ts.map +1 -1
  76. package/build/core/capabilities/capabilityPagination.js +158 -40
  77. package/build/core/capabilities/capabilityPagination.js.map +1 -1
  78. package/build/core/capabilities/catalogGeneration.d.ts.map +1 -1
  79. package/build/core/capabilities/catalogGeneration.js +8 -2
  80. package/build/core/capabilities/catalogGeneration.js.map +1 -1
  81. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +1 -1
  82. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -1
  83. package/build/core/capabilities/lazyLoadingOrchestrator.js +8 -8
  84. package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -1
  85. package/build/core/capabilities/metaToolProvider.d.ts +2 -2
  86. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -1
  87. package/build/core/capabilities/metaToolProvider.js +20 -30
  88. package/build/core/capabilities/metaToolProvider.js.map +1 -1
  89. package/build/core/capabilities/runtimeCapabilityCatalog.d.ts +8 -0
  90. package/build/core/capabilities/runtimeCapabilityCatalog.d.ts.map +1 -1
  91. package/build/core/capabilities/runtimeCapabilityCatalog.js +249 -64
  92. package/build/core/capabilities/runtimeCapabilityCatalog.js.map +1 -1
  93. package/build/core/capabilities/schemaCache.d.ts +6 -2
  94. package/build/core/capabilities/schemaCache.d.ts.map +1 -1
  95. package/build/core/capabilities/schemaCache.js +101 -19
  96. package/build/core/capabilities/schemaCache.js.map +1 -1
  97. package/build/core/client/legacyAdapterRequest.d.ts.map +1 -1
  98. package/build/core/client/legacyAdapterRequest.js +25 -21
  99. package/build/core/client/legacyAdapterRequest.js.map +1 -1
  100. package/build/core/client/postAuthOAuthRecovery.d.ts.map +1 -1
  101. package/build/core/client/postAuthOAuthRecovery.js +3 -1
  102. package/build/core/client/postAuthOAuthRecovery.js.map +1 -1
  103. package/build/core/configChangeHandler.d.ts.map +1 -1
  104. package/build/core/configChangeHandler.js +11 -2
  105. package/build/core/configChangeHandler.js.map +1 -1
  106. package/build/core/context/templateContextTrust.d.ts +3 -1
  107. package/build/core/context/templateContextTrust.d.ts.map +1 -1
  108. package/build/core/context/templateContextTrust.js +22 -6
  109. package/build/core/context/templateContextTrust.js.map +1 -1
  110. package/build/core/loading/mcpLoadingManager.d.ts +3 -0
  111. package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
  112. package/build/core/loading/mcpLoadingManager.js +11 -1
  113. package/build/core/loading/mcpLoadingManager.js.map +1 -1
  114. package/build/core/protocol/resourceTemplateRouting.d.ts +2 -0
  115. package/build/core/protocol/resourceTemplateRouting.d.ts.map +1 -0
  116. package/build/core/protocol/resourceTemplateRouting.js +2 -0
  117. package/build/core/protocol/resourceTemplateRouting.js.map +1 -0
  118. package/build/core/server/backgroundRuntimeSupervisor.d.ts +2 -0
  119. package/build/core/server/backgroundRuntimeSupervisor.d.ts.map +1 -1
  120. package/build/core/server/backgroundRuntimeSupervisor.js +11 -2
  121. package/build/core/server/backgroundRuntimeSupervisor.js.map +1 -1
  122. package/build/core/server/backgroundRuntimeSupervisorState.d.ts +2 -1
  123. package/build/core/server/backgroundRuntimeSupervisorState.d.ts.map +1 -1
  124. package/build/core/server/backgroundRuntimeSupervisorState.js +3 -2
  125. package/build/core/server/backgroundRuntimeSupervisorState.js.map +1 -1
  126. package/build/core/server/pidFileManager.d.ts +35 -0
  127. package/build/core/server/pidFileManager.d.ts.map +1 -1
  128. package/build/core/server/pidFileManager.js +16 -5
  129. package/build/core/server/pidFileManager.js.map +1 -1
  130. package/build/core/server/processIdentity.d.ts +3 -0
  131. package/build/core/server/processIdentity.d.ts.map +1 -1
  132. package/build/core/server/processIdentity.js +69 -17
  133. package/build/core/server/processIdentity.js.map +1 -1
  134. package/build/core/server/runtimeControl.d.ts +31 -0
  135. package/build/core/server/runtimeControl.d.ts.map +1 -0
  136. package/build/core/server/runtimeControl.js +288 -0
  137. package/build/core/server/runtimeControl.js.map +1 -0
  138. package/build/core/server/runtimeDrain.d.ts +68 -0
  139. package/build/core/server/runtimeDrain.d.ts.map +1 -0
  140. package/build/core/server/runtimeDrain.js +248 -0
  141. package/build/core/server/runtimeDrain.js.map +1 -0
  142. package/build/core/server/runtimeLaunchIpc.d.ts +285 -0
  143. package/build/core/server/runtimeLaunchIpc.d.ts.map +1 -0
  144. package/build/core/server/runtimeLaunchIpc.js +146 -0
  145. package/build/core/server/runtimeLaunchIpc.js.map +1 -0
  146. package/build/core/server/runtimeLifecycle.d.ts +3 -1
  147. package/build/core/server/runtimeLifecycle.d.ts.map +1 -1
  148. package/build/core/server/runtimeLifecycle.js +7 -8
  149. package/build/core/server/runtimeLifecycle.js.map +1 -1
  150. package/build/core/server/runtimeReplacementConfig.d.ts +295 -0
  151. package/build/core/server/runtimeReplacementConfig.d.ts.map +1 -0
  152. package/build/core/server/runtimeReplacementConfig.js +187 -0
  153. package/build/core/server/runtimeReplacementConfig.js.map +1 -0
  154. package/build/core/server/runtimeScopeOwnership.d.ts +3 -0
  155. package/build/core/server/runtimeScopeOwnership.d.ts.map +1 -1
  156. package/build/core/server/runtimeScopeOwnership.js +23 -4
  157. package/build/core/server/runtimeScopeOwnership.js.map +1 -1
  158. package/build/core/tools/internal/discoveryHandlers.d.ts.map +1 -1
  159. package/build/core/tools/internal/discoveryHandlers.js +8 -6
  160. package/build/core/tools/internal/discoveryHandlers.js.map +1 -1
  161. package/build/core/tools/internal/installationHandlers.d.ts.map +1 -1
  162. package/build/core/tools/internal/installationHandlers.js +46 -39
  163. package/build/core/tools/internal/installationHandlers.js.map +1 -1
  164. package/build/core/types/server.d.ts +2 -0
  165. package/build/core/types/server.d.ts.map +1 -1
  166. package/build/core/types/transport.d.ts +1 -1
  167. package/build/core/validation/schemaBoundary.d.ts +51 -0
  168. package/build/core/validation/schemaBoundary.d.ts.map +1 -0
  169. package/build/core/validation/schemaBoundary.js +237 -0
  170. package/build/core/validation/schemaBoundary.js.map +1 -0
  171. package/build/core/validation/schemaPolicy.d.ts +38 -0
  172. package/build/core/validation/schemaPolicy.d.ts.map +1 -0
  173. package/build/core/validation/schemaPolicy.js +127 -0
  174. package/build/core/validation/schemaPolicy.js.map +1 -0
  175. package/build/core/validation/schemaWorker.d.ts +2 -0
  176. package/build/core/validation/schemaWorker.d.ts.map +1 -0
  177. package/build/core/validation/schemaWorker.js +222 -0
  178. package/build/core/validation/schemaWorker.js.map +1 -0
  179. package/build/core/validation/toolSchemaBoundary.d.ts +19 -0
  180. package/build/core/validation/toolSchemaBoundary.d.ts.map +1 -0
  181. package/build/core/validation/toolSchemaBoundary.js +51 -0
  182. package/build/core/validation/toolSchemaBoundary.js.map +1 -0
  183. package/build/domains/admin/adminOperationService.d.ts +1 -0
  184. package/build/domains/admin/adminOperationService.d.ts.map +1 -1
  185. package/build/domains/admin/adminOperationService.js +4 -0
  186. package/build/domains/admin/adminOperationService.js.map +1 -1
  187. package/build/domains/config-change/configChange.d.ts.map +1 -1
  188. package/build/domains/config-change/configChange.js +36 -8
  189. package/build/domains/config-change/configChange.js.map +1 -1
  190. package/build/domains/installation/serverInstallationWorkflow.d.ts.map +1 -1
  191. package/build/domains/installation/serverInstallationWorkflow.js +21 -12
  192. package/build/domains/installation/serverInstallationWorkflow.js.map +1 -1
  193. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  194. package/build/domains/preset/manager/presetManager.js +2 -1
  195. package/build/domains/preset/manager/presetManager.js.map +1 -1
  196. package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
  197. package/build/domains/registry/mcpRegistryClient.js +10 -3
  198. package/build/domains/registry/mcpRegistryClient.js.map +1 -1
  199. package/build/gateway/adapters/modern/modernOutboundEraAdapter.d.ts +2 -1
  200. package/build/gateway/adapters/modern/modernOutboundEraAdapter.d.ts.map +1 -1
  201. package/build/gateway/adapters/modern/modernOutboundEraAdapter.js +77 -3
  202. package/build/gateway/adapters/modern/modernOutboundEraAdapter.js.map +1 -1
  203. package/build/gateway/contracts/gatewayFailure.d.ts +38 -0
  204. package/build/gateway/contracts/gatewayFailure.d.ts.map +1 -1
  205. package/build/gateway/contracts/gatewayFailure.js +137 -20
  206. package/build/gateway/contracts/gatewayFailure.js.map +1 -1
  207. package/build/gateway/core/gatewayDispatcher.d.ts +4 -0
  208. package/build/gateway/core/gatewayDispatcher.d.ts.map +1 -1
  209. package/build/gateway/core/gatewayDispatcher.js +35 -3
  210. package/build/gateway/core/gatewayDispatcher.js.map +1 -1
  211. package/build/gateway/interactions/interactionBroker.d.ts +29 -0
  212. package/build/gateway/interactions/interactionBroker.d.ts.map +1 -0
  213. package/build/gateway/interactions/interactionBroker.js +244 -0
  214. package/build/gateway/interactions/interactionBroker.js.map +1 -0
  215. package/build/gateway/interactions/interactionCapabilities.d.ts +4 -0
  216. package/build/gateway/interactions/interactionCapabilities.d.ts.map +1 -0
  217. package/build/gateway/interactions/interactionCapabilities.js +36 -0
  218. package/build/gateway/interactions/interactionCapabilities.js.map +1 -0
  219. package/build/gateway/interactions/interactionOwner.d.ts +45 -0
  220. package/build/gateway/interactions/interactionOwner.d.ts.map +1 -0
  221. package/build/gateway/interactions/interactionOwner.js +203 -0
  222. package/build/gateway/interactions/interactionOwner.js.map +1 -0
  223. package/build/gateway/interactions/interactionRoute.d.ts +16 -0
  224. package/build/gateway/interactions/interactionRoute.d.ts.map +1 -0
  225. package/build/gateway/interactions/interactionRoute.js +41 -0
  226. package/build/gateway/interactions/interactionRoute.js.map +1 -0
  227. package/build/gateway/interactions/validateInteractionResponse.d.ts +6 -0
  228. package/build/gateway/interactions/validateInteractionResponse.d.ts.map +1 -0
  229. package/build/gateway/interactions/validateInteractionResponse.js +175 -0
  230. package/build/gateway/interactions/validateInteractionResponse.js.map +1 -0
  231. package/build/gateway/ports/outboundEraAdapter.d.ts +10 -1
  232. package/build/gateway/ports/outboundEraAdapter.d.ts.map +1 -1
  233. package/build/sdk/contracts/legacySdkAdapter.d.ts +5 -0
  234. package/build/sdk/contracts/legacySdkAdapter.d.ts.map +1 -1
  235. package/build/sdk/contracts/protocol.d.ts +3 -3
  236. package/build/sdk/contracts/protocol.d.ts.map +1 -1
  237. package/build/sdk/contracts/protocol.js +3 -2
  238. package/build/sdk/contracts/protocol.js.map +1 -1
  239. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.d.ts +8 -0
  240. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.d.ts.map +1 -0
  241. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.js +63 -0
  242. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.js.map +1 -0
  243. package/build/sdk/legacy/client/runtime/clientFactory.d.ts +4 -1
  244. package/build/sdk/legacy/client/runtime/clientFactory.d.ts.map +1 -1
  245. package/build/sdk/legacy/client/runtime/clientFactory.js +41 -14
  246. package/build/sdk/legacy/client/runtime/clientFactory.js.map +1 -1
  247. package/build/sdk/legacy/client/runtime/clientManager.d.ts.map +1 -1
  248. package/build/sdk/legacy/client/runtime/clientManager.js +20 -7
  249. package/build/sdk/legacy/client/runtime/clientManager.js.map +1 -1
  250. package/build/sdk/legacy/client/runtime/legacyInteractionLease.d.ts +8 -0
  251. package/build/sdk/legacy/client/runtime/legacyInteractionLease.d.ts.map +1 -0
  252. package/build/sdk/legacy/client/runtime/legacyInteractionLease.js +44 -0
  253. package/build/sdk/legacy/client/runtime/legacyInteractionLease.js.map +1 -0
  254. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.d.ts +4 -0
  255. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.d.ts.map +1 -1
  256. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.js +20 -0
  257. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.js.map +1 -1
  258. package/build/sdk/legacy/client/runtime/legacyTransport.d.ts +2 -0
  259. package/build/sdk/legacy/client/runtime/legacyTransport.d.ts.map +1 -1
  260. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.d.ts +3 -0
  261. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.d.ts.map +1 -1
  262. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.js +98 -4
  263. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.js.map +1 -1
  264. package/build/sdk/legacy/commands/serve.d.ts +2 -0
  265. package/build/sdk/legacy/commands/serve.d.ts.map +1 -1
  266. package/build/sdk/legacy/commands/serve.js +40 -9
  267. package/build/sdk/legacy/commands/serve.js.map +1 -1
  268. package/build/sdk/legacy/server/protocol/notificationHandlers.d.ts.map +1 -1
  269. package/build/sdk/legacy/server/protocol/notificationHandlers.js +19 -47
  270. package/build/sdk/legacy/server/protocol/notificationHandlers.js.map +1 -1
  271. package/build/sdk/legacy/server/protocol/privateInteractionConnection.d.ts +7 -0
  272. package/build/sdk/legacy/server/protocol/privateInteractionConnection.d.ts.map +1 -0
  273. package/build/sdk/legacy/server/protocol/privateInteractionConnection.js +134 -0
  274. package/build/sdk/legacy/server/protocol/privateInteractionConnection.js.map +1 -0
  275. package/build/sdk/legacy/server/protocol/promptRequestHandlers.d.ts.map +1 -1
  276. package/build/sdk/legacy/server/protocol/promptRequestHandlers.js +4 -3
  277. package/build/sdk/legacy/server/protocol/promptRequestHandlers.js.map +1 -1
  278. package/build/sdk/legacy/server/protocol/requestHandlers.d.ts.map +1 -1
  279. package/build/sdk/legacy/server/protocol/requestHandlers.js +5 -47
  280. package/build/sdk/legacy/server/protocol/requestHandlers.js.map +1 -1
  281. package/build/sdk/legacy/server/protocol/requestInteractionScope.d.ts +17 -0
  282. package/build/sdk/legacy/server/protocol/requestInteractionScope.d.ts.map +1 -0
  283. package/build/sdk/legacy/server/protocol/requestInteractionScope.js +223 -0
  284. package/build/sdk/legacy/server/protocol/requestInteractionScope.js.map +1 -0
  285. package/build/sdk/legacy/server/protocol/resourceRequestHandlers.d.ts.map +1 -1
  286. package/build/sdk/legacy/server/protocol/resourceRequestHandlers.js +3 -2
  287. package/build/sdk/legacy/server/protocol/resourceRequestHandlers.js.map +1 -1
  288. package/build/sdk/legacy/server/protocol/toolRequestHandlers.d.ts.map +1 -1
  289. package/build/sdk/legacy/server/protocol/toolRequestHandlers.js +72 -17
  290. package/build/sdk/legacy/server/protocol/toolRequestHandlers.js.map +1 -1
  291. package/build/sdk/legacy/server/runtime/connectionManager.d.ts.map +1 -1
  292. package/build/sdk/legacy/server/runtime/connectionManager.js +3 -0
  293. package/build/sdk/legacy/server/runtime/connectionManager.js.map +1 -1
  294. package/build/sdk/legacy/server/runtime/serverManager.d.ts +2 -0
  295. package/build/sdk/legacy/server/runtime/serverManager.d.ts.map +1 -1
  296. package/build/sdk/legacy/server/runtime/serverManager.js +35 -8
  297. package/build/sdk/legacy/server/runtime/serverManager.js.map +1 -1
  298. package/build/sdk/legacy/shared/capabilityListCapture.d.ts.map +1 -1
  299. package/build/sdk/legacy/shared/capabilityListCapture.js +3 -0
  300. package/build/sdk/legacy/shared/capabilityListCapture.js.map +1 -1
  301. package/build/sdk/legacy/shared/schemaProjection.d.ts +11 -0
  302. package/build/sdk/legacy/shared/schemaProjection.d.ts.map +1 -0
  303. package/build/sdk/legacy/shared/schemaProjection.js +45 -0
  304. package/build/sdk/legacy/shared/schemaProjection.js.map +1 -0
  305. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.d.ts +2 -0
  306. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  307. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.js +31 -0
  308. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  309. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.d.ts +7 -1
  310. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.d.ts.map +1 -1
  311. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.js +29 -4
  312. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.js.map +1 -1
  313. package/build/sdk/legacy/transport/http/server.d.ts +1 -1
  314. package/build/sdk/legacy/transport/http/server.d.ts.map +1 -1
  315. package/build/sdk/legacy/transport/http/server.js +2 -1
  316. package/build/sdk/legacy/transport/http/server.js.map +1 -1
  317. package/build/sdk/legacy/transport/transportFactory.d.ts.map +1 -1
  318. package/build/sdk/legacy/transport/transportFactory.js +4 -3
  319. package/build/sdk/legacy/transport/transportFactory.js.map +1 -1
  320. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.d.ts +4 -52
  321. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.d.ts.map +1 -1
  322. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.js +5 -311
  323. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.js.map +1 -1
  324. package/build/server.d.ts +2 -2
  325. package/build/server.d.ts.map +1 -1
  326. package/build/server.js +8 -6
  327. package/build/server.js.map +1 -1
  328. package/build/transport/http/routes/adminRoutes.d.ts.map +1 -1
  329. package/build/transport/http/routes/adminRoutes.js +37 -0
  330. package/build/transport/http/routes/adminRoutes.js.map +1 -1
  331. package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -1
  332. package/build/transport/http/routes/inspectRoutes.js +77 -85
  333. package/build/transport/http/routes/inspectRoutes.js.map +1 -1
  334. package/build/transport/http/routes/modernHttpRoutes.d.ts +7 -1
  335. package/build/transport/http/routes/modernHttpRoutes.d.ts.map +1 -1
  336. package/build/transport/http/routes/modernHttpRoutes.js +121 -16
  337. package/build/transport/http/routes/modernHttpRoutes.js.map +1 -1
  338. package/build/transport/http/routes/modernInteractionBinding.d.ts +14 -0
  339. package/build/transport/http/routes/modernInteractionBinding.d.ts.map +1 -0
  340. package/build/transport/http/routes/modernInteractionBinding.js +142 -0
  341. package/build/transport/http/routes/modernInteractionBinding.js.map +1 -0
  342. package/build/transport/http/routes/toolRoutes.d.ts.map +1 -1
  343. package/build/transport/http/routes/toolRoutes.js +123 -27
  344. package/build/transport/http/routes/toolRoutes.js.map +1 -1
  345. package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
  346. package/build/transport/http/utils/contextExtractor.js +29 -0
  347. package/build/transport/http/utils/contextExtractor.js.map +1 -1
  348. package/build/utils/core/errorHandling.d.ts.map +1 -1
  349. package/build/utils/core/errorHandling.js +19 -4
  350. package/build/utils/core/errorHandling.js.map +1 -1
  351. package/build/utils/filePermissions.d.ts +3 -0
  352. package/build/utils/filePermissions.d.ts.map +1 -1
  353. package/build/utils/filePermissions.js +10 -0
  354. package/build/utils/filePermissions.js.map +1 -1
  355. package/build/utils/validation/urlDetection.d.ts.map +1 -1
  356. package/build/utils/validation/urlDetection.js +42 -2
  357. package/build/utils/validation/urlDetection.js.map +1 -1
  358. package/build/utils/watchPath.d.ts +3 -0
  359. package/build/utils/watchPath.d.ts.map +1 -0
  360. package/build/utils/watchPath.js +7 -0
  361. package/build/utils/watchPath.js.map +1 -0
  362. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privateInteractionConnection.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/privateInteractionConnection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAEhF,OAAO,EAAgB,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAYzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAOlC,mFAAmF;AACnF,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAC7D,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,aAAa,CAAC,EAAE,MAAM,IAAI,GACzB,OAAO,CAAC,CAAC,CAAC,CAoBZ"}
@@ -0,0 +1,134 @@
1
+ import { getCapabilityPaginationGeneration, registerCapabilityPaginationNotifications, unregisterCapabilityPaginationConnections, } from '../../../../core/capabilities/capabilityPagination.js';
2
+ import { acquireRuntimeCapabilityCatalog } from '../../../../core/capabilities/runtimeCapabilityCatalog.js';
3
+ import { ClientStatus } from '../../../../core/types/index.js';
4
+ import { captureJson } from '../../../../core/validation/schemaPolicy.js';
5
+ import { hasInteractionCapability } from '../../../../gateway/interactions/interactionCapabilities.js';
6
+ import { withDerivedInteractionRoute } from '../../../../gateway/interactions/interactionRoute.js';
7
+ import { ClientFactory, getAdvertisedClientCapabilities } from '../../client/runtime/clientFactory.js';
8
+ import { createLegacyOutboundConnection, getLegacyClient, getLegacyTransport, } from '../../client/runtime/legacyOutboundConnection.js';
9
+ import { getLegacyInboundServer } from '../runtime/legacyInboundConnection.js';
10
+ import { ClientCapabilitiesSchema, McpError, } from '../../types.js';
11
+ import { setRequestInteractionProfile, withRequestInteractionScope } from './requestInteractionScope.js';
12
+ let active = 0;
13
+ const capacity = 128;
14
+ /** Keep each operation pinned to notifications from its selected provider only. */
15
+ export async function withPrivateInteractionConnection(source, inbound, extra, entry, operation, assertCurrent) {
16
+ const adapter = source.adapter;
17
+ const observed = new Map([[entry.route.connectionKey, source]]);
18
+ registerCapabilityPaginationNotifications(observed, source);
19
+ const kinds = entry.route.kind === 'resources' ? ['resources', 'resourceTemplates'] : [entry.route.kind];
20
+ const generations = kinds.map((kind) => getCapabilityPaginationGeneration(observed, kind));
21
+ const assertProviderCurrent = () => {
22
+ if (source.adapter !== adapter ||
23
+ source.status !== ClientStatus.Connected ||
24
+ kinds.some((kind, index) => getCapabilityPaginationGeneration(observed, kind) !== generations[index]))
25
+ throw new McpError(-32000, 'interaction_lost');
26
+ assertCurrent?.();
27
+ };
28
+ try {
29
+ return await withSelectedInteractionConnection(source, inbound, extra, entry, operation, assertProviderCurrent);
30
+ }
31
+ finally {
32
+ unregisterCapabilityPaginationConnections(observed);
33
+ }
34
+ }
35
+ /** Reuse an empty legacy profile only with factory evidence; unknown or wider profiles require isolation. */
36
+ async function withSelectedInteractionConnection(source, inbound, extra, entry, operation, assertCurrent) {
37
+ if (!inbound.canonicalSchemaProjection || source.adapter.protocol?.era === 'modern') {
38
+ return withRequestInteractionScope(source, inbound, extra, () => operation(source), undefined, assertCurrent);
39
+ }
40
+ const callerCapabilities = getLegacyInboundServer(inbound).getClientCapabilities() ?? {};
41
+ const interactive = hasInteractionCapability(callerCapabilities, { method: 'roots/list' }) ||
42
+ hasInteractionCapability(callerCapabilities, { method: 'sampling/createMessage' }) ||
43
+ hasInteractionCapability(callerCapabilities, { method: 'elicitation/create' }) ||
44
+ hasInteractionCapability(callerCapabilities, { method: 'elicitation/create', params: { mode: 'url' } });
45
+ const advertised = getAdvertisedClientCapabilities(getLegacyClient(source));
46
+ const provenEmpty = advertised !== undefined && Object.keys(advertised).length === 0;
47
+ if (!interactive && provenEmpty) {
48
+ return withRequestInteractionScope(source, inbound, extra, () => operation(source), undefined, assertCurrent);
49
+ }
50
+ const originalTransport = getLegacyTransport(source);
51
+ if (!originalTransport.recreate)
52
+ throw new McpError(-32000, 'interaction_unsupported');
53
+ if (active >= capacity)
54
+ throw new McpError(-32000, 'interaction_capacity_exceeded');
55
+ extra.signal.throwIfAborted();
56
+ active++;
57
+ let transport;
58
+ let child;
59
+ let removeAbort = () => undefined;
60
+ try {
61
+ const recreated = originalTransport.recreate({ preserveSessionId: false });
62
+ if (recreated === originalTransport)
63
+ throw new McpError(-32000, 'interaction_unsupported');
64
+ transport = recreated;
65
+ transport.outboundProtocolVersion = 'legacy';
66
+ const timeout = Math.max(1, Math.min(source.requestTimeoutMs ?? 60_000, 600_000));
67
+ transport.requestTimeout = timeout;
68
+ const capabilities = ClientCapabilitiesSchema.parse(captureJson(callerCapabilities, false).value);
69
+ const client = new ClientFactory().createClient(transport, {
70
+ ...(capabilities.roots === undefined ? {} : { roots: capabilities.roots }),
71
+ ...(capabilities.sampling === undefined ? {} : { sampling: capabilities.sampling }),
72
+ ...(capabilities.elicitation === undefined ? {} : { elicitation: capabilities.elicitation }),
73
+ });
74
+ const signal = AbortSignal.any([extra.signal, AbortSignal.timeout(timeout)]);
75
+ const aborted = new Promise((_resolve, reject) => {
76
+ const abort = () => reject(new McpError(-32000, 'interaction_lost'));
77
+ signal.addEventListener('abort', abort, { once: true });
78
+ removeAbort = () => signal.removeEventListener('abort', abort);
79
+ if (signal.aborted)
80
+ abort();
81
+ });
82
+ const connected = client.connect(transport);
83
+ await Promise.race([connected, aborted]);
84
+ child = createLegacyOutboundConnection({
85
+ name: source.name,
86
+ client,
87
+ transport,
88
+ status: ClientStatus.Connected,
89
+ capabilities: client.getServerCapabilities() ?? {},
90
+ });
91
+ const privateSource = child;
92
+ const expectedRevision = source.adapter.protocolRevision ?? source.adapter.protocol?.revision ?? '2025-11-25';
93
+ if (privateSource.adapter.protocolRevision !== expectedRevision)
94
+ throw new McpError(-32000, 'interaction_lost');
95
+ setRequestInteractionProfile(privateSource, capabilities);
96
+ return await Promise.race([
97
+ withDerivedInteractionRoute(source.adapter, privateSource.adapter, async () => {
98
+ // A changed contract on the new peer must fail before any side-effecting operation.
99
+ const snapshot = await acquireRuntimeCapabilityCatalog(new Map([[entry.route.connectionKey, privateSource]]), undefined, { signal });
100
+ const matches = snapshot.generation.entries.filter((candidate) => candidate.route.kind === entry.route.kind &&
101
+ candidate.route.upstreamIdentity === entry.route.upstreamIdentity);
102
+ if (matches.length !== 1 ||
103
+ captureJson(matches[0].sourceObject, false, true).json !== captureJson(entry.sourceObject, false, true).json) {
104
+ throw new McpError(-32000, 'interaction_lost');
105
+ }
106
+ signal.throwIfAborted();
107
+ return withRequestInteractionScope(privateSource, inbound, { ...extra, signal }, () => operation(privateSource), source.adapter.connectionId, assertCurrent);
108
+ }),
109
+ aborted,
110
+ ]);
111
+ }
112
+ finally {
113
+ removeAbort();
114
+ // Retain the capacity reservation if an uncooperative transport never closes.
115
+ const closing = Promise.resolve().then(() => (child ? child.adapter.close() : transport?.close()));
116
+ void closing.then(() => {
117
+ active--;
118
+ }, () => undefined);
119
+ let timer;
120
+ try {
121
+ await Promise.race([
122
+ closing.catch(() => undefined),
123
+ new Promise((resolve) => {
124
+ timer = setTimeout(resolve, 1000);
125
+ }),
126
+ ]);
127
+ }
128
+ finally {
129
+ if (timer)
130
+ clearTimeout(timer);
131
+ }
132
+ }
133
+ }
134
+ //# sourceMappingURL=privateInteractionConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privateInteractionConnection.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/privateInteractionConnection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"promptRequestHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/promptRequestHandlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,4DAA4D,CAAC;AAKpE,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,yBAAyB,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAoCrH;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CA4BN"}
1
+ {"version":3,"file":"promptRequestHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/promptRequestHandlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,4DAA4D,CAAC;AAOpE,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,yBAAyB,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAsCrH;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CA4BN"}
@@ -4,6 +4,7 @@ import { requestLegacyOutbound, } from '../../client/runtime/legacyOutboundConne
4
4
  import { getLegacyInboundServer } from '../runtime/legacyInboundConnection.js';
5
5
  import { CompleteRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema } from '../../types.js';
6
6
  import { withErrorHandling } from '../../../../utils/core/errorHandling.js';
7
+ import { withPrivateInteractionConnection } from './privateInteractionConnection.js';
7
8
  export function registerPromptHandlers(outboundConns, inboundConn) {
8
9
  const acquire = (cursor) => acquireRuntimeCapabilityCatalog(outboundConns, resolveCapabilityVisibility(outboundConns, inboundConn, getRequestSession(inboundConn), 'prompts'), {
9
10
  continuation: cursor
@@ -19,14 +20,14 @@ export function registerPromptHandlers(outboundConns, inboundConn) {
19
20
  ...(result._meta === undefined ? {} : { _meta: result._meta }),
20
21
  };
21
22
  }, 'Error listing prompts'));
22
- server.setRequestHandler(GetPromptRequestSchema, withErrorHandling(async (request) => {
23
+ server.setRequestHandler(GetPromptRequestSchema, withErrorHandling(async (request, extra) => {
23
24
  const route = (await acquire()).resolve('prompts', request.params.name);
24
25
  if (!route?.connection)
25
26
  throw new Error(`Unknown prompt: ${request.params.name}`);
26
- return requestLegacyOutbound(route.connection, 'prompts/get', {
27
+ return withPrivateInteractionConnection(route.connection, inboundConn, extra, route.entry, (selected) => requestLegacyOutbound(selected, 'prompts/get', {
27
28
  ...request.params,
28
29
  name: route.entry.route.upstreamIdentity,
29
- });
30
+ }));
30
31
  }, 'Error getting prompt'));
31
32
  }
32
33
  export function registerCompletionHandlers(outboundConns, inboundConn) {
@@ -1 +1 @@
1
- {"version":3,"file":"promptRequestHandlers.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/promptRequestHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptRequestHandlers.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/promptRequestHandlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"requestHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/requestHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAgB,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAEL,KAAK,yBAAyB,EAG/B,MAAM,4DAA4D,CAAC;AAmBpE,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,GAC1B,CAAC;AA0EF;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,iBAAiB,EAC9B,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,IAAI,CA6CN"}
1
+ {"version":3,"file":"requestHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/requestHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAgB,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,4DAA4D,CAAC;AAUpE,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,GAC1B,CAAC;AAEF;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,iBAAiB,EAC9B,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,IAAI,CA0CN"}
@@ -1,54 +1,15 @@
1
1
  import { createCapabilityCatalogFromConnections, filterConnectionsForSession, getRequestSession, resolveOutboundConnection, } from '../../../../core/protocol/requestHandlerUtils.js';
2
- import { ServerManager } from '../../../../core/server/serverManager.js';
3
2
  import { ClientStatus } from '../../../../core/types/index.js';
4
- import logger, { setLogLevel } from '../../../../logger/logger.js';
5
- import { getLegacyTransport, requestLegacyOutbound, setOutboundRequestHandler, } from '../../client/runtime/legacyOutboundConnection.js';
3
+ import logger from '../../../../logger/logger.js';
4
+ import { requestLegacyOutbound, } from '../../client/runtime/legacyOutboundConnection.js';
6
5
  import { getLegacyInboundServer } from '../runtime/legacyInboundConnection.js';
7
- import { CreateMessageRequestSchema, ElicitRequestSchema, ListRootsRequestSchema, PingRequestSchema, SetLevelRequestSchema, } from '../../types.js';
6
+ import { PingRequestSchema, SetLevelRequestSchema } from '../../types.js';
8
7
  import { withErrorHandling } from '../../../../utils/core/errorHandling.js';
9
- import { getRequestTimeout } from '../../../../utils/core/timeoutUtils.js';
10
8
  import { registerCompletionHandlers, registerPromptHandlers } from './promptRequestHandlers.js';
9
+ import { sessionLogLevels } from './requestInteractionScope.js';
11
10
  import { registerResourceHandlers } from './resourceRequestHandlers.js';
12
11
  import { registerToolHandlers } from './toolRequestHandlers.js';
13
12
  export { createCapabilityCatalogFromConnections, filterConnectionsForSession, getRequestSession, resolveOutboundConnection, };
14
- /**
15
- * Registers server-specific request handlers
16
- * @param outboundConns Record of client instances
17
- * @param serverInfo The MCP server instance
18
- */
19
- function registerServerRequestHandlers(outboundConns, inboundConn) {
20
- Array.from(outboundConns.entries()).forEach(([_, outboundConn]) => {
21
- const capabilities = outboundConn.capabilities;
22
- // Ping is always supported
23
- setOutboundRequestHandler(outboundConn, PingRequestSchema, withErrorHandling(async () => {
24
- return ServerManager.current.executeServerOperation(inboundConn, (inboundConn) => getLegacyInboundServer(inboundConn).ping());
25
- }, 'Error pinging'));
26
- // Only register CreateMessage handler if server supports sampling capability
27
- if (capabilities?.sampling) {
28
- setOutboundRequestHandler(outboundConn, CreateMessageRequestSchema, withErrorHandling(async (request) => {
29
- return ServerManager.current.executeServerOperation(inboundConn, (inboundConn) => getLegacyInboundServer(inboundConn).createMessage(request.params, {
30
- timeout: getRequestTimeout(getLegacyTransport(outboundConn)),
31
- }));
32
- }, 'Error creating message'));
33
- }
34
- // Only register ElicitRequest handler if server supports elicitation capability
35
- if (capabilities?.elicitation) {
36
- setOutboundRequestHandler(outboundConn, ElicitRequestSchema, withErrorHandling(async (request) => {
37
- return ServerManager.current.executeServerOperation(inboundConn, (inboundConn) => getLegacyInboundServer(inboundConn).elicitInput(request.params, {
38
- timeout: getRequestTimeout(getLegacyTransport(outboundConn)),
39
- }));
40
- }, 'Error eliciting input'));
41
- }
42
- // Only register ListRoots handler if server supports roots capability
43
- if (capabilities?.roots) {
44
- setOutboundRequestHandler(outboundConn, ListRootsRequestSchema, withErrorHandling(async (request) => {
45
- return ServerManager.current.executeServerOperation(inboundConn, (inboundConn) => getLegacyInboundServer(inboundConn).listRoots(request.params, {
46
- timeout: getRequestTimeout(getLegacyTransport(outboundConn)),
47
- }));
48
- }, 'Error listing roots'));
49
- }
50
- });
51
- }
52
13
  /**
53
14
  * Registers all request handlers based on available capabilities
54
15
  * @param clients Record of client instances
@@ -59,7 +20,7 @@ function registerServerRequestHandlers(outboundConns, inboundConn) {
59
20
  export function registerRequestHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator) {
60
21
  // Register logging level handler
61
22
  getLegacyInboundServer(inboundConn).setRequestHandler(SetLevelRequestSchema, async (request) => {
62
- setLogLevel(request.params.level);
23
+ sessionLogLevels.set(inboundConn, request.params.level);
63
24
  return {};
64
25
  });
65
26
  // Register ping handler
@@ -89,8 +50,5 @@ export function registerRequestHandlers(outboundConns, inboundConn, lazyLoadingO
89
50
  registerPromptHandlers(outboundConns, inboundConn);
90
51
  // Register completion-related handlers
91
52
  registerCompletionHandlers(outboundConns, inboundConn);
92
- // Register server-specific request handlers
93
- if (!inboundConn.requestOnly)
94
- registerServerRequestHandlers(outboundConns, inboundConn);
95
53
  }
96
54
  //# sourceMappingURL=requestHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/requestHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/requestHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAEL,qBAAqB,GACtB,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,GAC1B,CAAC;AAEF;;;;;;GAMG;AAEH,MAAM,UAAU,uBAAuB,CACrC,aAAwC,EACxC,WAA8B,EAC9B,uBAAiD;IAEjD,iCAAiC;IACjC,sBAAsB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7F,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,sBAAsB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CACnD,iBAAiB,EACjB,iBAAiB,CAAC,KAAK,IAAI,EAAE;QAC3B,8CAA8C;QAC9C,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;YACvG,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACH,MAAM,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE9C,yCAAyC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,qBAAqB,CAAC,CAC1B,CAAC;IAEF,qCAAqC;IACrC,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAErD,iCAAiC;IACjC,oBAAoB,CAAC,aAAa,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC;IAE1E,mCAAmC;IACnC,sBAAsB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAEnD,uCAAuC;IACvC,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type InboundConnection, type OutboundConnection } from '../../../../core/types/index.js';
2
+ import type { RequestHandlerExtra } from '../../shared/protocol.js';
3
+ import { type ClientCapabilities, ServerNotification, ServerRequest } from '../../types.js';
4
+ type Extra = RequestHandlerExtra<ServerRequest, ServerNotification>;
5
+ export declare function registerLegacyNotificationOwner(connection: OutboundConnection, inbound: InboundConnection): void;
6
+ export declare function unregisterLegacyNotificationOwner(connections: Iterable<OutboundConnection>, inbound: InboundConnection): void;
7
+ export declare function setRequestInteractionProfile(connection: OutboundConnection, capabilities: ClientCapabilities): void;
8
+ /** Legacy reverse requests have no portable parent id; reserve one operation before invoking it. */
9
+ export declare function withRequestInteractionScope<T>(connection: OutboundConnection, inbound: InboundConnection, extra: Extra, operation: () => Promise<T>, sourceProviderId?: string, assertCurrent?: () => void): Promise<T>;
10
+ export declare const sessionLogLevels: WeakMap<InboundConnection, string>;
11
+ export declare function forwardScopedNotification(connection: OutboundConnection, notification: {
12
+ method: string;
13
+ params?: Record<string, unknown>;
14
+ }): Promise<void>;
15
+ export declare function ownsActiveInteraction(connection: OutboundConnection, inbound: InboundConnection): boolean;
16
+ export {};
17
+ //# sourceMappingURL=requestInteractionScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestInteractionScope.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/requestInteractionScope.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAgB,MAAM,0BAA0B,CAAC;AAYzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EACL,KAAK,kBAAkB,EASvB,kBAAkB,EAClB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,KAAK,KAAK,GAAG,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAepE,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAUhH;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACzC,OAAO,EAAE,iBAAiB,GACzB,IAAI,CAON;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAEnH;AAED,oGAAoG;AACpG,wBAAsB,2BAA2B,CAAC,CAAC,EACjD,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,IAAI,GACzB,OAAO,CAAC,CAAC,CAAC,CAuJZ;AAGD,eAAO,MAAM,gBAAgB,oCAA2C,CAAC;AAEzE,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,kBAAkB,EAC9B,YAAY,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACjE,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAGzG"}
@@ -0,0 +1,223 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { ServerStatus } from '../../../../core/types/index.js';
3
+ import { hasInteractionCapability } from '../../../../gateway/interactions/interactionCapabilities.js';
4
+ import { InteractionOwner } from '../../../../gateway/interactions/interactionOwner.js';
5
+ import { currentNativeInteractionRound } from '../../../../gateway/interactions/interactionRoute.js';
6
+ import { validateInteractionRequest, validateInteractionResponse, } from '../../../../gateway/interactions/validateInteractionResponse.js';
7
+ import { withLegacyInteractionLease } from '../../client/runtime/legacyInteractionLease.js';
8
+ import { setOutboundRequestHandler } from '../../client/runtime/legacyOutboundConnection.js';
9
+ import { getLegacyInboundServer } from '../runtime/legacyInboundConnection.js';
10
+ import { CreateMessageRequestSchema, CreateMessageResultSchema, ElicitRequestSchema, ElicitResultSchema, ListRootsRequestSchema, ListRootsResultSchema, McpError, PingRequestSchema, } from '../../types.js';
11
+ const legacyOwners = new InteractionOwner();
12
+ const active = new WeakMap();
13
+ const installed = new WeakMap();
14
+ const profiles = new WeakMap();
15
+ const notificationOwners = new WeakMap();
16
+ export function registerLegacyNotificationOwner(connection, inbound) {
17
+ if (inbound.requestOnly)
18
+ return;
19
+ let owners = notificationOwners.get(connection);
20
+ if (!owners)
21
+ notificationOwners.set(connection, (owners = new Set()));
22
+ for (const ref of owners) {
23
+ const owner = ref.deref();
24
+ if (!owner || owner.status === ServerStatus.Disconnected)
25
+ owners.delete(ref);
26
+ else if (owner === inbound)
27
+ return;
28
+ }
29
+ owners.add(new WeakRef(inbound));
30
+ }
31
+ export function unregisterLegacyNotificationOwner(connections, inbound) {
32
+ for (const connection of connections) {
33
+ const owners = notificationOwners.get(connection);
34
+ if (!owners)
35
+ continue;
36
+ for (const ref of owners)
37
+ if (!ref.deref() || ref.deref() === inbound)
38
+ owners.delete(ref);
39
+ if (!owners.size)
40
+ notificationOwners.delete(connection);
41
+ }
42
+ }
43
+ export function setRequestInteractionProfile(connection, capabilities) {
44
+ profiles.set(connection, capabilities);
45
+ }
46
+ /** Legacy reverse requests have no portable parent id; reserve one operation before invoking it. */
47
+ export async function withRequestInteractionScope(connection, inbound, extra, operation, sourceProviderId, assertCurrent) {
48
+ if (active.has(connection))
49
+ throw new McpError(-32000, 'interaction_capacity_exceeded');
50
+ if (extra.signal.aborted)
51
+ throw new McpError(-32000, 'interaction_lost');
52
+ const auth = extra.authInfo;
53
+ if (auth && (typeof auth.clientId !== 'string' || !auth.clientId || typeof auth.token !== 'string' || !auth.token))
54
+ throw new McpError(-32000, 'interaction_lost');
55
+ const principal = auth
56
+ ? createHash('sha256')
57
+ .update(JSON.stringify([auth.clientId, auth.token]))
58
+ .digest('hex')
59
+ : `legacy:${inbound.connectionId}`;
60
+ // The trusted modern bridge already owns a process/owner reservation across its rounds.
61
+ const admission = currentNativeInteractionRound()
62
+ ? undefined
63
+ : legacyOwners.start({
64
+ principal,
65
+ request: String(extra.requestId),
66
+ route: connection.adapter.connectionId,
67
+ provider: sourceProviderId ?? connection.adapter.connectionId,
68
+ generation: connection.adapter.connectionId,
69
+ inbound: 'legacy',
70
+ outbound: connection.adapter.protocol?.era ?? 'legacy',
71
+ }, Date.now() + 600_000);
72
+ const abort = new AbortController();
73
+ const scopedExtra = {
74
+ ...extra,
75
+ signal: AbortSignal.any([extra.signal, abort.signal, ...(admission ? [admission.signal] : [])]),
76
+ };
77
+ try {
78
+ if (installed.get(connection) !== connection.adapter) {
79
+ const installedAdapter = connection.adapter;
80
+ setOutboundRequestHandler(connection, PingRequestSchema, async () => ({}));
81
+ const schemas = [
82
+ [CreateMessageRequestSchema, CreateMessageResultSchema, 'sampling'],
83
+ [ElicitRequestSchema, ElicitResultSchema, 'elicitation'],
84
+ [ListRootsRequestSchema, ListRootsResultSchema, 'roots'],
85
+ ];
86
+ for (const [schema, resultSchema, capability] of schemas) {
87
+ const profile = profiles.get(connection);
88
+ if (profile && !profile[capability])
89
+ continue;
90
+ try {
91
+ setOutboundRequestHandler(connection, schema, async (request) => {
92
+ const scope = active.get(connection);
93
+ if (!scope ||
94
+ scope.adapter !== installedAdapter ||
95
+ connection.adapter !== installedAdapter ||
96
+ scope.extra.signal.aborted)
97
+ throw new McpError(-32000, 'interaction_lost');
98
+ const assertRoute = () => {
99
+ try {
100
+ scope.assertCurrent?.();
101
+ }
102
+ catch {
103
+ scope.abort.abort();
104
+ throw new McpError(-32000, 'interaction_lost');
105
+ }
106
+ };
107
+ assertRoute();
108
+ if (!hasInteractionCapability(getLegacyInboundServer(scope.inbound).getClientCapabilities(), request))
109
+ throw new McpError(-32000, 'interaction_capability_required');
110
+ const assertCapability = () => {
111
+ const capabilities = getLegacyInboundServer(scope.inbound).getClientCapabilities();
112
+ if (!hasInteractionCapability(capabilities, request)) {
113
+ scope.abort.abort();
114
+ throw new McpError(-32000, 'interaction_capability_required');
115
+ }
116
+ };
117
+ if (scope.callbacks.pending >= 32) {
118
+ scope.abort.abort();
119
+ throw new McpError(-32000, 'interaction_capacity_exceeded');
120
+ }
121
+ scope.callbacks.pending++;
122
+ try {
123
+ const input = request;
124
+ const binding = {
125
+ principal: 'request-scoped-provider',
126
+ request: String(scope.extra.requestId),
127
+ route: scope.adapter.connectionId,
128
+ generation: scope.adapter.connectionId,
129
+ inbound: 'legacy',
130
+ outbound: 'legacy',
131
+ };
132
+ await validateInteractionRequest(input, binding, scope.extra.signal);
133
+ scope.extra.signal.throwIfAborted();
134
+ assertCapability();
135
+ assertRoute();
136
+ const response = await scope.extra.sendRequest(request, resultSchema, { signal: scope.extra.signal });
137
+ await validateInteractionResponse(input, response, binding, scope.extra.signal);
138
+ assertCapability();
139
+ assertRoute();
140
+ if (scope.extra.signal.aborted ||
141
+ active.get(connection) !== scope ||
142
+ connection.adapter !== installedAdapter ||
143
+ scope.adapter !== installedAdapter)
144
+ throw new McpError(-32000, 'interaction_lost');
145
+ return response;
146
+ }
147
+ finally {
148
+ scope.callbacks.pending--;
149
+ }
150
+ });
151
+ }
152
+ catch (error) {
153
+ // Legacy SDKs reject registration for capabilities absent at initialize. Leave
154
+ // those methods unregistered (and fail closed if requested), without blocking ordinary calls.
155
+ if (!(error instanceof Error &&
156
+ error.message ===
157
+ `Client does not support ${capability} capability (required for ${schema.shape.method.value})`))
158
+ throw error;
159
+ }
160
+ }
161
+ installed.set(connection, connection.adapter);
162
+ }
163
+ return await withLegacyInteractionLease(connection.adapter, async () => {
164
+ const scope = Object.freeze({
165
+ inbound,
166
+ extra: scopedExtra,
167
+ adapter: connection.adapter,
168
+ callbacks: { pending: 0 },
169
+ abort,
170
+ assertCurrent,
171
+ });
172
+ active.set(connection, scope);
173
+ try {
174
+ assertCurrent?.();
175
+ return await operation();
176
+ }
177
+ finally {
178
+ abort.abort();
179
+ if (active.get(connection) === scope)
180
+ active.delete(connection);
181
+ }
182
+ }, scopedExtra.signal, sessionLogLevels.get(inbound), getLegacyInboundServer(inbound).getClientCapabilities());
183
+ }
184
+ finally {
185
+ if (admission)
186
+ legacyOwners.finish(admission.id);
187
+ }
188
+ }
189
+ const logLevels = ['debug', 'info', 'notice', 'warning', 'error', 'critical', 'alert', 'emergency'];
190
+ export const sessionLogLevels = new WeakMap();
191
+ export async function forwardScopedNotification(connection, notification) {
192
+ const scope = active.get(connection);
193
+ if (!scope) {
194
+ if (notification.method !== 'notifications/message')
195
+ return;
196
+ const owners = Array.from(notificationOwners.get(connection) ?? []).flatMap((ref) => {
197
+ const owner = ref.deref();
198
+ return owner?.status === ServerStatus.Connected && !owner.requestOnly ? [owner] : [];
199
+ });
200
+ if (owners.length !== 1)
201
+ return;
202
+ const level = notification.params?.level;
203
+ if (typeof level !== 'string' ||
204
+ logLevels.indexOf(level) < logLevels.indexOf(sessionLogLevels.get(owners[0]) ?? 'info'))
205
+ return;
206
+ await getLegacyInboundServer(owners[0]).notification(notification);
207
+ return;
208
+ }
209
+ if (scope.extra.signal.aborted)
210
+ return;
211
+ if (notification.method === 'notifications/message') {
212
+ const level = notification.params?.level;
213
+ if (typeof level !== 'string' ||
214
+ logLevels.indexOf(level) < logLevels.indexOf(sessionLogLevels.get(scope.inbound) ?? 'info'))
215
+ return;
216
+ }
217
+ await scope.extra.sendNotification(notification);
218
+ }
219
+ export function ownsActiveInteraction(connection, inbound) {
220
+ const scope = active.get(connection);
221
+ return scope?.inbound === inbound && !scope.extra.signal.aborted;
222
+ }
223
+ //# sourceMappingURL=requestInteractionScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestInteractionScope.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/requestInteractionScope.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRequestHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/resourceRequestHandlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,4DAA4D,CAAC;AAYpE,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CA6EN"}
1
+ {"version":3,"file":"resourceRequestHandlers.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/resourceRequestHandlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,4DAA4D,CAAC;AAcpE,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,yBAAyB,EACxC,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAoFN"}
@@ -5,6 +5,7 @@ import { getLegacyInboundServer } from '../runtime/legacyInboundConnection.js';
5
5
  import { projectResourceUri, resolveResourceRoute } from '../../shared/resourceTemplateRouting.js';
6
6
  import { ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, } from '../../types.js';
7
7
  import { withErrorHandling } from '../../../../utils/core/errorHandling.js';
8
+ import { withPrivateInteractionConnection } from './privateInteractionConnection.js';
8
9
  export function registerResourceHandlers(outboundConns, inboundConn) {
9
10
  const acquire = (cursor, kind = 'resources') => acquireRuntimeCapabilityCatalog(outboundConns, resolveCapabilityVisibility(outboundConns, inboundConn, getRequestSession(inboundConn), 'resources'), { continuation: cursor ? { kind, cursor, enablePagination: inboundConn.enablePagination ?? false } : undefined });
10
11
  const server = getLegacyInboundServer(inboundConn);
@@ -46,10 +47,10 @@ export function registerResourceHandlers(outboundConns, inboundConn) {
46
47
  uri: route.upstreamIdentity,
47
48
  });
48
49
  }, 'Error unsubscribing from resource'));
49
- server.setRequestHandler(ReadResourceRequestSchema, withErrorHandling(async (request) => {
50
+ server.setRequestHandler(ReadResourceRequestSchema, withErrorHandling(async (request, extra) => {
50
51
  const snapshot = await acquire();
51
52
  const route = resolveResourceRoute(snapshot, request.params.uri);
52
- const result = await requestLegacyOutbound(route.connection, 'resources/read', { ...request.params, uri: route.upstreamIdentity });
53
+ const result = await withPrivateInteractionConnection(route.connection, inboundConn, extra, route.entry, (selected) => requestLegacyOutbound(selected, 'resources/read', { ...request.params, uri: route.upstreamIdentity }));
53
54
  return {
54
55
  ...result,
55
56
  contents: result.contents.map((content) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRequestHandlers.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/resourceRequestHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceRequestHandlers.js","sourceRoot":"","sources":["../../../../../src/sdk/legacy/server/protocol/resourceRequestHandlers.ts"],"names":[],"mappings":"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"}