agentfootprint 12.0.1 → 12.2.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 (296) hide show
  1. package/AGENTS.md +1 -1
  2. package/CAPABILITIES.md +3 -0
  3. package/ai-instructions/claude-code/SKILL.md +1 -1
  4. package/dist/adapters/mcp/agentcoreRuntime/invoke.js +113 -7
  5. package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  6. package/dist/adapters/mcp/agentcoreRuntime/session.js +21 -21
  7. package/dist/adapters/mcp/agentcoreRuntime/session.js.map +1 -1
  8. package/dist/adapters/mcp/agentcoreRuntime/transport.js +79 -5
  9. package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  10. package/dist/core/Agent.js +6 -0
  11. package/dist/core/Agent.js.map +1 -1
  12. package/dist/core/agent/stages/toolCalls.js +4 -0
  13. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  14. package/dist/core/slots/buildToolsSlot.js +8 -0
  15. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  16. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +23 -4
  17. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +112 -6
  18. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  19. package/dist/esm/adapters/mcp/agentcoreRuntime/session.d.ts +20 -6
  20. package/dist/esm/adapters/mcp/agentcoreRuntime/session.js +21 -21
  21. package/dist/esm/adapters/mcp/agentcoreRuntime/session.js.map +1 -1
  22. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +81 -7
  23. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  24. package/dist/esm/core/Agent.js +6 -0
  25. package/dist/esm/core/Agent.js.map +1 -1
  26. package/dist/esm/core/agent/stages/toolCalls.js +4 -0
  27. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  28. package/dist/esm/core/slots/buildToolsSlot.d.ts +12 -0
  29. package/dist/esm/core/slots/buildToolsSlot.js +8 -0
  30. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  31. package/dist/esm/events/payloads.d.ts +41 -0
  32. package/dist/esm/events/registry.d.ts +3 -1
  33. package/dist/esm/events/registry.js +2 -0
  34. package/dist/esm/events/registry.js.map +1 -1
  35. package/dist/esm/identity/types.d.ts +7 -3
  36. package/dist/esm/identity/types.js.map +1 -1
  37. package/dist/esm/index.d.ts +1 -1
  38. package/dist/esm/index.js +4 -1
  39. package/dist/esm/index.js.map +1 -1
  40. package/dist/esm/lib/boundedJson.d.ts +14 -7
  41. package/dist/esm/lib/boundedJson.js +14 -7
  42. package/dist/esm/lib/boundedJson.js.map +1 -1
  43. package/dist/esm/mcp/callChecks.d.ts +160 -0
  44. package/dist/esm/mcp/callChecks.js +237 -0
  45. package/dist/esm/mcp/callChecks.js.map +1 -0
  46. package/dist/esm/mcp/callLifetime.js +5 -2
  47. package/dist/esm/mcp/callLifetime.js.map +1 -1
  48. package/dist/esm/mcp/clientPort.d.ts +78 -0
  49. package/dist/esm/mcp/clientPort.js +33 -0
  50. package/dist/esm/mcp/clientPort.js.map +1 -0
  51. package/dist/esm/mcp/gatewayTransport.js +13 -3
  52. package/dist/esm/mcp/gatewayTransport.js.map +1 -1
  53. package/dist/esm/mcp/index.d.ts +11 -1
  54. package/dist/esm/mcp/index.js +15 -0
  55. package/dist/esm/mcp/index.js.map +1 -1
  56. package/dist/esm/mcp/listingGenerations.d.ts +54 -0
  57. package/dist/esm/mcp/listingGenerations.js +75 -0
  58. package/dist/esm/mcp/listingGenerations.js.map +1 -0
  59. package/dist/esm/mcp/mcpClient.d.ts +18 -1
  60. package/dist/esm/mcp/mcpClient.js +302 -57
  61. package/dist/esm/mcp/mcpClient.js.map +1 -1
  62. package/dist/esm/mcp/mockMcpClient.js +13 -0
  63. package/dist/esm/mcp/mockMcpClient.js.map +1 -1
  64. package/dist/esm/mcp/pool/boundTool.d.ts +58 -0
  65. package/dist/esm/mcp/pool/boundTool.js +218 -0
  66. package/dist/esm/mcp/pool/boundTool.js.map +1 -0
  67. package/dist/esm/mcp/pool/clientSet.d.ts +73 -0
  68. package/dist/esm/mcp/pool/clientSet.js +152 -0
  69. package/dist/esm/mcp/pool/clientSet.js.map +1 -0
  70. package/dist/esm/mcp/pool/definitions.d.ts +103 -0
  71. package/dist/esm/mcp/pool/definitions.js +168 -0
  72. package/dist/esm/mcp/pool/definitions.js.map +1 -0
  73. package/dist/esm/mcp/pool/errors.d.ts +76 -0
  74. package/dist/esm/mcp/pool/errors.js +91 -0
  75. package/dist/esm/mcp/pool/errors.js.map +1 -0
  76. package/dist/esm/mcp/pool/identityKey.d.ts +57 -0
  77. package/dist/esm/mcp/pool/identityKey.js +94 -0
  78. package/dist/esm/mcp/pool/identityKey.js.map +1 -0
  79. package/dist/esm/mcp/pool/lease.d.ts +36 -0
  80. package/dist/esm/mcp/pool/lease.js +51 -0
  81. package/dist/esm/mcp/pool/lease.js.map +1 -0
  82. package/dist/esm/mcp/pool/listTools.d.ts +33 -0
  83. package/dist/esm/mcp/pool/listTools.js +146 -0
  84. package/dist/esm/mcp/pool/listTools.js.map +1 -0
  85. package/dist/esm/mcp/pool/mcpClientPool.d.ts +121 -0
  86. package/dist/esm/mcp/pool/mcpClientPool.js +151 -0
  87. package/dist/esm/mcp/pool/mcpClientPool.js.map +1 -0
  88. package/dist/esm/mcp/pool/options.d.ts +183 -0
  89. package/dist/esm/mcp/pool/options.js +119 -0
  90. package/dist/esm/mcp/pool/options.js.map +1 -0
  91. package/dist/esm/mcp/pool/plan.d.ts +77 -0
  92. package/dist/esm/mcp/pool/plan.js +134 -0
  93. package/dist/esm/mcp/pool/plan.js.map +1 -0
  94. package/dist/esm/mcp/pool/pool.d.ts +307 -0
  95. package/dist/esm/mcp/pool/pool.js +1071 -0
  96. package/dist/esm/mcp/pool/pool.js.map +1 -0
  97. package/dist/esm/mcp/pool/pooledClient.d.ts +93 -0
  98. package/dist/esm/mcp/pool/pooledClient.js +90 -0
  99. package/dist/esm/mcp/pool/pooledClient.js.map +1 -0
  100. package/dist/esm/mcp/pool/record.d.ts +80 -0
  101. package/dist/esm/mcp/pool/record.js +75 -0
  102. package/dist/esm/mcp/pool/record.js.map +1 -0
  103. package/dist/esm/mcp/pool/sessionEnded.d.ts +24 -0
  104. package/dist/esm/mcp/pool/sessionEnded.js +31 -0
  105. package/dist/esm/mcp/pool/sessionEnded.js.map +1 -0
  106. package/dist/esm/mcp/pool/work.d.ts +116 -0
  107. package/dist/esm/mcp/pool/work.js +213 -0
  108. package/dist/esm/mcp/pool/work.js.map +1 -0
  109. package/dist/esm/mcp/requestGuard.d.ts +70 -0
  110. package/dist/esm/mcp/requestGuard.js +98 -0
  111. package/dist/esm/mcp/requestGuard.js.map +1 -0
  112. package/dist/esm/mcp/requestLedger.d.ts +35 -1
  113. package/dist/esm/mcp/requestLedger.js +76 -3
  114. package/dist/esm/mcp/requestLedger.js.map +1 -1
  115. package/dist/esm/mcp/seriesEvidence.d.ts +10 -6
  116. package/dist/esm/mcp/seriesEvidence.js +16 -7
  117. package/dist/esm/mcp/seriesEvidence.js.map +1 -1
  118. package/dist/esm/mcp/terminate.d.ts +94 -0
  119. package/dist/esm/mcp/terminate.js +184 -0
  120. package/dist/esm/mcp/terminate.js.map +1 -0
  121. package/dist/esm/mcp/throttleRetry.js +71 -7
  122. package/dist/esm/mcp/throttleRetry.js.map +1 -1
  123. package/dist/esm/mcp/toolList.d.ts +90 -0
  124. package/dist/esm/mcp/toolList.js +123 -0
  125. package/dist/esm/mcp/toolList.js.map +1 -0
  126. package/dist/esm/mcp/types.d.ts +197 -3
  127. package/dist/esm/redaction/knownStrings.js +34 -0
  128. package/dist/esm/redaction/knownStrings.js.map +1 -1
  129. package/dist/esm/tool-providers/index.d.ts +2 -2
  130. package/dist/esm/tool-providers/index.js +15 -1
  131. package/dist/esm/tool-providers/index.js.map +1 -1
  132. package/dist/esm/tools/mcpClientUse.d.ts +59 -0
  133. package/dist/esm/tools/mcpClientUse.js +216 -0
  134. package/dist/esm/tools/mcpClientUse.js.map +1 -0
  135. package/dist/esm/tools/toolProvider.d.ts +16 -0
  136. package/dist/esm/tools/toolSessions.d.ts +41 -0
  137. package/dist/esm/tools/toolSessions.js +41 -1
  138. package/dist/esm/tools/toolSessions.js.map +1 -1
  139. package/dist/events/registry.js +2 -0
  140. package/dist/events/registry.js.map +1 -1
  141. package/dist/identity/types.js.map +1 -1
  142. package/dist/index.js +6 -3
  143. package/dist/index.js.map +1 -1
  144. package/dist/lib/boundedJson.js +14 -7
  145. package/dist/lib/boundedJson.js.map +1 -1
  146. package/dist/mcp/callChecks.js +247 -0
  147. package/dist/mcp/callChecks.js.map +1 -0
  148. package/dist/mcp/callLifetime.js +5 -2
  149. package/dist/mcp/callLifetime.js.map +1 -1
  150. package/dist/mcp/clientPort.js +38 -0
  151. package/dist/mcp/clientPort.js.map +1 -0
  152. package/dist/mcp/gatewayTransport.js +13 -3
  153. package/dist/mcp/gatewayTransport.js.map +1 -1
  154. package/dist/mcp/index.js +25 -1
  155. package/dist/mcp/index.js.map +1 -1
  156. package/dist/mcp/listingGenerations.js +80 -0
  157. package/dist/mcp/listingGenerations.js.map +1 -0
  158. package/dist/mcp/mcpClient.js +306 -59
  159. package/dist/mcp/mcpClient.js.map +1 -1
  160. package/dist/mcp/mockMcpClient.js +13 -0
  161. package/dist/mcp/mockMcpClient.js.map +1 -1
  162. package/dist/mcp/pool/boundTool.js +223 -0
  163. package/dist/mcp/pool/boundTool.js.map +1 -0
  164. package/dist/mcp/pool/clientSet.js +157 -0
  165. package/dist/mcp/pool/clientSet.js.map +1 -0
  166. package/dist/mcp/pool/definitions.js +174 -0
  167. package/dist/mcp/pool/definitions.js.map +1 -0
  168. package/dist/mcp/pool/errors.js +96 -0
  169. package/dist/mcp/pool/errors.js.map +1 -0
  170. package/dist/mcp/pool/identityKey.js +99 -0
  171. package/dist/mcp/pool/identityKey.js.map +1 -0
  172. package/dist/mcp/pool/lease.js +55 -0
  173. package/dist/mcp/pool/lease.js.map +1 -0
  174. package/dist/mcp/pool/listTools.js +150 -0
  175. package/dist/mcp/pool/listTools.js.map +1 -0
  176. package/dist/mcp/pool/mcpClientPool.js +155 -0
  177. package/dist/mcp/pool/mcpClientPool.js.map +1 -0
  178. package/dist/mcp/pool/options.js +123 -0
  179. package/dist/mcp/pool/options.js.map +1 -0
  180. package/dist/mcp/pool/plan.js +140 -0
  181. package/dist/mcp/pool/plan.js.map +1 -0
  182. package/dist/mcp/pool/pool.js +1075 -0
  183. package/dist/mcp/pool/pool.js.map +1 -0
  184. package/dist/mcp/pool/pooledClient.js +94 -0
  185. package/dist/mcp/pool/pooledClient.js.map +1 -0
  186. package/dist/mcp/pool/record.js +80 -0
  187. package/dist/mcp/pool/record.js.map +1 -0
  188. package/dist/mcp/pool/sessionEnded.js +35 -0
  189. package/dist/mcp/pool/sessionEnded.js.map +1 -0
  190. package/dist/mcp/pool/work.js +219 -0
  191. package/dist/mcp/pool/work.js.map +1 -0
  192. package/dist/mcp/requestGuard.js +106 -0
  193. package/dist/mcp/requestGuard.js.map +1 -0
  194. package/dist/mcp/requestLedger.js +76 -3
  195. package/dist/mcp/requestLedger.js.map +1 -1
  196. package/dist/mcp/seriesEvidence.js +16 -7
  197. package/dist/mcp/seriesEvidence.js.map +1 -1
  198. package/dist/mcp/terminate.js +193 -0
  199. package/dist/mcp/terminate.js.map +1 -0
  200. package/dist/mcp/throttleRetry.js +71 -7
  201. package/dist/mcp/throttleRetry.js.map +1 -1
  202. package/dist/mcp/toolList.js +128 -0
  203. package/dist/mcp/toolList.js.map +1 -0
  204. package/dist/redaction/knownStrings.js +34 -0
  205. package/dist/redaction/knownStrings.js.map +1 -1
  206. package/dist/tool-providers/index.js +20 -1
  207. package/dist/tool-providers/index.js.map +1 -1
  208. package/dist/tools/mcpClientUse.js +225 -0
  209. package/dist/tools/mcpClientUse.js.map +1 -0
  210. package/dist/tools/toolSessions.js +44 -1
  211. package/dist/tools/toolSessions.js.map +1 -1
  212. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +23 -4
  213. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
  214. package/dist/types/adapters/mcp/agentcoreRuntime/session.d.ts +20 -6
  215. package/dist/types/adapters/mcp/agentcoreRuntime/session.d.ts.map +1 -1
  216. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  217. package/dist/types/core/Agent.d.ts.map +1 -1
  218. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  219. package/dist/types/core/slots/buildToolsSlot.d.ts +12 -0
  220. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  221. package/dist/types/events/payloads.d.ts +41 -0
  222. package/dist/types/events/payloads.d.ts.map +1 -1
  223. package/dist/types/events/registry.d.ts +3 -1
  224. package/dist/types/events/registry.d.ts.map +1 -1
  225. package/dist/types/identity/types.d.ts +7 -3
  226. package/dist/types/identity/types.d.ts.map +1 -1
  227. package/dist/types/index.d.ts +1 -1
  228. package/dist/types/index.d.ts.map +1 -1
  229. package/dist/types/lib/boundedJson.d.ts +14 -7
  230. package/dist/types/lib/boundedJson.d.ts.map +1 -1
  231. package/dist/types/mcp/callChecks.d.ts +161 -0
  232. package/dist/types/mcp/callChecks.d.ts.map +1 -0
  233. package/dist/types/mcp/callLifetime.d.ts.map +1 -1
  234. package/dist/types/mcp/clientPort.d.ts +79 -0
  235. package/dist/types/mcp/clientPort.d.ts.map +1 -0
  236. package/dist/types/mcp/gatewayTransport.d.ts.map +1 -1
  237. package/dist/types/mcp/index.d.ts +11 -1
  238. package/dist/types/mcp/index.d.ts.map +1 -1
  239. package/dist/types/mcp/listingGenerations.d.ts +55 -0
  240. package/dist/types/mcp/listingGenerations.d.ts.map +1 -0
  241. package/dist/types/mcp/mcpClient.d.ts +18 -1
  242. package/dist/types/mcp/mcpClient.d.ts.map +1 -1
  243. package/dist/types/mcp/mockMcpClient.d.ts.map +1 -1
  244. package/dist/types/mcp/pool/boundTool.d.ts +59 -0
  245. package/dist/types/mcp/pool/boundTool.d.ts.map +1 -0
  246. package/dist/types/mcp/pool/clientSet.d.ts +74 -0
  247. package/dist/types/mcp/pool/clientSet.d.ts.map +1 -0
  248. package/dist/types/mcp/pool/definitions.d.ts +104 -0
  249. package/dist/types/mcp/pool/definitions.d.ts.map +1 -0
  250. package/dist/types/mcp/pool/errors.d.ts +77 -0
  251. package/dist/types/mcp/pool/errors.d.ts.map +1 -0
  252. package/dist/types/mcp/pool/identityKey.d.ts +58 -0
  253. package/dist/types/mcp/pool/identityKey.d.ts.map +1 -0
  254. package/dist/types/mcp/pool/lease.d.ts +37 -0
  255. package/dist/types/mcp/pool/lease.d.ts.map +1 -0
  256. package/dist/types/mcp/pool/listTools.d.ts +34 -0
  257. package/dist/types/mcp/pool/listTools.d.ts.map +1 -0
  258. package/dist/types/mcp/pool/mcpClientPool.d.ts +122 -0
  259. package/dist/types/mcp/pool/mcpClientPool.d.ts.map +1 -0
  260. package/dist/types/mcp/pool/options.d.ts +184 -0
  261. package/dist/types/mcp/pool/options.d.ts.map +1 -0
  262. package/dist/types/mcp/pool/plan.d.ts +78 -0
  263. package/dist/types/mcp/pool/plan.d.ts.map +1 -0
  264. package/dist/types/mcp/pool/pool.d.ts +308 -0
  265. package/dist/types/mcp/pool/pool.d.ts.map +1 -0
  266. package/dist/types/mcp/pool/pooledClient.d.ts +94 -0
  267. package/dist/types/mcp/pool/pooledClient.d.ts.map +1 -0
  268. package/dist/types/mcp/pool/record.d.ts +81 -0
  269. package/dist/types/mcp/pool/record.d.ts.map +1 -0
  270. package/dist/types/mcp/pool/sessionEnded.d.ts +25 -0
  271. package/dist/types/mcp/pool/sessionEnded.d.ts.map +1 -0
  272. package/dist/types/mcp/pool/work.d.ts +117 -0
  273. package/dist/types/mcp/pool/work.d.ts.map +1 -0
  274. package/dist/types/mcp/requestGuard.d.ts +71 -0
  275. package/dist/types/mcp/requestGuard.d.ts.map +1 -0
  276. package/dist/types/mcp/requestLedger.d.ts +35 -1
  277. package/dist/types/mcp/requestLedger.d.ts.map +1 -1
  278. package/dist/types/mcp/seriesEvidence.d.ts +10 -6
  279. package/dist/types/mcp/seriesEvidence.d.ts.map +1 -1
  280. package/dist/types/mcp/terminate.d.ts +95 -0
  281. package/dist/types/mcp/terminate.d.ts.map +1 -0
  282. package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
  283. package/dist/types/mcp/toolList.d.ts +91 -0
  284. package/dist/types/mcp/toolList.d.ts.map +1 -0
  285. package/dist/types/mcp/types.d.ts +197 -3
  286. package/dist/types/mcp/types.d.ts.map +1 -1
  287. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  288. package/dist/types/tool-providers/index.d.ts +2 -2
  289. package/dist/types/tool-providers/index.d.ts.map +1 -1
  290. package/dist/types/tools/mcpClientUse.d.ts +60 -0
  291. package/dist/types/tools/mcpClientUse.d.ts.map +1 -0
  292. package/dist/types/tools/toolProvider.d.ts +16 -0
  293. package/dist/types/tools/toolProvider.d.ts.map +1 -1
  294. package/dist/types/tools/toolSessions.d.ts +41 -0
  295. package/dist/types/tools/toolSessions.d.ts.map +1 -1
  296. package/package.json +3 -3
