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
@@ -1 +1 @@
1
- {"version":3,"file":"throttleRetry.js","sourceRoot":"","sources":["../../../src/mcp/throttleRetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"throttleRetry.js","sourceRoot":"","sources":["../../../src/mcp/throttleRetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * toolList — every page of a server's `tools/list` answer, or a typed refusal
3
+ * that says the list is incomplete.
4
+ *
5
+ * Pattern: one bounded loop + one typed refusal.
6
+ * Role: MCP pages a tool list: a page carries `nextCursor` while the server
7
+ * has more, and the next page is asked for with `{ cursor }`. Reading
8
+ * only the first page cut a paginating server's catalogue short in
9
+ * silence — the agent saw part of it and nothing said so. This reads
10
+ * until the server sends no cursor, within a bound, and when it cannot
11
+ * finish the list it says why:
12
+ *
13
+ * - `'page-limit'` — the list did not end within {@link MAX_TOOL_LIST_PAGES}
14
+ * pages;
15
+ * - `'cursor-repeated'` — a page named a cursor this listing already sent, so
16
+ * following it would loop.
17
+ *
18
+ * The first page is asked exactly as before pagination was followed: no params
19
+ * (and, with no signal, no arguments at all). The client's signal rides every
20
+ * page in the SDK's trailing options, and it is checked immediately before each
21
+ * page is asked for and again when each answer arrives (`lib/abort.ts`): once
22
+ * it has fired, nothing more is asked for and no page is accepted, the last one
23
+ * included. An abort is the caller's word, so it wins over an incomplete list.
24
+ * What it cannot do is settle a page a connection that ignores the signal is
25
+ * still holding: that promise settles when the connection says.
26
+ *
27
+ * Every page request is counted from the moment it is sent until it settles
28
+ * (`listingGenerations.ts`): the MCP SDK's `Client` replaces its per-tool call
29
+ * checks with each answer, so a tool's checks depend on which answer is the
30
+ * latest (`callChecks.ts`).
31
+ */
32
+ import type { Tool } from '../tools/tools.js';
33
+ import type { ListingGenerations } from './listingGenerations.js';
34
+ import type { McpConnection, McpListedTool } from './types.js';
35
+ /**
36
+ * The most `tools/list` requests one listing sends. A bound on REQUESTS, not on
37
+ * the catalogue's size: a page may hold any number of tools. A server that
38
+ * keeps paging past it is reported as incomplete rather than read without end.
39
+ */
40
+ export declare const MAX_TOOL_LIST_PAGES = 100;
41
+ /** Why a server's tool list could not be read to its end. */
42
+ export type McpToolListIncompleteReason = 'page-limit' | 'cursor-repeated';
43
+ /** What a listing read: every tool its pages held, how many pages, and whether it ended. */
44
+ export interface ToolListing {
45
+ readonly tools: readonly McpListedTool[];
46
+ readonly pages: number;
47
+ /**
48
+ * For a list read in ONE answer, the generation that answer settled at: the
49
+ * MCP SDK's `Client` holds its tools' checks while it stays the latest
50
+ * (`listingGenerations.ts`). Absent for a paged list: no one answer holds all
51
+ * of its tools.
52
+ */
53
+ readonly generation?: number;
54
+ /** Absent when the server's list ended: the last page carried no cursor. */
55
+ readonly incomplete?: McpToolListIncompleteReason;
56
+ }
57
+ /**
58
+ * Read the server's tool list, page by page, until a page carries no cursor —
59
+ * or until it cannot be finished, which the result says (`incomplete`).
60
+ *
61
+ * @param listings the connection's count of list requests, which every page
62
+ * request joins (`listingGenerations.ts`)
63
+ * @throws the abort, when `signal` has fired before a page is asked for or by
64
+ * the time its answer arrives; and whatever the connection rejects a page
65
+ * with, as it always did
66
+ */
67
+ export declare function listEveryPage(connection: McpConnection, signal: AbortSignal | undefined, listings: ListingGenerations): Promise<ToolListing>;
68
+ /**
69
+ * A server's tool list that could not be read to its end. `tools()` and
70
+ * `refresh()` reject with it rather than return a list cut short: an agent
71
+ * handed part of a catalogue cannot know what it was not offered.
72
+ *
73
+ * `tools` holds what WAS listed — wrapped and callable, exactly as `tools()`
74
+ * would have returned them — for a caller that decides to use an incomplete
75
+ * list knowingly. Names the server, the reason and the count, never a cursor.
76
+ */
77
+ export declare class McpToolListIncompleteError extends Error {
78
+ readonly reason: McpToolListIncompleteReason;
79
+ readonly server: string;
80
+ /** The pages read before the listing stopped. */
81
+ readonly pages: number;
82
+ /** The tools those pages listed, in page order. */
83
+ readonly tools: readonly Tool[];
84
+ readonly code: "ERR_MCP_TOOL_LIST_INCOMPLETE";
85
+ constructor(reason: McpToolListIncompleteReason, server: string,
86
+ /** The pages read before the listing stopped. */
87
+ pages: number,
88
+ /** The tools those pages listed, in page order. */
89
+ tools: readonly Tool[]);
90
+ }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * toolList — every page of a server's `tools/list` answer, or a typed refusal
3
+ * that says the list is incomplete.
4
+ *
5
+ * Pattern: one bounded loop + one typed refusal.
6
+ * Role: MCP pages a tool list: a page carries `nextCursor` while the server
7
+ * has more, and the next page is asked for with `{ cursor }`. Reading
8
+ * only the first page cut a paginating server's catalogue short in
9
+ * silence — the agent saw part of it and nothing said so. This reads
10
+ * until the server sends no cursor, within a bound, and when it cannot
11
+ * finish the list it says why:
12
+ *
13
+ * - `'page-limit'` — the list did not end within {@link MAX_TOOL_LIST_PAGES}
14
+ * pages;
15
+ * - `'cursor-repeated'` — a page named a cursor this listing already sent, so
16
+ * following it would loop.
17
+ *
18
+ * The first page is asked exactly as before pagination was followed: no params
19
+ * (and, with no signal, no arguments at all). The client's signal rides every
20
+ * page in the SDK's trailing options, and it is checked immediately before each
21
+ * page is asked for and again when each answer arrives (`lib/abort.ts`): once
22
+ * it has fired, nothing more is asked for and no page is accepted, the last one
23
+ * included. An abort is the caller's word, so it wins over an incomplete list.
24
+ * What it cannot do is settle a page a connection that ignores the signal is
25
+ * still holding: that promise settles when the connection says.
26
+ *
27
+ * Every page request is counted from the moment it is sent until it settles
28
+ * (`listingGenerations.ts`): the MCP SDK's `Client` replaces its per-tool call
29
+ * checks with each answer, so a tool's checks depend on which answer is the
30
+ * latest (`callChecks.ts`).
31
+ */
32
+ import { throwIfAborted } from '../lib/abort.js';
33
+ /**
34
+ * The most `tools/list` requests one listing sends. A bound on REQUESTS, not on
35
+ * the catalogue's size: a page may hold any number of tools. A server that
36
+ * keeps paging past it is reported as incomplete rather than read without end.
37
+ */
38
+ export const MAX_TOOL_LIST_PAGES = 100;
39
+ /**
40
+ * Read the server's tool list, page by page, until a page carries no cursor —
41
+ * or until it cannot be finished, which the result says (`incomplete`).
42
+ *
43
+ * @param listings the connection's count of list requests, which every page
44
+ * request joins (`listingGenerations.ts`)
45
+ * @throws the abort, when `signal` has fired before a page is asked for or by
46
+ * the time its answer arrives; and whatever the connection rejects a page
47
+ * with, as it always did
48
+ */
49
+ export async function listEveryPage(connection, signal, listings) {
50
+ const tools = [];
51
+ const sent = new Set();
52
+ let cursor;
53
+ for (let pages = 1;; pages++) {
54
+ // Immediately before EVERY request, the first included: an aborted listing
55
+ // asks for nothing more (`lib/abort.ts`).
56
+ throwIfAborted(signal);
57
+ const { answer: page, generation } = await listings.ask(() => askPage(connection, cursor, signal));
58
+ // And after EVERY answer, before it is accepted: a page that lands after
59
+ // the abort — the last page too — is never part of a listing, so nothing
60
+ // incomplete is returned and nothing complete is cached.
61
+ throwIfAborted(signal);
62
+ // One push per tool: spreading a very large page into `push` can overflow the stack.
63
+ for (const tool of page.tools)
64
+ tools.push(tool);
65
+ const next = page.nextCursor;
66
+ if (next === undefined || next === null) {
67
+ return pages === 1 ? { tools, pages, generation } : { tools, pages };
68
+ }
69
+ if (sent.has(next))
70
+ return { tools, pages, incomplete: 'cursor-repeated' };
71
+ if (pages >= MAX_TOOL_LIST_PAGES)
72
+ return { tools, pages, incomplete: 'page-limit' };
73
+ sent.add(next);
74
+ cursor = next;
75
+ }
76
+ }
77
+ /**
78
+ * One page. The first carries no params — with no signal, no arguments at all —
79
+ * which is the request a one-page server always got; a later page carries
80
+ * `{ cursor }`. The signal rides the trailing options, never the params.
81
+ */
82
+ function askPage(connection, cursor, signal) {
83
+ const params = cursor === undefined ? undefined : { cursor };
84
+ if (signal !== undefined)
85
+ return connection.listTools(params, { signal });
86
+ return params === undefined ? connection.listTools() : connection.listTools(params);
87
+ }
88
+ /** The fixed sentence each reason reads as. Never a cursor: that is the server's data. */
89
+ const BECAUSE = {
90
+ 'page-limit': (pages) => `the list did not end within ${pages} pages`,
91
+ 'cursor-repeated': (pages) => `page ${pages} named a cursor this listing had already sent, so following it would loop`,
92
+ };
93
+ /**
94
+ * A server's tool list that could not be read to its end. `tools()` and
95
+ * `refresh()` reject with it rather than return a list cut short: an agent
96
+ * handed part of a catalogue cannot know what it was not offered.
97
+ *
98
+ * `tools` holds what WAS listed — wrapped and callable, exactly as `tools()`
99
+ * would have returned them — for a caller that decides to use an incomplete
100
+ * list knowingly. Names the server, the reason and the count, never a cursor.
101
+ */
102
+ export class McpToolListIncompleteError extends Error {
103
+ reason;
104
+ server;
105
+ pages;
106
+ tools;
107
+ code = 'ERR_MCP_TOOL_LIST_INCOMPLETE';
108
+ constructor(reason, server,
109
+ /** The pages read before the listing stopped. */
110
+ pages,
111
+ /** The tools those pages listed, in page order. */
112
+ tools) {
113
+ super(`mcpClient[${server}]: the server's tool list is incomplete — ${BECAUSE[reason](pages)}. ` +
114
+ `No tools were returned; the ${tools.length} listed before it stopped are on this ` +
115
+ "error's `tools`, for a caller that chooses to use an incomplete list.");
116
+ this.reason = reason;
117
+ this.server = server;
118
+ this.pages = pages;
119
+ this.tools = tools;
120
+ this.name = 'McpToolListIncompleteError';
121
+ }
122
+ }
123
+ //# sourceMappingURL=toolList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolList.js","sourceRoot":"","sources":["../../../src/mcp/toolList.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,25 @@ export interface McpHttpTransport {
93
93
  * reads, stores, logs or records the headers your function produces.
94
94
  */
95
95
  readonly fetch?: (input: string | URL, init?: RequestInit) => Promise<Response>;
96
+ /**
97
+ * What a library-built transport keeps inside its `fetch`, stated as data:
98
+ * the settings that decide where a request lands and as whom, which no one can
99
+ * read back out of a function. `agentCoreRuntimeMcpTransport` fills it (its
100
+ * auth strategy, its session strategy, the bearer service, scopes and
101
+ * credential provider id). `mcpClientPool` compares it, with the URL and the
102
+ * header names, to decide whether two conversations open the same
103
+ * configuration (`McpClientPoolOptions.definitions`).
104
+ *
105
+ * Never a secret: names and modes only. A transport you write by hand may
106
+ * leave it out; your `configuration` name then covers what your `fetch` does.
107
+ */
108
+ readonly settings?: McpTransportSettings;
96
109
  }
110
+ /**
111
+ * The comparable settings of a transport — plain names and modes, never a
112
+ * credential. See {@link McpHttpTransport.settings}.
113
+ */
114
+ export type McpTransportSettings = Readonly<Record<string, string | readonly string[]>>;
97
115
  /**
98
116
  * `gateway` transport — MCP over Streamable HTTP, with the auth headers vended
99
117
  * **per request** by a {@link CredentialProvider} instead of fixed at connect
@@ -307,6 +325,25 @@ export interface McpClientOptions {
307
325
  * @see McpSdk for the two static imports that produce it.
308
326
  */
309
327
  readonly sdk?: McpSdk;
328
+ /**
329
+ * The JSON Schema validator a tool's `outputSchema` is checked with — the MCP
330
+ * SDK's own validator interface (`new AjvJsonSchemaValidator()` from
331
+ * `@modelcontextprotocol/sdk/validation/ajv`, `new CfWorkerJsonSchemaValidator()`,
332
+ * or your own).
333
+ *
334
+ * Why it exists: the SDK's `Client` checks a tool's output only for the tools
335
+ * of its most recent `tools/list` answer, so every tool the library hands out
336
+ * carries its own checks, and runs them whenever the SDK no longer holds its
337
+ * list: a paged list, a list a later answer replaced, a call made while a list
338
+ * is read — of the lists `tools()` and `refresh()` read (see
339
+ * `McpClient.tools()`; the client the library builds here never lists by
340
+ * itself). The client the library builds is handed this same validator, so
341
+ * one validator checks every call. Omit it and the library uses the SDK's
342
+ * default, loaded with the SDK itself; with `sdk`, where the library never
343
+ * touches its Node loader, such a call to a tool that declares an
344
+ * `outputSchema` is refused (`McpOutputUncheckedError`) unless you pass one.
345
+ */
346
+ readonly jsonSchemaValidator?: McpJsonSchemaValidator;
310
347
  /** @see McpConnectionOptions — never set on this arm. */
311
348
  readonly connection?: undefined;
312
349
  /**
@@ -346,10 +383,37 @@ export interface McpConnectionOptions {
346
383
  /**
347
384
  * A connection you already opened. The library never calls `connect()` on it;
348
385
  * `close()` on the returned client closes it exactly once.
386
+ *
387
+ * Leave its tool discovery to `mcpClient`: the per-tool checks hold only for
388
+ * the lists `tools()` and `refresh()` read (see `McpClient.tools()`). Do not
389
+ * let the SDK client refresh itself (`listChanged.tools` with `autoRefresh`,
390
+ * which is on by default once `listChanged.tools` is given): set
391
+ * `autoRefresh: false` and call `refresh()` from `onChanged`, or give
392
+ * `mcpClient` a connection of its own. A connection of its own still needs
393
+ * the SDK's automatic discovery off: no `listChanged.tools`, or
394
+ * `autoRefresh: false` on it.
349
395
  */
350
396
  readonly connection: McpConnection;
351
397
  /** Abort the list / call paths. Rides the SDK's request options. */
352
398
  readonly signal?: AbortSignal;
399
+ /**
400
+ * The JSON Schema validator your client checks tool output with — pass the
401
+ * SAME one you gave its constructor (`jsonSchemaValidator`), or the SDK's
402
+ * default, `new AjvJsonSchemaValidator()`.
403
+ *
404
+ * The SDK's `Client` checks a tool's output only for the tools of its most
405
+ * recent `tools/list` answer, so the library checks a tool itself, with this,
406
+ * whenever the SDK no longer holds its list: a paged list, a list a later
407
+ * answer replaced, a call made while a list is read. Without it, such a call
408
+ * to a tool that declares an `outputSchema` is refused
409
+ * (`McpOutputUncheckedError`); a one-page catalogue that is still the latest
410
+ * answer never needs it. It covers only the lists `tools()` and `refresh()`
411
+ * read: when the SDK client's cache is replaced some other way (its own
412
+ * automatic refresh, a `listTools` call of yours), the library still leaves
413
+ * the call to the SDK, and this validator is never asked (see
414
+ * `McpClient.tools()`).
415
+ */
416
+ readonly jsonSchemaValidator?: McpJsonSchemaValidator;
353
417
  /** @see McpClientOptions — never set on this arm. */
354
418
  readonly transport?: undefined;
355
419
  /** @see McpClientOptions — never set on this arm. */
@@ -376,16 +440,114 @@ export interface McpClient {
376
440
  * after `mcpClient(...)` is the snapshot used to register on the
377
441
  * agent; subsequent calls re-fetch (cheap, in-memory cached by the
378
442
  * SDK between fetches).
443
+ *
444
+ * Every page of the server's `tools/list` answer is read: the client
445
+ * follows `nextCursor` until a page carries none, sending at most 100
446
+ * `tools/list` requests (a bound on requests, not on the catalogue's size).
447
+ * A list that does not end within them, or that names a cursor it already
448
+ * sent (a loop), is never returned cut short: the call rejects with
449
+ * `McpToolListIncompleteError`, whose `reason` says which and whose `tools`
450
+ * holds what was listed. `signal` rides every page and is checked before
451
+ * each page is asked for and when each answer arrives: once it has fired,
452
+ * nothing more is asked for and no page is accepted.
453
+ *
454
+ * Every tool keeps its checks, whatever `tools()` and `refresh()` list later —
455
+ * those of any `mcpClient` over the same client included. That holds only
456
+ * while all tool discovery on the client runs through them; see below. The
457
+ * SDK's `Client` checks a tool's call (a required task refused before
458
+ * sending; `structuredContent` required by an `outputSchema`, and matched
459
+ * against it) only for the tools of its most recent `tools/list` answer, so
460
+ * every tool returned here carries those checks itself. They are left to the
461
+ * SDK only for a tool of a one-page list whose answer is still the latest,
462
+ * with no list request out. Every other call runs the tool's own and fails
463
+ * with the same error: a paged list's tools, a tool held across a later
464
+ * `refresh()` (failed or not), a call made while a list is read. Where no JSON
465
+ * Schema validator is reachable (`jsonSchemaValidator` on the `sdk` and
466
+ * `connection` arms), such a call to a tool that declares an `outputSchema` is
467
+ * refused with `McpOutputUncheckedError`: before it is sent, or, when a list
468
+ * was read while it was out, once its answer is in, unread.
469
+ *
470
+ * What it does not cover: a listing the library does not send. Your own
471
+ * `listTools` calls, the SDK client's automatic discovery (`listChanged.tools`
472
+ * with `autoRefresh`, on by default once `listChanged.tools` is given), or any
473
+ * other replacement of the SDK client's cache leave a tool handed out here
474
+ * believing the SDK still holds its checks — so a call to it can bypass both
475
+ * checks, its output checks and its required-task refusal, even with
476
+ * `jsonSchemaValidator`. The client the library builds (the `transport` and
477
+ * `sdk` arms) never lists by itself; on a client you pass as `connection`,
478
+ * set `autoRefresh: false` and call `refresh()` from `onChanged`, or give
479
+ * `mcpClient` a connection of its own, which still needs the SDK's automatic
480
+ * discovery off (no `listChanged.tools`, or `autoRefresh: false` on it).
379
481
  */
380
482
  tools(): Promise<readonly Tool[]>;
381
483
  /**
382
484
  * Force a refresh from the server. Use when you suspect the server
383
485
  * has dynamically added/removed tools mid-session (e.g., after the
384
- * server processes a config update).
486
+ * server processes a config update). Reads every page, as `tools()` does.
487
+ * When it fails it rejects, and `tools()` keeps serving the catalogue it
488
+ * had: those tools keep their own checks (see `tools()`). Route the server's
489
+ * list-changed notice here, rather than letting the SDK client refresh
490
+ * itself: a listing the library does not send is not covered.
385
491
  */
386
492
  refresh(): Promise<readonly Tool[]>;
387
- /** Close the underlying transport. After `close()` the client is unusable. */
493
+ /**
494
+ * Close the underlying transport. After `close()` the client is unusable.
495
+ *
496
+ * `close()` does not end the remote session; `terminate()` does, and says
497
+ * whether it did.
498
+ */
388
499
  close(): Promise<void>;
500
+ /**
501
+ * End the remote session, then close locally, whatever happened — and say
502
+ * what the remote side answered (`McpTerminateOutcome`).
503
+ *
504
+ * Optional: a capability, not a required member, so a hand-written
505
+ * `McpClient` keeps compiling. Ask {@link canTerminate} before calling it.
506
+ * `mcpClient()` and `mockMcpClient()` provide it.
507
+ *
508
+ * It sends the transport's own session termination (Streamable HTTP: a
509
+ * `DELETE` carrying `Mcp-Session-Id`) and reads the status itself, because
510
+ * the MCP SDK treats a 405 as success. The wait is bounded: after
511
+ * `TOOL_TEARDOWN_TIMEOUT_MS` (5 s) the request is aborted and the outcome is
512
+ * `'timed-out'`. Ends the client at most once: a second call answers the
513
+ * first outcome. Never throws for a remote failure; the outcome says it.
514
+ *
515
+ * @throws when called after `close()`, like every other method
516
+ */
517
+ terminate?(): Promise<McpTerminateOutcome>;
518
+ }
519
+ /**
520
+ * What ending a client's remote session came to — `McpClient.terminate()`.
521
+ *
522
+ * `resolved` is true only when the remote side is known not to hold the session
523
+ * any more: `'terminated'`, `'already-gone'`, `'no-session'`. Every other
524
+ * outcome leaves the remote session to its own timeout, which nothing in this
525
+ * process can shorten. Local settlement and remote resolution are different
526
+ * facts: an ending can settle here and stay unresolved there.
527
+ */
528
+ export interface McpTerminateOutcome {
529
+ /**
530
+ * - `'terminated'` — 2xx: the remote side ended the session it held.
531
+ * - `'already-gone'` — 404: it no longer held it.
532
+ * - `'no-session'` — nothing to end: no session id was ever issued (a
533
+ * `'per-call'` runtime transport, a server that issues none, stdio, the mock).
534
+ * - `'not-offered'` — 405: the server does not end sessions on request.
535
+ * - `'failed'` — the request failed (another status, or no answer).
536
+ * - `'timed-out'` — the local wait ended first, and the request was aborted.
537
+ * - `'handle-lost'` — this process no longer holds the session's handle, so
538
+ * nothing could be sent (`LocalSessionHandleLostError`).
539
+ * - `'unavailable'` — a client built on `connection`: the library did not
540
+ * build its transport, so it cannot end the session.
541
+ */
542
+ readonly remote: 'terminated' | 'already-gone' | 'no-session' | 'not-offered' | 'failed' | 'timed-out' | 'handle-lost' | 'unavailable';
543
+ /** True only for `'terminated'`, `'already-gone'` and `'no-session'`. */
544
+ readonly resolved: boolean;
545
+ /** The HTTP status the remote side answered with, when one was read. */
546
+ readonly status?: number;
547
+ /** A failure's class name — never its message. */
548
+ readonly errorClass?: string;
549
+ /** How long the ending took, as the caller waited for it. */
550
+ readonly durationMs: number;
389
551
  }
390
552
  /**
391
553
  * A live MCP connection you opened and connected yourself.
@@ -412,8 +574,17 @@ export interface McpClient {
412
574
  * convenience version of it.
413
575
  */
414
576
  export interface McpConnection {
415
- listTools(params?: undefined, options?: McpRequestOptions): Promise<{
577
+ /**
578
+ * One page of the server's tool list. The first page is asked with no params;
579
+ * each later page with the `nextCursor` the page before it returned, as
580
+ * `{ cursor }`. A connection that never pages returns no `nextCursor`.
581
+ */
582
+ listTools(params?: {
583
+ readonly cursor?: string;
584
+ }, options?: McpRequestOptions): Promise<{
416
585
  readonly tools: ReadonlyArray<McpListedTool>;
586
+ /** Present while the server has more tools: what to ask for the next page with. */
587
+ readonly nextCursor?: string;
417
588
  }>;
418
589
  callTool(params: {
419
590
  readonly name: string;
@@ -510,6 +681,29 @@ export interface McpListedTool {
510
681
  readonly inputSchema: Readonly<Record<string, unknown>>;
511
682
  /** MCP's extensibility bag. Absent from most servers' tools. */
512
683
  readonly _meta?: Readonly<Record<string, unknown>>;
684
+ /**
685
+ * What the tool's `structuredContent` must match. Read for the one reason the
686
+ * SDK's `Client` reads it: a tool that declares one must answer with
687
+ * matching `structuredContent` (see `McpClient.tools()` for a paged list).
688
+ */
689
+ readonly outputSchema?: Readonly<Record<string, unknown>>;
690
+ /** How the tool may run: `taskSupport: 'required'` means only as a task, never a plain `tools/call`. */
691
+ readonly execution?: {
692
+ readonly taskSupport?: string;
693
+ };
694
+ }
695
+ /**
696
+ * A JSON Schema validator, as the MCP SDK's `Client` takes one
697
+ * (`jsonSchemaValidator`): `getValidator(schema)` compiles a schema once and
698
+ * returns a function that checks one value against it. Typed STRUCTURALLY so
699
+ * this declaration never references the optional peer; the SDK's own
700
+ * `AjvJsonSchemaValidator` and `CfWorkerJsonSchemaValidator` satisfy it.
701
+ */
702
+ export interface McpJsonSchemaValidator {
703
+ getValidator(schema: object): (input: unknown) => {
704
+ readonly valid: boolean;
705
+ readonly errorMessage?: string;
706
+ };
513
707
  }
514
708
  /**
515
709
  * What `tools/call` can answer with — **a union, because the protocol is one.**