@@ -44,10 +44,13 @@
44
44
  * inject `_client` and skip the import path entirely.
45
45
  */
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.mcpClient = void 0;
47
+ exports.mcpToolShape = exports.openPooledClient = exports.mcpClient = void 0;
48
48
  const footprintjs_1 = require("footprintjs");
49
49
  const toolExtras_js_1 = require("./toolExtras.js");
50
50
  const toolResult_js_1 = require("./toolResult.js");
51
+ const toolList_js_1 = require("./toolList.js");
52
+ const listingGenerations_js_1 = require("./listingGenerations.js");
53
+ const callChecks_js_1 = require("./callChecks.js");
51
54
  const gatewayTransport_js_1 = require("./gatewayTransport.js");
52
55
  const throttleRetry_js_1 = require("./throttleRetry.js");
53
56
  const requestLedger_js_1 = require("./requestLedger.js");
@@ -58,6 +61,8 @@ const connectionRefusals_js_1 = require("./connectionRefusals.js");
58
61
  const sdkLoadFailure_js_1 = require("./sdkLoadFailure.js");
59
62
  const transportUrl_js_1 = require("./transportUrl.js");
60
63
  const lazyRequire_js_1 = require("../lib/lazyRequire.js");
64
+ const clientPort_js_1 = require("./clientPort.js");
65
+ const terminate_js_1 = require("./terminate.js");
61
66
  // Version-less identity. The MCP `clientInfo` field is informational
62
67
  // (server logs it); a hardcoded number drifts every release. Consumers
63
68
  // who care about wire-level identity pass `clientInfo` explicitly.
@@ -88,6 +93,20 @@ const DEFAULT_CLIENT_INFO = {
88
93
  * transport fails to connect.
89
94
  */
90
95
  async function mcpClient(opts) {
96
+ return (await connectClient(opts)).client;
97
+ }
98
+ exports.mcpClient = mcpClient;
99
+ /**
100
+ * @internal The MCP client pool's way to open a client (`mcp/pool/`): an
101
+ * ordinary `mcpClient` — the same discovery, checks, ledger and retry series —
102
+ * plus what only a pool asks for (`clientPort.ts`), and the port back.
103
+ */
104
+ async function openPooledClient(opts, seam) {
105
+ return connectClient(opts, seam);
106
+ }
107
+ exports.openPooledClient = openPooledClient;
108
+ /** The one construction path behind `mcpClient` and the pool's opener. */
109
+ async function connectClient(opts, seam) {
91
110
  const name = opts.name ?? 'mcp';
92
111
  const resultMode = (0, toolResult_js_1.resultModeOf)(opts.resultMode, name);
93
112
  // Before anything connects: an option that names a behaviour which cannot
@@ -97,27 +116,63 @@ async function mcpClient(opts) {
97
116
  // checked once, here, before anything connects (`replay.ts`).
98
117
  const replay = (0, replay_js_1.replayDeclarationOf)(opts.replay, `mcpClient[${name}]`);
99
118
  const strict = replay.policy === 'app-authorized';
100
- const { connection, ledger } = await openConnection(opts, replay, name);
119
+ // The validator a tool's own output checks use (`callChecks.ts`), refused by
120
+ // name now when it is not one.
121
+ const validator = (0, callChecks_js_1.validatorOption)(opts.jsonSchemaValidator, `mcpClient[${name}]`);
122
+ const { connection, ledger, kit, ending } = await openConnection(opts, replay, name, validator, seam);
101
123
  const unlisted = new Set();
102
124
  // Tool cache so consumers calling `.tools()` more than once don't
103
125
  // hammer the server. `.refresh()` invalidates it.
104
126
  let cache = null;
105
127
  let closed = false;
128
+ // The one ending this client gets (`terminate.ts`): `terminate()` asks for it
129
+ // once, and every later call answers the same outcome.
130
+ let ended;
106
131
  const ensureOpen = (op) => {
107
132
  if (closed) {
108
133
  throw new Error(`mcpClient[${name}].${op}() called after close(). Construct a new client to reconnect.`);
109
134
  }
110
135
  };
111
- const buildTools = async () => {
112
- // `signal` rides in the SDK's THIRD argument (RequestOptions), not in
113
- // the request params — see `wrapMcpTool`.
114
- const listed = opts.signal
115
- ? await connection.listTools(undefined, { signal: opts.signal })
116
- : await connection.listTools();
117
- noteUnlisted(replay, listed.tools, name, unlisted);
118
- return listed.tools.map((t) => wrapMcpTool(name, connection, t, opts.signal, resultMode, ledger, strict));
136
+ const listWith = async (signal) => {
137
+ // Every page of the server's list (`toolList.ts`). `signal` rides each
138
+ // page in the SDK's trailing options argument, never in the params — see
139
+ // `wrapMcpTool`.
140
+ // Each page request is counted in this connection's listings, whatever it
141
+ // settles to (`listingGenerations.ts`).
142
+ const listing = await (0, toolList_js_1.listEveryPage)(connection, signal, kit.listings);
143
+ // A list that did not end cannot say which entries name nothing.
144
+ if (listing.incomplete === undefined)
145
+ noteUnlisted(replay, listing.tools, name, unlisted);
146
+ // Every tool carries the checks of the list it came from (`callChecks.ts`):
147
+ // the SDK's `Client` holds them only while a one-page list's answer is its
148
+ // latest, and only then are they left to it.
149
+ const tools = listing.tools.map((t) => wrapMcpTool(name, connection, t, opts.signal, resultMode, ledger, strict, (0, callChecks_js_1.checksFor)(t, kit, listing.generation)));
150
+ // Never a list cut short: what was listed travels on the refusal instead.
151
+ if (listing.incomplete !== undefined) {
152
+ throw new toolList_js_1.McpToolListIncompleteError(listing.incomplete, name, listing.pages, tools);
153
+ }
154
+ return { tools, listed: listing.tools };
119
155
  };
120
- return {
156
+ const buildTools = async () => (await listWith(opts.signal)).tools;
157
+ const closeLocally = async () => {
158
+ try {
159
+ await connection.close();
160
+ }
161
+ finally {
162
+ // Nothing this connection sent is awaited any more, however it closed.
163
+ ledger?.close();
164
+ }
165
+ };
166
+ // The remote session ended, then the local side — at most once.
167
+ const end = () => {
168
+ if (ended !== undefined)
169
+ return ended;
170
+ closed = true;
171
+ cache = null;
172
+ ended = ending(closeLocally);
173
+ return ended;
174
+ };
175
+ const client = {
121
176
  name,
122
177
  async tools() {
123
178
  ensureOpen('tools');
@@ -135,17 +190,38 @@ async function mcpClient(opts) {
135
190
  return;
136
191
  closed = true;
137
192
  cache = null;
138
- try {
139
- await connection.close();
140
- }
141
- finally {
142
- // Nothing this connection sent is awaited any more, however it closed.
143
- ledger?.close();
144
- }
193
+ await closeLocally();
145
194
  },
195
+ async terminate() {
196
+ if (ended !== undefined)
197
+ return ended.outcome;
198
+ ensureOpen('terminate');
199
+ return end().outcome;
200
+ },
201
+ };
202
+ const port = {
203
+ async listing(signal) {
204
+ ensureOpen('tools');
205
+ const listing = await listWith(signal);
206
+ cache = listing.tools;
207
+ return listing;
208
+ },
209
+ bind: (listed) =>
210
+ // No listing generation: this connection's SDK holds no checks for a
211
+ // definition it did not list, so the tool always runs its own.
212
+ wrapMcpTool(name, connection, listed, opts.signal, resultMode, ledger, strict, (0, callChecks_js_1.checksFor)(listed, kit, undefined)),
213
+ end,
146
214
  };
215
+ return { client, port };
216
+ }
217
+ /**
218
+ * An ending that sends nothing: the local close, and the outcome that says why
219
+ * — answered by the teardown deadline even when the close hangs, the close
220
+ * itself reported apart (`terminate.ts` · `endLocally`).
221
+ */
222
+ function endingWithout(remote) {
223
+ return (close) => (0, terminate_js_1.endLocally)(remote, close);
147
224
  }
148
- exports.mcpClient = mcpClient;
149
225
  /**
150
226
  * The one funnel every arm passes through, in precedence order: a connection
151
227
  * you handed over, the internal test seam, then the library building one.
@@ -155,31 +231,114 @@ exports.mcpClient = mcpClient;
155
231
  * A call with neither `connection` nor `sdk` reaches `resolveClient` with two
156
232
  * `undefined` arguments and takes the identical path it always took.
157
233
  */
158
- async function openConnection(opts, replay, name) {
159
- if (opts.connection !== undefined)
160
- return { connection: opts.connection };
161
- if (opts._client !== undefined)
162
- return { connection: opts._client };
234
+ async function openConnection(opts, replay, name, validator, seam) {
235
+ // A client built elsewhere: the library loads nothing, so only the caller's
236
+ // validator can check a tool's output itself, and errors take the SDK's shape.
237
+ // Its list requests are counted per client: every mcpClient over it shares one
238
+ // count, as they share the SDK's one set of checks (`listingGenerations.ts`).
239
+ // The library did not build its transport, so it cannot end the session.
240
+ if (opts.connection !== undefined) {
241
+ const kit = (0, callChecks_js_1.callCheckKit)(name, (0, listingGenerations_js_1.listingsOf)(opts.connection), validator);
242
+ return { connection: opts.connection, kit, ending: endingWithout('unavailable') };
243
+ }
244
+ if (opts._client !== undefined) {
245
+ return {
246
+ connection: opts._client,
247
+ kit: (0, callChecks_js_1.callCheckKit)(name, (0, listingGenerations_js_1.listingsOf)(opts._client), validator),
248
+ ending: endingWithout('unavailable'),
249
+ };
250
+ }
163
251
  // `refuseConflictingOptions` has already refused the case where this is
164
252
  // absent, so the assertion documents that guarantee rather than assuming it.
165
253
  const transport = opts.transport;
166
- return resolveClient(transport, opts.clientInfo, opts.signal, opts.retryOnThrottle, opts.sdk, replay, name);
254
+ return resolveClient(transport, opts.clientInfo, opts.signal, opts.retryOnThrottle, opts.sdk, replay, name, validator, seam);
167
255
  }
168
256
  // ─── SDK construction (lazy require, unless the caller supplied it) ─
169
- async function resolveClient(transport, clientInfo, signal, retryOnThrottle, sdk, replay, name = 'mcp') {
257
+ async function resolveClient(transport, clientInfo, signal, retryOnThrottle, sdk, replay, name = 'mcp', validator, seam) {
170
258
  if (sdk !== undefined)
171
259
  assertSdk(sdk, transport.transport);
172
260
  const mod = sdk ?? loadClientModule();
173
- const client = new mod.Client(clientInfo ?? DEFAULT_CLIENT_INFO, {
174
- capabilities: {},
175
- });
176
- const built = await buildTransport(transport, retryOnThrottle, sdk, replay, name);
261
+ // A caller's validator is the client's too, so one validator checks every
262
+ // page; without one, the options are exactly what they always were. A pooled
263
+ // client hears the server's tools-changed notice with the SDK's automatic
264
+ // refresh OFF: the notice only makes the pool list again, through this
265
+ // client's own discovery, which counts every listing (`listingGenerations.ts`).
266
+ const options = validator === undefined
267
+ ? { capabilities: {} }
268
+ : { capabilities: {}, jsonSchemaValidator: validator };
269
+ if (seam !== undefined) {
270
+ options.listChanged = {
271
+ tools: { autoRefresh: false, debounceMs: 0, onChanged: () => seam.onToolsChanged() },
272
+ };
273
+ }
274
+ const client = new mod.Client(clientInfo ?? DEFAULT_CLIENT_INFO, options);
275
+ const built = await buildTransport(transport, retryOnThrottle, sdk, replay, name, seam);
276
+ // With the SDK loaded here, so is what a tool's own checks run with: its
277
+ // default validator and its own error class. With `sdk`, the loader is never
278
+ // touched (`callChecks.ts`).
279
+ const kit = sdk === undefined
280
+ ? (0, callChecks_js_1.callCheckKit)(name, (0, listingGenerations_js_1.listingsOf)(client), validator, loadCheckModules(validator))
281
+ : (0, callChecks_js_1.callCheckKit)(name, (0, listingGenerations_js_1.listingsOf)(client), validator);
177
282
  // Same rule as callTool: options ride beside the transport, never inside it.
178
- if (signal)
179
- await client.connect(built.transport, { signal });
180
- else
181
- await client.connect(built.transport);
182
- return { connection: client, ...(built.ledger !== undefined && { ledger: built.ledger }) };
283
+ // A pooled client connects under the pool's own signal and open deadline;
284
+ // its lifetime signal (`signal`) rides every later request.
285
+ const connectSignal = seam?.connectSignal ?? signal;
286
+ try {
287
+ if (connectSignal)
288
+ await client.connect(built.transport, { signal: connectSignal });
289
+ else
290
+ await client.connect(built.transport);
291
+ }
292
+ catch (error) {
293
+ // A pooled open that failed may still have opened a session on the server:
294
+ // the pool can end it once the open's work has settled (`clientPort.ts`).
295
+ if (seam !== undefined) {
296
+ const transport = built.transport;
297
+ (0, clientPort_js_1.rememberHalfOpen)(error, {
298
+ hasSession: () => transport?.sessionId !== undefined,
299
+ end: () => built.ending(async () => {
300
+ try {
301
+ await client.close();
302
+ }
303
+ finally {
304
+ built.ledger?.close();
305
+ }
306
+ }),
307
+ });
308
+ }
309
+ throw error;
310
+ }
311
+ return {
312
+ connection: client,
313
+ kit,
314
+ ...(built.ledger !== undefined && { ledger: built.ledger }),
315
+ ending: built.ending,
316
+ };
317
+ }
318
+ /**
319
+ * What the SDK's `Client` checks a tool's call with, loaded with the SDK on the
320
+ * Node loader path (the bundling law: when the client is built, never at a
321
+ * later tool call): its own `McpError`, and — unless the caller gave a
322
+ * validator — its default validator, `AjvJsonSchemaValidator`. Both modules are
323
+ * the ones `client/index.js` already loaded. An SDK without one of them (older
324
+ * than its public validator subpath) leaves that slot empty: errors then take
325
+ * the SDK's shape, and an output no validator here can check is never returned.
326
+ */
327
+ function loadCheckModules(validator) {
328
+ const McpError = loadOptional(() => (0, lazyRequire_js_1.lazyRequire)('@modelcontextprotocol/sdk/types.js'))?.McpError;
329
+ const Validator = validator === undefined
330
+ ? loadOptional(() => (0, lazyRequire_js_1.lazyRequire)('@modelcontextprotocol/sdk/validation/ajv'))?.AjvJsonSchemaValidator
331
+ : undefined;
332
+ return { McpError, Validator };
333
+ }
334
+ /** A module this SDK may not have: `undefined` when it cannot be loaded. */
335
+ function loadOptional(load) {
336
+ try {
337
+ return load();
338
+ }
339
+ catch {
340
+ return undefined;
341
+ }
183
342
  }
184
343
  /**
185
344
  * An injected `sdk` is checked before anything is built, so a wrong import (a
@@ -223,7 +382,7 @@ function loadClientModule() {
223
382
  }));
224
383
  }
225
384
  }
226
- async function buildTransport(t, retryOnThrottle, sdk, replay, name = 'mcp') {
385
+ async function buildTransport(t, retryOnThrottle, sdk, replay, name = 'mcp', seam) {
227
386
  if (t.transport === 'stdio') {
228
387
  // Deliberately NOT served by `sdk`: stdio spawns a subprocess, so it can
229
388
  // never run in a browser, and `client/stdio.js` is the SDK's one client
@@ -244,14 +403,23 @@ async function buildTransport(t, retryOnThrottle, sdk, replay, name = 'mcp') {
244
403
  }));
245
404
  }
246
405
  // No fetch, so no retry series: a stdio call has no attempts to file.
247
- return {
248
- transport: new stdioMod.StdioClientTransport({
249
- command: t.command,
250
- args: t.args ? [...t.args] : [],
251
- ...(t.env && { env: { ...t.env } }),
252
- ...(t.cwd !== undefined && { cwd: t.cwd }),
253
- }),
254
- };
406
+ // stdio has no session id to end: its ending is the local close.
407
+ const stdio = new stdioMod.StdioClientTransport({
408
+ command: t.command,
409
+ args: t.args ? [...t.args] : [],
410
+ ...(t.env && { env: { ...t.env } }),
411
+ ...(t.cwd !== undefined && { cwd: t.cwd }),
412
+ });
413
+ if (seam === undefined)
414
+ return { transport: stdio, ending: endingWithout('no-session') };
415
+ // A pooled client's sends are watched, so the pool's gate is asked at
416
+ // `send()` — on stdio, which writes without waiting, the last boundary.
417
+ const ledger = new requestLedger_js_1.RequestLedger({
418
+ server: name,
419
+ strict: replay?.policy === 'app-authorized',
420
+ guardFor: seam.guardFor,
421
+ });
422
+ return watchedForPool(stdio, ledger, endingWithout('no-session'), name);
255
423
  }
256
424
  // http + gateway transports both ride Streamable HTTP. They differ only in
257
425
  // WHEN the auth headers are decided: `http` fixes them at construction,
@@ -284,7 +452,16 @@ async function buildTransport(t, retryOnThrottle, sdk, replay, name = 'mcp') {
284
452
  const ledger = new requestLedger_js_1.RequestLedger({
285
453
  server: name,
286
454
  strict: replay?.policy === 'app-authorized',
455
+ ...(seam !== undefined && { guardFor: seam.guardFor }),
287
456
  });
457
+ // The pass-through fetch every transport the library builds carries: it
458
+ // changes no request, and reads a `DELETE`'s answer for `terminate()`
459
+ // (`terminate.ts`), because the SDK treats a 405 as success. A pooled client's
460
+ // requests also cross the pool's gate here, before anything else of ours.
461
+ const watch = new terminate_js_1.DeleteWatch();
462
+ const outermost = (inner) => watch.fetch(seam === undefined
463
+ ? inner
464
+ : seam.wrapFetch(inner ?? platformFetch, (body) => guardOfCall(ledger, body)));
288
465
  if (t.transport === 'gateway') {
289
466
  // The consumer's own `fetch` (9.32.0) goes UNDERNEATH the vending, not
290
467
  // beside it: `createVendingFetch` resolves the credential, applies it to
@@ -295,9 +472,11 @@ async function buildTransport(t, retryOnThrottle, sdk, replay, name = 'mcp') {
295
472
  // the seam existed.
296
473
  const gatewayFetch = retried((0, gatewayTransport_js_1.createVendingFetch)(t, t.fetch));
297
474
  const ledgered = gatewayFetch && (0, throttleRetry_js_1.ledgeredFetch)(gatewayFetch, ledger, replay);
298
- return watched(new httpMod.StreamableHTTPClientTransport((0, transportUrl_js_1.transportUrl)(t.url, 'mcpClient'), {
299
- fetch: ledgered ?? gatewayFetch,
300
- }), ledgered && ledger);
475
+ const sdkTransport = new httpMod.StreamableHTTPClientTransport((0, transportUrl_js_1.transportUrl)(t.url, 'mcpClient'), { fetch: outermost(ledgered ?? gatewayFetch) });
476
+ if (seam !== undefined) {
477
+ return watchedForPool(sdkTransport, ledger, sessionEnding(sdkTransport, watch), name);
478
+ }
479
+ return watched(sdkTransport, ledgered !== undefined ? ledger : undefined, sessionEnding(sdkTransport, watch));
301
480
  }
302
481
  // Both options ride the SAME SDK transport, and both are forwarded when both
303
482
  // are given. The SDK folds `requestInit.headers` into the `init.headers` it
@@ -305,23 +484,60 @@ async function buildTransport(t, retryOnThrottle, sdk, replay, name = 'mcp') {
305
484
  // final word over the bytes — see `McpHttpTransport.fetch`.
306
485
  const httpFetch = retried(t.fetch);
307
486
  const ledgered = httpFetch && (0, throttleRetry_js_1.ledgeredFetch)(httpFetch, ledger, replay);
308
- const fetch = ledgered ?? httpFetch;
309
- return watched(new httpMod.StreamableHTTPClientTransport((0, transportUrl_js_1.transportUrl)(t.url, 'mcpClient'), {
487
+ const sdkTransport = new httpMod.StreamableHTTPClientTransport((0, transportUrl_js_1.transportUrl)(t.url, 'mcpClient'), {
310
488
  ...(t.headers && { requestInit: { headers: { ...t.headers } } }),
311
- ...(fetch && { fetch }),
312
- }), ledgered && ledger);
489
+ fetch: outermost(ledgered ?? httpFetch),
490
+ });
491
+ if (seam !== undefined) {
492
+ return watchedForPool(sdkTransport, ledger, sessionEnding(sdkTransport, watch), name);
493
+ }
494
+ return watched(sdkTransport, ledgered !== undefined ? ledger : undefined, sessionEnding(sdkTransport, watch));
495
+ }
496
+ /** The guard of the pooled tool call `body` belongs to, by its ledger claim. */
497
+ function guardOfCall(ledger, body) {
498
+ return ledger.claim(body)?.guard;
499
+ }
500
+ /** How an SDK Streamable HTTP transport's session ends: its own `terminateSession()`. */
501
+ function sessionEnding(transport, watch) {
502
+ const terminable = transport;
503
+ if (typeof terminable?.terminateSession !== 'function')
504
+ return endingWithout('unavailable');
505
+ return (close) => (0, terminate_js_1.endSession)(terminable, watch, close);
313
506
  }
314
507
  /**
315
508
  * `transport` with its sends watched by `ledger` — the SAME object, its own
316
509
  * `send` installed in place. As it is, with no ledger, when there is none or it
317
510
  * cannot be watched: then no call expects its attempts filed.
318
511
  */
319
- function watched(transport, ledger) {
512
+ function watched(transport, ledger, ending) {
320
513
  if (ledger === undefined || transport === null || typeof transport !== 'object') {
321
- return { transport };
514
+ return { transport, ending };
515
+ }
516
+ return ledger.watch(transport) === undefined
517
+ ? { transport, ending }
518
+ : { transport, ledger, ending };
519
+ }
520
+ /**
521
+ * A pooled client's transport, its sends watched — REQUIRED. The pool checks
522
+ * every request against its binding at the watched `send` (on stdio the last
523
+ * boundary there is) and ties each tool call to its guard there, so a
524
+ * transport whose `send` cannot be watched is refused before anything is
525
+ * built on it or sent: the pool's guarantee needs the watch, whatever the
526
+ * replay policy. A standalone client never comes here (`watched`).
527
+ *
528
+ * @throws when the transport has no `send` to watch or refuses the property
529
+ */
530
+ function watchedForPool(transport, ledger, ending, name) {
531
+ const built = watched(transport, ledger, ending);
532
+ if (built.ledger === undefined) {
533
+ throw new Error(`mcpClient[${name}]: the MCP client pool checks every request at its transport's \`send\` ` +
534
+ "before it is sent, and this transport's `send` cannot be watched (it is missing, or a " +
535
+ 'property that cannot be redefined), so the pooled client is not opened. Nothing was sent.');
322
536
  }
323
- return ledger.watch(transport) === undefined ? { transport } : { transport, ledger };
537
+ return built;
324
538
  }
539
+ /** The platform's fetch, looked up at call time so a later polyfill still wins. */
540
+ const platformFetch = (input, init) => globalThis.fetch(input, init);
325
541
  /** The Node loader path for Streamable HTTP — reached only with no `sdk`. */
326
542
  function loadHttpModule(transport) {
327
543
  try {
@@ -358,8 +574,13 @@ function noteUnlisted(replay, listed, server, noted) {
358
574
  }
359
575
  }
360
576
  // ─── Tool wrapping ─────────────────────────────────────────────────
361
- function wrapMcpTool(serverName, connection, mcp, signal, resultMode, ledger, strict = false) {
362
- const tool = {
577
+ /**
578
+ * @internal What a listed MCP tool looks like as a `Tool`, less its `execute`:
579
+ * its schema, its provenance and the declarations its `_meta` carries. The ONE
580
+ * shape both an `mcpClient` tool and an MCP client pool's bound tool take.
581
+ */
582
+ function mcpToolShape(serverName, mcp) {
583
+ return {
363
584
  schema: {
364
585
  name: mcp.name,
365
586
  description: mcp.description ?? `MCP tool: ${mcp.name}`,
@@ -380,6 +601,12 @@ function wrapMcpTool(serverName, connection, mcp, signal, resultMode, ledger, st
380
601
  tool: mcp.name,
381
602
  inputSchema: mcp.inputSchema,
382
603
  }),
604
+ };
605
+ }
606
+ exports.mcpToolShape = mcpToolShape;
607
+ function wrapMcpTool(serverName, connection, mcp, signal, resultMode, ledger, strict = false, checks) {
608
+ const tool = {
609
+ ...mcpToolShape(serverName, mcp),
383
610
  execute: async (args, ctx) => {
384
611
  // The agent passes args as `unknown` per Tool contract. MCP
385
612
  // expects a JSON object — non-object inputs become `{}` rather
@@ -420,12 +647,32 @@ function wrapMcpTool(serverName, connection, mcp, signal, resultMode, ledger, st
420
647
  if (unavailable !== undefined) {
421
648
  throw new replayUnavailable_js_1.McpReplayUnavailableError(unavailable, serverName, mcp.name);
422
649
  }
650
+ // Whose checks this call runs under, decided before anything is sent
651
+ // (`callChecks.ts`): the SDK's `Client` holds them while this tool's
652
+ // one-page list is still its latest answer and no list request is out;
653
+ // otherwise the tool's own checks run. An output they cannot check is
654
+ // refused here, unsent.
655
+ const own = checks !== undefined && !checks.heldBySdk();
656
+ if (own && (0, callChecks_js_1.outputUnchecked)(checks)) {
657
+ throw new callChecks_js_1.McpOutputUncheckedError(serverName, mcp.name, false);
658
+ }
423
659
  const call = (0, callLifetime_js_1.openCall)(params, ctx, signal, ledger, serverName);
424
660
  let verdict = 'failed';
425
661
  try {
426
- const result = call.signal
427
- ? await connection.callTool(call.params, undefined, { signal: call.signal })
428
- : await connection.callTool(call.params);
662
+ const send = () => call.signal
663
+ ? connection.callTool(call.params, undefined, { signal: call.signal })
664
+ : connection.callTool(call.params);
665
+ // The tool's own checks run where the SDK's `callTool` runs them, so a
666
+ // call fails as it would with the SDK holding them: the task refusal
667
+ // before sending, the output checks once the answer is in.
668
+ if (own)
669
+ (0, callChecks_js_1.refuseRequiredTask)(checks);
670
+ const result = await send();
671
+ // A list request that went out while the call was out may have replaced
672
+ // the SDK's checks before it read the answer, so the tool's own checks
673
+ // read it too.
674
+ if (checks !== undefined && (own || !checks.heldBySdk()))
675
+ (0, callChecks_js_1.checkOutput)(checks, result);
429
676
  verdict = (0, toolResult_js_1.isToolError)(result) ? 'tool-error' : 'completed';
430
677
  return (0, toolResult_js_1.readToolResult)(result, mcp.name, serverName, resultMode);
431
678
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../src/mcp/mcpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../src/mcp/mcpClient.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
33
  exports.mockMcpClient = void 0;
34
34
  const toolExtras_js_1 = require("./toolExtras.js");
35
+ const terminate_js_1 = require("./terminate.js");
35
36
  const toolResult_js_1 = require("./toolResult.js");
36
37
  /**
37
38
  * Build an in-memory `McpClient`. Useful when you want to develop
@@ -45,6 +46,7 @@ function mockMcpClient(options) {
45
46
  const toolMap = new Map(options.tools.map((t) => [t.name, t]));
46
47
  let cache = null;
47
48
  let closed = false;
49
+ let ended;
48
50
  const ensureOpen = (op) => {
49
51
  if (closed) {
50
52
  throw new Error(`mockMcpClient[${name}].${op}() called after close(). Construct a new client to reuse.`);
@@ -70,6 +72,17 @@ function mockMcpClient(options) {
70
72
  closed = true;
71
73
  cache = null;
72
74
  },
75
+ // In memory, no session id is ever issued: nothing remote to end, so the
76
+ // ending is resolved, and the client is closed (`terminate.ts`).
77
+ async terminate() {
78
+ if (ended !== undefined)
79
+ return ended;
80
+ ensureOpen('terminate');
81
+ closed = true;
82
+ cache = null;
83
+ ended = (0, terminate_js_1.outcomeWithout)('no-session');
84
+ return ended;
85
+ },
73
86
  };
74
87
  }
75
88
  exports.mockMcpClient = mockMcpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"mockMcpClient.js","sourceRoot":"","sources":["../../src/mcp/mockMcpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockMcpClient.js","sourceRoot":"","sources":["../../src/mcp/mockMcpClient.ts"],"names":[],"mappings":"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"}