agentfootprint 10.4.0 → 10.5.1

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 (521) hide show
  1. package/CAPABILITIES.md +6 -1
  2. package/ai-instructions/clinerules +22 -11
  3. package/ai-instructions/copilot-instructions.md +22 -11
  4. package/ai-instructions/cursor/agentfootprint.md +22 -11
  5. package/ai-instructions/kiro/agentfootprint.md +22 -11
  6. package/ai-instructions/windsurfrules +22 -11
  7. package/dist/adapters/llm/AnthropicProvider.js +26 -8
  8. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  9. package/dist/adapters/llm/BedrockProvider.js +23 -7
  10. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  11. package/dist/adapters/llm/BrowserAnthropicProvider.js +58 -49
  12. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  13. package/dist/adapters/llm/BrowserOpenAIProvider.js +51 -42
  14. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  15. package/dist/adapters/llm/FoundryLocalProvider.js +177 -212
  16. package/dist/adapters/llm/FoundryLocalProvider.js.map +1 -1
  17. package/dist/adapters/llm/GeminiProvider.js +23 -9
  18. package/dist/adapters/llm/GeminiProvider.js.map +1 -1
  19. package/dist/adapters/llm/InvokeModelGatewayProvider.js +49 -10
  20. package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  21. package/dist/adapters/llm/MockProvider.js +11 -3
  22. package/dist/adapters/llm/MockProvider.js.map +1 -1
  23. package/dist/adapters/llm/OllamaProvider.js +134 -167
  24. package/dist/adapters/llm/OllamaProvider.js.map +1 -1
  25. package/dist/adapters/llm/OpenAIProvider.js +36 -9
  26. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  27. package/dist/adapters/mcp/agentcoreRuntime/invoke.js +15 -8
  28. package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  29. package/dist/adapters/mcp/agentcoreRuntime/transport.js +21 -3
  30. package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  31. package/dist/ag-ui/adapter.js +69 -14
  32. package/dist/ag-ui/adapter.js.map +1 -1
  33. package/dist/ag-ui/framing.js +3 -1
  34. package/dist/ag-ui/framing.js.map +1 -1
  35. package/dist/ag-ui/index.js +4 -2
  36. package/dist/ag-ui/index.js.map +1 -1
  37. package/dist/ag-ui/request.js +66 -6
  38. package/dist/ag-ui/request.js.map +1 -1
  39. package/dist/answer-validation/index.js +8 -1
  40. package/dist/answer-validation/index.js.map +1 -1
  41. package/dist/answer-validation/toolLedger.js +130 -0
  42. package/dist/answer-validation/toolLedger.js.map +1 -0
  43. package/dist/answer-validation/types.js.map +1 -1
  44. package/dist/answer-validation/validate.js +25 -3
  45. package/dist/answer-validation/validate.js.map +1 -1
  46. package/dist/classify/typesafe.js +31 -23
  47. package/dist/classify/typesafe.js.map +1 -1
  48. package/dist/core/Agent.js +69 -16
  49. package/dist/core/Agent.js.map +1 -1
  50. package/dist/core/LLMCall.js +16 -6
  51. package/dist/core/LLMCall.js.map +1 -1
  52. package/dist/core/RunnerBase.js +83 -11
  53. package/dist/core/RunnerBase.js.map +1 -1
  54. package/dist/core/agent/buildAgentChart.js +16 -8
  55. package/dist/core/agent/buildAgentChart.js.map +1 -1
  56. package/dist/core/agent/buildAgentMessageApiChart.js +22 -2
  57. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  58. package/dist/core/agent/buildDynamicAgentChart.js +22 -7
  59. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  60. package/dist/core/agent/buildMessageApiChart.js +22 -2
  61. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  62. package/dist/core/agent/stages/answerValidation.js +22 -1
  63. package/dist/core/agent/stages/answerValidation.js.map +1 -1
  64. package/dist/core/agent/stages/callLLM.js +19 -3
  65. package/dist/core/agent/stages/callLLM.js.map +1 -1
  66. package/dist/core/agent/stages/routeTurn.js +14 -1
  67. package/dist/core/agent/stages/routeTurn.js.map +1 -1
  68. package/dist/core/agent/stages/seed.js +9 -0
  69. package/dist/core/agent/stages/seed.js.map +1 -1
  70. package/dist/core/agent/stages/toolCalls.js +59 -20
  71. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  72. package/dist/core/agent/window/strategies/summarizeOldest.js +4 -0
  73. package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  74. package/dist/core/agent/window/summarize.js +6 -3
  75. package/dist/core/agent/window/summarize.js.map +1 -1
  76. package/dist/core/memberRun.js +58 -9
  77. package/dist/core/memberRun.js.map +1 -1
  78. package/dist/core/requestOfRun.js +28 -0
  79. package/dist/core/requestOfRun.js.map +1 -0
  80. package/dist/core/slots/buildToolsSlot.js +11 -25
  81. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  82. package/dist/core-flow/Conditional.js +17 -11
  83. package/dist/core-flow/Conditional.js.map +1 -1
  84. package/dist/core-flow/Graph.js +17 -11
  85. package/dist/core-flow/Graph.js.map +1 -1
  86. package/dist/core-flow/Loop.js +17 -11
  87. package/dist/core-flow/Loop.js.map +1 -1
  88. package/dist/core-flow/Parallel.js +25 -14
  89. package/dist/core-flow/Parallel.js.map +1 -1
  90. package/dist/core-flow/Sequence.js +17 -11
  91. package/dist/core-flow/Sequence.js.map +1 -1
  92. package/dist/core-flow/Workflow.js +17 -11
  93. package/dist/core-flow/Workflow.js.map +1 -1
  94. package/dist/doors/security.js +2 -1
  95. package/dist/doors/security.js.map +1 -1
  96. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +9 -2
  97. package/dist/esm/adapters/llm/AnthropicProvider.js +26 -8
  98. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  99. package/dist/esm/adapters/llm/BedrockProvider.d.ts +6 -1
  100. package/dist/esm/adapters/llm/BedrockProvider.js +23 -7
  101. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  102. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +58 -49
  103. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  104. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +51 -42
  105. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  106. package/dist/esm/adapters/llm/FoundryLocalProvider.js +174 -209
  107. package/dist/esm/adapters/llm/FoundryLocalProvider.js.map +1 -1
  108. package/dist/esm/adapters/llm/GeminiProvider.js +23 -9
  109. package/dist/esm/adapters/llm/GeminiProvider.js.map +1 -1
  110. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +3 -2
  111. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +49 -10
  112. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  113. package/dist/esm/adapters/llm/MockProvider.js +11 -3
  114. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  115. package/dist/esm/adapters/llm/OllamaProvider.js +131 -164
  116. package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -1
  117. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +6 -1
  118. package/dist/esm/adapters/llm/OpenAIProvider.js +36 -9
  119. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  120. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +1 -1
  121. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +15 -8
  122. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  123. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +26 -3
  124. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +21 -3
  125. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  126. package/dist/esm/ag-ui/adapter.d.ts +61 -11
  127. package/dist/esm/ag-ui/adapter.js +70 -15
  128. package/dist/esm/ag-ui/adapter.js.map +1 -1
  129. package/dist/esm/ag-ui/framing.d.ts +2 -1
  130. package/dist/esm/ag-ui/framing.js +3 -1
  131. package/dist/esm/ag-ui/framing.js.map +1 -1
  132. package/dist/esm/ag-ui/index.d.ts +6 -4
  133. package/dist/esm/ag-ui/index.js +6 -4
  134. package/dist/esm/ag-ui/index.js.map +1 -1
  135. package/dist/esm/ag-ui/request.d.ts +86 -7
  136. package/dist/esm/ag-ui/request.js +63 -5
  137. package/dist/esm/ag-ui/request.js.map +1 -1
  138. package/dist/esm/answer-validation/index.d.ts +2 -1
  139. package/dist/esm/answer-validation/index.js +1 -0
  140. package/dist/esm/answer-validation/index.js.map +1 -1
  141. package/dist/esm/answer-validation/toolLedger.d.ts +65 -0
  142. package/dist/esm/answer-validation/toolLedger.js +121 -0
  143. package/dist/esm/answer-validation/toolLedger.js.map +1 -0
  144. package/dist/esm/answer-validation/types.d.ts +48 -0
  145. package/dist/esm/answer-validation/types.js.map +1 -1
  146. package/dist/esm/answer-validation/validate.d.ts +2 -2
  147. package/dist/esm/answer-validation/validate.js +25 -3
  148. package/dist/esm/answer-validation/validate.js.map +1 -1
  149. package/dist/esm/classify/typesafe.js +30 -22
  150. package/dist/esm/classify/typesafe.js.map +1 -1
  151. package/dist/esm/core/Agent.d.ts +9 -1
  152. package/dist/esm/core/Agent.js +71 -18
  153. package/dist/esm/core/Agent.js.map +1 -1
  154. package/dist/esm/core/LLMCall.d.ts +2 -1
  155. package/dist/esm/core/LLMCall.js +17 -7
  156. package/dist/esm/core/LLMCall.js.map +1 -1
  157. package/dist/esm/core/RunnerBase.d.ts +39 -8
  158. package/dist/esm/core/RunnerBase.js +80 -9
  159. package/dist/esm/core/RunnerBase.js.map +1 -1
  160. package/dist/esm/core/agent/buildAgentChart.js +16 -8
  161. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  162. package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +16 -0
  163. package/dist/esm/core/agent/buildAgentMessageApiChart.js +22 -2
  164. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  165. package/dist/esm/core/agent/buildDynamicAgentChart.js +22 -7
  166. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  167. package/dist/esm/core/agent/buildMessageApiChart.d.ts +16 -0
  168. package/dist/esm/core/agent/buildMessageApiChart.js +22 -2
  169. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  170. package/dist/esm/core/agent/stages/answerValidation.js +22 -1
  171. package/dist/esm/core/agent/stages/answerValidation.js.map +1 -1
  172. package/dist/esm/core/agent/stages/callLLM.js +19 -3
  173. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  174. package/dist/esm/core/agent/stages/routeTurn.js +14 -1
  175. package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
  176. package/dist/esm/core/agent/stages/seed.d.ts +7 -0
  177. package/dist/esm/core/agent/stages/seed.js +9 -0
  178. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  179. package/dist/esm/core/agent/stages/toolCalls.d.ts +21 -0
  180. package/dist/esm/core/agent/stages/toolCalls.js +59 -20
  181. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  182. package/dist/esm/core/agent/types.d.ts +10 -0
  183. package/dist/esm/core/agent/window/strategies/summarizeOldest.js +4 -0
  184. package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  185. package/dist/esm/core/agent/window/summarize.js +6 -3
  186. package/dist/esm/core/agent/window/summarize.js.map +1 -1
  187. package/dist/esm/core/memberRun.d.ts +23 -2
  188. package/dist/esm/core/memberRun.js +54 -8
  189. package/dist/esm/core/memberRun.js.map +1 -1
  190. package/dist/esm/core/requestOfRun.d.ts +21 -0
  191. package/dist/esm/core/requestOfRun.js +24 -0
  192. package/dist/esm/core/requestOfRun.js.map +1 -0
  193. package/dist/esm/core/runner.d.ts +15 -3
  194. package/dist/esm/core/slots/buildToolsSlot.d.ts +0 -16
  195. package/dist/esm/core/slots/buildToolsSlot.js +11 -25
  196. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  197. package/dist/esm/core-flow/Conditional.d.ts +2 -1
  198. package/dist/esm/core-flow/Conditional.js +18 -12
  199. package/dist/esm/core-flow/Conditional.js.map +1 -1
  200. package/dist/esm/core-flow/Graph.d.ts +2 -1
  201. package/dist/esm/core-flow/Graph.js +18 -12
  202. package/dist/esm/core-flow/Graph.js.map +1 -1
  203. package/dist/esm/core-flow/Loop.d.ts +2 -1
  204. package/dist/esm/core-flow/Loop.js +18 -12
  205. package/dist/esm/core-flow/Loop.js.map +1 -1
  206. package/dist/esm/core-flow/Parallel.d.ts +2 -1
  207. package/dist/esm/core-flow/Parallel.js +26 -15
  208. package/dist/esm/core-flow/Parallel.js.map +1 -1
  209. package/dist/esm/core-flow/Sequence.d.ts +2 -1
  210. package/dist/esm/core-flow/Sequence.js +18 -12
  211. package/dist/esm/core-flow/Sequence.js.map +1 -1
  212. package/dist/esm/core-flow/Workflow.d.ts +2 -1
  213. package/dist/esm/core-flow/Workflow.js +18 -12
  214. package/dist/esm/core-flow/Workflow.js.map +1 -1
  215. package/dist/esm/doors/security.d.ts +2 -1
  216. package/dist/esm/doors/security.js +2 -1
  217. package/dist/esm/doors/security.js.map +1 -1
  218. package/dist/esm/events/payloads.d.ts +4 -2
  219. package/dist/esm/hosting/index.d.ts +1 -0
  220. package/dist/esm/hosting/index.js.map +1 -1
  221. package/dist/esm/hosting/protocolAdapter.d.ts +4 -1
  222. package/dist/esm/hosting/refusalStatus.js +4 -0
  223. package/dist/esm/hosting/refusalStatus.js.map +1 -1
  224. package/dist/esm/hosting/requestSealing.d.ts +65 -0
  225. package/dist/esm/hosting/requestSealing.js +79 -0
  226. package/dist/esm/hosting/requestSealing.js.map +1 -0
  227. package/dist/esm/hosting/standingAgent.js +23 -3
  228. package/dist/esm/hosting/standingAgent.js.map +1 -1
  229. package/dist/esm/hosting/stream.d.ts +23 -2
  230. package/dist/esm/hosting/stream.js +5 -1
  231. package/dist/esm/hosting/stream.js.map +1 -1
  232. package/dist/esm/hosting/streamHandler.d.ts +26 -7
  233. package/dist/esm/hosting/streamHandler.js +36 -12
  234. package/dist/esm/hosting/streamHandler.js.map +1 -1
  235. package/dist/esm/hosting/types.d.ts +29 -0
  236. package/dist/esm/hosting/types.js.map +1 -1
  237. package/dist/esm/identity/requestContext.d.ts +96 -0
  238. package/dist/esm/identity/requestContext.js +131 -0
  239. package/dist/esm/identity/requestContext.js.map +1 -0
  240. package/dist/esm/identity/requestCredentials.d.ts +99 -0
  241. package/dist/esm/identity/requestCredentials.js +157 -0
  242. package/dist/esm/identity/requestCredentials.js.map +1 -0
  243. package/dist/esm/identity/types.d.ts +11 -0
  244. package/dist/esm/identity/types.js.map +1 -1
  245. package/dist/esm/identity.d.ts +2 -0
  246. package/dist/esm/identity.js +5 -0
  247. package/dist/esm/identity.js.map +1 -1
  248. package/dist/esm/index.d.ts +3 -2
  249. package/dist/esm/index.js +5 -1
  250. package/dist/esm/index.js.map +1 -1
  251. package/dist/esm/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
  252. package/dist/esm/injection-engine/buildInjectionEngineSubflow.js +39 -5
  253. package/dist/esm/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  254. package/dist/esm/injection-engine/constrainedEnumPick.js +4 -2
  255. package/dist/esm/injection-engine/constrainedEnumPick.js.map +1 -1
  256. package/dist/esm/injection-engine/evaluator.d.ts +6 -0
  257. package/dist/esm/injection-engine/evaluator.js +19 -1
  258. package/dist/esm/injection-engine/evaluator.js.map +1 -1
  259. package/dist/esm/injection-engine/skillGraph.js +26 -8
  260. package/dist/esm/injection-engine/skillGraph.js.map +1 -1
  261. package/dist/esm/injection-engine/skillIntent.d.ts +4 -2
  262. package/dist/esm/injection-engine/skillIntent.js +3 -0
  263. package/dist/esm/injection-engine/skillIntent.js.map +1 -1
  264. package/dist/esm/injection-engine/types.d.ts +27 -1
  265. package/dist/esm/injection-engine/types.js +15 -0
  266. package/dist/esm/injection-engine/types.js.map +1 -1
  267. package/dist/esm/lib/abort.d.ts +157 -0
  268. package/dist/esm/lib/abort.js +358 -0
  269. package/dist/esm/lib/abort.js.map +1 -0
  270. package/dist/esm/maps/engagement/parkCard.d.ts +5 -1
  271. package/dist/esm/maps/engagement/parkCard.js +10 -3
  272. package/dist/esm/maps/engagement/parkCard.js.map +1 -1
  273. package/dist/esm/mcp/mcpClient.js +30 -2
  274. package/dist/esm/mcp/mcpClient.js.map +1 -1
  275. package/dist/esm/mcp/mcpServe.js +5 -1
  276. package/dist/esm/mcp/mcpServe.js.map +1 -1
  277. package/dist/esm/mcp/plainData.d.ts +44 -0
  278. package/dist/esm/mcp/plainData.js +204 -0
  279. package/dist/esm/mcp/plainData.js.map +1 -0
  280. package/dist/esm/mcp/sdkLoadFailure.d.ts +6 -7
  281. package/dist/esm/mcp/sdkLoadFailure.js +4 -4
  282. package/dist/esm/mcp/sdkLoadFailure.js.map +1 -1
  283. package/dist/esm/mcp/toolResult.js +8 -50
  284. package/dist/esm/mcp/toolResult.js.map +1 -1
  285. package/dist/esm/mcp/types.d.ts +10 -6
  286. package/dist/esm/memory/beats/llmExtractor.js +6 -3
  287. package/dist/esm/memory/beats/llmExtractor.js.map +1 -1
  288. package/dist/esm/memory/facts/llmFactExtractor.js +6 -3
  289. package/dist/esm/memory/facts/llmFactExtractor.js.map +1 -1
  290. package/dist/esm/memory/stages/summarize.js +16 -5
  291. package/dist/esm/memory/stages/summarize.js.map +1 -1
  292. package/dist/esm/patterns/LlmRouter.js +10 -5
  293. package/dist/esm/patterns/LlmRouter.js.map +1 -1
  294. package/dist/esm/redaction/conversation.js +3 -0
  295. package/dist/esm/redaction/conversation.js.map +1 -1
  296. package/dist/esm/redaction/knownStrings.js +1 -0
  297. package/dist/esm/redaction/knownStrings.js.map +1 -1
  298. package/dist/esm/reliability/buildReliabilityGateChart.js +7 -1
  299. package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
  300. package/dist/esm/resilience/withCircuitBreaker.js +5 -2
  301. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  302. package/dist/esm/resilience/withFallback.js +6 -0
  303. package/dist/esm/resilience/withFallback.js.map +1 -1
  304. package/dist/esm/resilience/withRetry.js +5 -0
  305. package/dist/esm/resilience/withRetry.js.map +1 -1
  306. package/dist/esm/time-travel/servedView.js +1 -1
  307. package/dist/esm/time-travel/servedView.js.map +1 -1
  308. package/dist/esm/tools/hostFilled.d.ts +110 -0
  309. package/dist/esm/tools/hostFilled.js +509 -0
  310. package/dist/esm/tools/hostFilled.js.map +1 -0
  311. package/dist/hosting/index.js.map +1 -1
  312. package/dist/hosting/refusalStatus.js +4 -0
  313. package/dist/hosting/refusalStatus.js.map +1 -1
  314. package/dist/hosting/requestSealing.js +83 -0
  315. package/dist/hosting/requestSealing.js.map +1 -0
  316. package/dist/hosting/standingAgent.js +23 -3
  317. package/dist/hosting/standingAgent.js.map +1 -1
  318. package/dist/hosting/stream.js +5 -1
  319. package/dist/hosting/stream.js.map +1 -1
  320. package/dist/hosting/streamHandler.js +36 -12
  321. package/dist/hosting/streamHandler.js.map +1 -1
  322. package/dist/hosting/types.js.map +1 -1
  323. package/dist/identity/requestContext.js +139 -0
  324. package/dist/identity/requestContext.js.map +1 -0
  325. package/dist/identity/requestCredentials.js +165 -0
  326. package/dist/identity/requestCredentials.js.map +1 -0
  327. package/dist/identity/types.js.map +1 -1
  328. package/dist/identity.js +13 -1
  329. package/dist/identity.js.map +1 -1
  330. package/dist/index.js +15 -4
  331. package/dist/index.js.map +1 -1
  332. package/dist/injection-engine/buildInjectionEngineSubflow.js +38 -4
  333. package/dist/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  334. package/dist/injection-engine/constrainedEnumPick.js +4 -2
  335. package/dist/injection-engine/constrainedEnumPick.js.map +1 -1
  336. package/dist/injection-engine/evaluator.js +18 -0
  337. package/dist/injection-engine/evaluator.js.map +1 -1
  338. package/dist/injection-engine/skillGraph.js +25 -7
  339. package/dist/injection-engine/skillGraph.js.map +1 -1
  340. package/dist/injection-engine/skillIntent.js +3 -0
  341. package/dist/injection-engine/skillIntent.js.map +1 -1
  342. package/dist/injection-engine/types.js +17 -1
  343. package/dist/injection-engine/types.js.map +1 -1
  344. package/dist/lib/abort.js +372 -0
  345. package/dist/lib/abort.js.map +1 -0
  346. package/dist/maps/engagement/parkCard.js +10 -3
  347. package/dist/maps/engagement/parkCard.js.map +1 -1
  348. package/dist/mcp/mcpClient.js +30 -2
  349. package/dist/mcp/mcpClient.js.map +1 -1
  350. package/dist/mcp/mcpServe.js +5 -1
  351. package/dist/mcp/mcpServe.js.map +1 -1
  352. package/dist/mcp/plainData.js +208 -0
  353. package/dist/mcp/plainData.js.map +1 -0
  354. package/dist/mcp/sdkLoadFailure.js +4 -4
  355. package/dist/mcp/sdkLoadFailure.js.map +1 -1
  356. package/dist/mcp/toolResult.js +8 -50
  357. package/dist/mcp/toolResult.js.map +1 -1
  358. package/dist/memory/beats/llmExtractor.js +6 -3
  359. package/dist/memory/beats/llmExtractor.js.map +1 -1
  360. package/dist/memory/facts/llmFactExtractor.js +6 -3
  361. package/dist/memory/facts/llmFactExtractor.js.map +1 -1
  362. package/dist/memory/stages/summarize.js +16 -5
  363. package/dist/memory/stages/summarize.js.map +1 -1
  364. package/dist/patterns/LlmRouter.js +9 -4
  365. package/dist/patterns/LlmRouter.js.map +1 -1
  366. package/dist/redaction/conversation.js +3 -0
  367. package/dist/redaction/conversation.js.map +1 -1
  368. package/dist/redaction/knownStrings.js +1 -0
  369. package/dist/redaction/knownStrings.js.map +1 -1
  370. package/dist/reliability/buildReliabilityGateChart.js +7 -1
  371. package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
  372. package/dist/resilience/withCircuitBreaker.js +5 -2
  373. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  374. package/dist/resilience/withFallback.js +6 -0
  375. package/dist/resilience/withFallback.js.map +1 -1
  376. package/dist/resilience/withRetry.js +5 -0
  377. package/dist/resilience/withRetry.js.map +1 -1
  378. package/dist/time-travel/servedView.js +1 -1
  379. package/dist/time-travel/servedView.js.map +1 -1
  380. package/dist/tools/hostFilled.js +517 -0
  381. package/dist/tools/hostFilled.js.map +1 -0
  382. package/dist/types/adapters/llm/AnthropicProvider.d.ts +9 -2
  383. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  384. package/dist/types/adapters/llm/BedrockProvider.d.ts +6 -1
  385. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  386. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  387. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  388. package/dist/types/adapters/llm/FoundryLocalProvider.d.ts.map +1 -1
  389. package/dist/types/adapters/llm/GeminiProvider.d.ts.map +1 -1
  390. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +3 -2
  391. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
  392. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  393. package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -1
  394. package/dist/types/adapters/llm/OpenAIProvider.d.ts +6 -1
  395. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  396. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +1 -1
  397. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
  398. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +26 -3
  399. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  400. package/dist/types/ag-ui/adapter.d.ts +61 -11
  401. package/dist/types/ag-ui/adapter.d.ts.map +1 -1
  402. package/dist/types/ag-ui/framing.d.ts +2 -1
  403. package/dist/types/ag-ui/framing.d.ts.map +1 -1
  404. package/dist/types/ag-ui/index.d.ts +6 -4
  405. package/dist/types/ag-ui/index.d.ts.map +1 -1
  406. package/dist/types/ag-ui/request.d.ts +86 -7
  407. package/dist/types/ag-ui/request.d.ts.map +1 -1
  408. package/dist/types/answer-validation/index.d.ts +2 -1
  409. package/dist/types/answer-validation/index.d.ts.map +1 -1
  410. package/dist/types/answer-validation/toolLedger.d.ts +66 -0
  411. package/dist/types/answer-validation/toolLedger.d.ts.map +1 -0
  412. package/dist/types/answer-validation/types.d.ts +48 -0
  413. package/dist/types/answer-validation/types.d.ts.map +1 -1
  414. package/dist/types/answer-validation/validate.d.ts +2 -2
  415. package/dist/types/answer-validation/validate.d.ts.map +1 -1
  416. package/dist/types/classify/typesafe.d.ts.map +1 -1
  417. package/dist/types/core/Agent.d.ts +9 -1
  418. package/dist/types/core/Agent.d.ts.map +1 -1
  419. package/dist/types/core/LLMCall.d.ts +2 -1
  420. package/dist/types/core/LLMCall.d.ts.map +1 -1
  421. package/dist/types/core/RunnerBase.d.ts +39 -8
  422. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  423. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  424. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts +16 -0
  425. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  426. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  427. package/dist/types/core/agent/buildMessageApiChart.d.ts +16 -0
  428. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  429. package/dist/types/core/agent/stages/answerValidation.d.ts.map +1 -1
  430. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  431. package/dist/types/core/agent/stages/routeTurn.d.ts.map +1 -1
  432. package/dist/types/core/agent/stages/seed.d.ts +7 -0
  433. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  434. package/dist/types/core/agent/stages/toolCalls.d.ts +21 -0
  435. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  436. package/dist/types/core/agent/types.d.ts +10 -0
  437. package/dist/types/core/agent/types.d.ts.map +1 -1
  438. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
  439. package/dist/types/core/agent/window/summarize.d.ts.map +1 -1
  440. package/dist/types/core/memberRun.d.ts +23 -2
  441. package/dist/types/core/memberRun.d.ts.map +1 -1
  442. package/dist/types/core/requestOfRun.d.ts +22 -0
  443. package/dist/types/core/requestOfRun.d.ts.map +1 -0
  444. package/dist/types/core/runner.d.ts +15 -3
  445. package/dist/types/core/runner.d.ts.map +1 -1
  446. package/dist/types/core/slots/buildToolsSlot.d.ts +0 -16
  447. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  448. package/dist/types/core-flow/Conditional.d.ts +2 -1
  449. package/dist/types/core-flow/Conditional.d.ts.map +1 -1
  450. package/dist/types/core-flow/Graph.d.ts +2 -1
  451. package/dist/types/core-flow/Graph.d.ts.map +1 -1
  452. package/dist/types/core-flow/Loop.d.ts +2 -1
  453. package/dist/types/core-flow/Loop.d.ts.map +1 -1
  454. package/dist/types/core-flow/Parallel.d.ts +2 -1
  455. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  456. package/dist/types/core-flow/Sequence.d.ts +2 -1
  457. package/dist/types/core-flow/Sequence.d.ts.map +1 -1
  458. package/dist/types/core-flow/Workflow.d.ts +2 -1
  459. package/dist/types/core-flow/Workflow.d.ts.map +1 -1
  460. package/dist/types/doors/security.d.ts +2 -1
  461. package/dist/types/doors/security.d.ts.map +1 -1
  462. package/dist/types/events/payloads.d.ts +4 -2
  463. package/dist/types/events/payloads.d.ts.map +1 -1
  464. package/dist/types/hosting/index.d.ts +1 -0
  465. package/dist/types/hosting/index.d.ts.map +1 -1
  466. package/dist/types/hosting/protocolAdapter.d.ts +4 -1
  467. package/dist/types/hosting/protocolAdapter.d.ts.map +1 -1
  468. package/dist/types/hosting/refusalStatus.d.ts.map +1 -1
  469. package/dist/types/hosting/requestSealing.d.ts +66 -0
  470. package/dist/types/hosting/requestSealing.d.ts.map +1 -0
  471. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  472. package/dist/types/hosting/stream.d.ts +23 -2
  473. package/dist/types/hosting/stream.d.ts.map +1 -1
  474. package/dist/types/hosting/streamHandler.d.ts +26 -7
  475. package/dist/types/hosting/streamHandler.d.ts.map +1 -1
  476. package/dist/types/hosting/types.d.ts +29 -0
  477. package/dist/types/hosting/types.d.ts.map +1 -1
  478. package/dist/types/identity/requestContext.d.ts +97 -0
  479. package/dist/types/identity/requestContext.d.ts.map +1 -0
  480. package/dist/types/identity/requestCredentials.d.ts +100 -0
  481. package/dist/types/identity/requestCredentials.d.ts.map +1 -0
  482. package/dist/types/identity/types.d.ts +11 -0
  483. package/dist/types/identity/types.d.ts.map +1 -1
  484. package/dist/types/identity.d.ts +2 -0
  485. package/dist/types/identity.d.ts.map +1 -1
  486. package/dist/types/index.d.ts +3 -2
  487. package/dist/types/index.d.ts.map +1 -1
  488. package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
  489. package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
  490. package/dist/types/injection-engine/constrainedEnumPick.d.ts.map +1 -1
  491. package/dist/types/injection-engine/evaluator.d.ts +6 -0
  492. package/dist/types/injection-engine/evaluator.d.ts.map +1 -1
  493. package/dist/types/injection-engine/skillIntent.d.ts +4 -2
  494. package/dist/types/injection-engine/skillIntent.d.ts.map +1 -1
  495. package/dist/types/injection-engine/types.d.ts +27 -1
  496. package/dist/types/injection-engine/types.d.ts.map +1 -1
  497. package/dist/types/lib/abort.d.ts +158 -0
  498. package/dist/types/lib/abort.d.ts.map +1 -0
  499. package/dist/types/maps/engagement/parkCard.d.ts +5 -1
  500. package/dist/types/maps/engagement/parkCard.d.ts.map +1 -1
  501. package/dist/types/mcp/mcpServe.d.ts.map +1 -1
  502. package/dist/types/mcp/plainData.d.ts +45 -0
  503. package/dist/types/mcp/plainData.d.ts.map +1 -0
  504. package/dist/types/mcp/sdkLoadFailure.d.ts +6 -7
  505. package/dist/types/mcp/sdkLoadFailure.d.ts.map +1 -1
  506. package/dist/types/mcp/toolResult.d.ts.map +1 -1
  507. package/dist/types/mcp/types.d.ts +10 -6
  508. package/dist/types/mcp/types.d.ts.map +1 -1
  509. package/dist/types/memory/beats/llmExtractor.d.ts.map +1 -1
  510. package/dist/types/memory/facts/llmFactExtractor.d.ts.map +1 -1
  511. package/dist/types/memory/stages/summarize.d.ts.map +1 -1
  512. package/dist/types/patterns/LlmRouter.d.ts.map +1 -1
  513. package/dist/types/redaction/conversation.d.ts.map +1 -1
  514. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  515. package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
  516. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  517. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  518. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  519. package/dist/types/tools/hostFilled.d.ts +111 -0
  520. package/dist/types/tools/hostFilled.d.ts.map +1 -0
  521. package/package.json +1 -1
@@ -0,0 +1,44 @@
1
+ /**
2
+ * plainData — copy the JSON data domain out of an untrusted value.
3
+ *
4
+ * MCP `structuredContent` arrives from a transport the library does not own,
5
+ * so the value may be anything: a class instance, a Proxy, an object with
6
+ * getters, or a plain object built in another realm (jest's environment,
7
+ * `node:vm`, an iframe). This module answers one question — is this plain JSON
8
+ * data? — and, when it is, hands back a COPY made of this realm's own objects
9
+ * and arrays, built from property descriptors read once each.
10
+ *
11
+ * Why a copy rather than the value itself: whatever the source does after it
12
+ * was checked (a Proxy trap that redefines a property it already reported, a
13
+ * foreign prototype whose methods were replaced) cannot reach the copy. The
14
+ * copy keeps every own key as a data property (`__proto__` included), keeps a
15
+ * null prototype null, and holds nothing else: no getter, no foreign prototype, no Proxy.
16
+ *
17
+ * Plain objects and arrays are recognised by STRUCTURE, not by identity with
18
+ * this realm's `Object.prototype`, because each realm has its own intrinsics:
19
+ *
20
+ * - `Object.prototype` of a realm: its own prototype is null;
21
+ * - `Array.prototype` of a realm: an array whose own prototype is a realm's
22
+ * `Object.prototype`;
23
+ * - its own `constructor` is a data property holding that realm's native
24
+ * `Object` / `Array` (source text `function Object() { [native code] }`),
25
+ * whose own `prototype` data property points straight back at it — a link
26
+ * a user-made object or a Proxy cannot forge, because a native
27
+ * constructor's `prototype` is non-writable and non-configurable;
28
+ * - it carries the same own keys as this realm's intrinsic, each with the
29
+ * same descriptor kind (data or accessor), so an added getter is refused;
30
+ * - `Object.prototype.toString` names it `[object Object]` / `[object Array]`.
31
+ *
32
+ * Only descriptors are read: no getter, `toJSON` or `valueOf` runs. A Proxy is
33
+ * refused before any trap runs wherever the runtime can say what a Proxy is
34
+ * (Node's `util.types.isProxy`, reached through `process.getBuiltinModule` at
35
+ * call time, so nothing is imported and the module stays browser-clean).
36
+ * Elsewhere a Proxy's traps answer the walk like any object's descriptors do,
37
+ * and only what they answered reaches the copy.
38
+ */
39
+ /**
40
+ * A copy of `value` when it is a JSON object (not an array, not a scalar)
41
+ * within the bounds, made of this realm's objects; `undefined` otherwise.
42
+ * Never throws for a hostile value: any trap or check that throws refuses.
43
+ */
44
+ export declare function copyJsonObject(value: unknown): Record<string, unknown> | undefined;
@@ -0,0 +1,204 @@
1
+ /**
2
+ * plainData — copy the JSON data domain out of an untrusted value.
3
+ *
4
+ * MCP `structuredContent` arrives from a transport the library does not own,
5
+ * so the value may be anything: a class instance, a Proxy, an object with
6
+ * getters, or a plain object built in another realm (jest's environment,
7
+ * `node:vm`, an iframe). This module answers one question — is this plain JSON
8
+ * data? — and, when it is, hands back a COPY made of this realm's own objects
9
+ * and arrays, built from property descriptors read once each.
10
+ *
11
+ * Why a copy rather than the value itself: whatever the source does after it
12
+ * was checked (a Proxy trap that redefines a property it already reported, a
13
+ * foreign prototype whose methods were replaced) cannot reach the copy. The
14
+ * copy keeps every own key as a data property (`__proto__` included), keeps a
15
+ * null prototype null, and holds nothing else: no getter, no foreign prototype, no Proxy.
16
+ *
17
+ * Plain objects and arrays are recognised by STRUCTURE, not by identity with
18
+ * this realm's `Object.prototype`, because each realm has its own intrinsics:
19
+ *
20
+ * - `Object.prototype` of a realm: its own prototype is null;
21
+ * - `Array.prototype` of a realm: an array whose own prototype is a realm's
22
+ * `Object.prototype`;
23
+ * - its own `constructor` is a data property holding that realm's native
24
+ * `Object` / `Array` (source text `function Object() { [native code] }`),
25
+ * whose own `prototype` data property points straight back at it — a link
26
+ * a user-made object or a Proxy cannot forge, because a native
27
+ * constructor's `prototype` is non-writable and non-configurable;
28
+ * - it carries the same own keys as this realm's intrinsic, each with the
29
+ * same descriptor kind (data or accessor), so an added getter is refused;
30
+ * - `Object.prototype.toString` names it `[object Object]` / `[object Array]`.
31
+ *
32
+ * Only descriptors are read: no getter, `toJSON` or `valueOf` runs. A Proxy is
33
+ * refused before any trap runs wherever the runtime can say what a Proxy is
34
+ * (Node's `util.types.isProxy`, reached through `process.getBuiltinModule` at
35
+ * call time, so nothing is imported and the module stays browser-clean).
36
+ * Elsewhere a Proxy's traps answer the walk like any object's descriptors do,
37
+ * and only what they answered reaches the copy.
38
+ */
39
+ const LOCAL = {
40
+ Object: Object.prototype,
41
+ Array: Array.prototype,
42
+ };
43
+ /**
44
+ * A realm's own constructor, as `Function.prototype.toString` prints it. V8
45
+ * prints `function Object() { [native code] }`; SpiderMonkey and JavaScriptCore
46
+ * put the body on its own lines, so whitespace inside the braces is free.
47
+ */
48
+ const NATIVE_SOURCE = {
49
+ Object: /^function Object\(\) \{\s*\[native code\]\s*\}$/,
50
+ Array: /^function Array\(\) \{\s*\[native code\]\s*\}$/,
51
+ };
52
+ /** The documented decoding bounds. */
53
+ const MAX_VALUES = 1_000_000;
54
+ const MAX_DEPTH = 64;
55
+ /**
56
+ * A copy of `value` when it is a JSON object (not an array, not a scalar)
57
+ * within the bounds, made of this realm's objects; `undefined` otherwise.
58
+ * Never throws for a hostile value: any trap or check that throws refuses.
59
+ */
60
+ export function copyJsonObject(value) {
61
+ try {
62
+ if (value === null || typeof value !== 'object' || isProxyValue(value))
63
+ return undefined;
64
+ if (Array.isArray(value))
65
+ return undefined;
66
+ const copied = new JsonCopier().copy(value, 0);
67
+ return copied === undefined ? undefined : copied;
68
+ }
69
+ catch {
70
+ return undefined;
71
+ }
72
+ }
73
+ /**
74
+ * One walk: its visit counter and its cycle guard.
75
+ *
76
+ * No memo for shared sub-objects, on purpose: each path is walked and counted,
77
+ * so the bounds hold for what the copy really contains (a memo let a DAG of a
78
+ * few hundred references stand for a copy of 2^60 nodes).
79
+ */
80
+ class JsonCopier {
81
+ visited = 0;
82
+ ancestors = new Set();
83
+ verified = new WeakSet();
84
+ /** The copy of `item`, or `undefined` when it is not JSON data. */
85
+ copy(item, depth) {
86
+ if (++this.visited > MAX_VALUES)
87
+ return undefined;
88
+ if (item === null || typeof item === 'string' || typeof item === 'boolean')
89
+ return item;
90
+ if (typeof item === 'number')
91
+ return Number.isFinite(item) ? item : undefined;
92
+ if (typeof item !== 'object' || depth >= MAX_DEPTH || this.ancestors.has(item))
93
+ return undefined;
94
+ if (isProxyValue(item))
95
+ return undefined;
96
+ return this.copyContainer(item, depth);
97
+ }
98
+ copyContainer(item, depth) {
99
+ const array = Array.isArray(item);
100
+ const prototype = Object.getPrototypeOf(item);
101
+ const plain = array
102
+ ? isIntrinsicPrototype(prototype, 'Array', this.verified)
103
+ : prototype === null || isIntrinsicPrototype(prototype, 'Object', this.verified);
104
+ if (!plain)
105
+ return undefined;
106
+ const keys = Reflect.ownKeys(item);
107
+ // The length descriptor, not `item.length`: a Get could run code.
108
+ const length = array ? Object.getOwnPropertyDescriptor(item, 'length')?.value : 0;
109
+ if (typeof length !== 'number' || (array && keys.length !== length + 1))
110
+ return undefined;
111
+ const out = array ? [] : prototype === null ? Object.create(null) : {};
112
+ this.ancestors.add(item);
113
+ try {
114
+ for (const key of keys) {
115
+ if (array && key === 'length')
116
+ continue;
117
+ if (typeof key !== 'string')
118
+ return undefined;
119
+ if (array && (!/^(0|[1-9]\d*)$/.test(key) || Number(key) >= length))
120
+ return undefined;
121
+ const descriptor = Object.getOwnPropertyDescriptor(item, key);
122
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor))
123
+ return undefined;
124
+ const value = this.copy(descriptor.value, depth + 1);
125
+ if (value === undefined)
126
+ return undefined;
127
+ // A data property of its own, whatever the key: `__proto__` stays a key.
128
+ Object.defineProperty(out, key, {
129
+ value,
130
+ writable: true,
131
+ enumerable: true,
132
+ configurable: true,
133
+ });
134
+ }
135
+ return out;
136
+ }
137
+ finally {
138
+ this.ancestors.delete(item);
139
+ }
140
+ }
141
+ }
142
+ function isIntrinsicPrototype(proto, name, verified) {
143
+ if (proto === LOCAL[name])
144
+ return true;
145
+ if (typeof proto !== 'object' || proto === null || isProxyValue(proto))
146
+ return false;
147
+ if (verified.has(proto))
148
+ return true;
149
+ const parent = Object.getPrototypeOf(proto);
150
+ const parentOk = name === 'Object' ? parent === null : isIntrinsicPrototype(parent, 'Object', verified);
151
+ if (!parentOk || Array.isArray(proto) !== (name === 'Array'))
152
+ return false;
153
+ if (!nativeConstructorLinksBack(proto, name) || !sameShape(proto, LOCAL[name]))
154
+ return false;
155
+ // Safe only now: the shape matches this realm's intrinsic, which has no own
156
+ // Symbol.toStringTag, and the parent chain is verified, so no getter runs.
157
+ if (Object.prototype.toString.call(proto) !== `[object ${name}]`)
158
+ return false;
159
+ verified.add(proto);
160
+ return true;
161
+ }
162
+ function nativeConstructorLinksBack(proto, name) {
163
+ const ctor = Object.getOwnPropertyDescriptor(proto, 'constructor');
164
+ if (ctor === undefined || !('value' in ctor) || typeof ctor.value !== 'function')
165
+ return false;
166
+ // Function.prototype.toString never runs user code; a Proxy or bound function
167
+ // prints an anonymous native body, a class prints its source.
168
+ if (!NATIVE_SOURCE[name].test(Function.prototype.toString.call(ctor.value)))
169
+ return false;
170
+ const back = Object.getOwnPropertyDescriptor(ctor.value, 'prototype');
171
+ return back !== undefined && 'value' in back && back.value === proto;
172
+ }
173
+ function sameShape(candidate, local) {
174
+ const keys = Reflect.ownKeys(local);
175
+ if (Reflect.ownKeys(candidate).length !== keys.length)
176
+ return false;
177
+ for (const key of keys) {
178
+ const theirs = Object.getOwnPropertyDescriptor(candidate, key);
179
+ const ours = Object.getOwnPropertyDescriptor(local, key);
180
+ if (theirs === undefined || ours === undefined || 'value' in theirs !== 'value' in ours)
181
+ return false;
182
+ }
183
+ return true;
184
+ }
185
+ let proxyCheck;
186
+ /** Node's `util.types.isProxy`, looked up once; runs no trap. False where absent. */
187
+ function isProxyValue(value) {
188
+ if (proxyCheck === undefined) {
189
+ proxyCheck = null;
190
+ try {
191
+ const host = globalThis
192
+ .process;
193
+ const util = host?.getBuiltinModule?.('node:util');
194
+ const check = util?.types?.isProxy;
195
+ if (typeof check === 'function')
196
+ proxyCheck = check;
197
+ }
198
+ catch {
199
+ proxyCheck = null;
200
+ }
201
+ }
202
+ return proxyCheck !== null && proxyCheck(value);
203
+ }
204
+ //# sourceMappingURL=plainData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plainData.js","sourceRoot":"","sources":["../../../src/mcp/plainData.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@
17
17
  * already have, watches nothing change, and concludes MCP does not work here.
18
18
  *
19
19
  * ── The contract ─────────────────────────────────────────────────────────────
20
- * The absent-package message is passed IN and returned VERBATIM, so the message
21
- * every release before this one produced is byte-identical to the one this one
22
- * produces. Only the second arm is new, and it names the underlying failure and
23
- * the seam that gets past it.
20
+ * The absent-package message is passed IN and returned VERBATIM: each load
21
+ * site owns its own wording (install the package, or — in a bundled app — pass
22
+ * the module as `sdk`). The second arm names the underlying failure and the
23
+ * seam that gets past it.
24
24
  *
25
25
  * Pattern: pure classifier. No I/O, no throwing, no vendor names beyond the
26
26
  * package it reports on. Role: Layer-3 tool transport, shared by `mcpClient`
@@ -33,9 +33,8 @@
33
33
  */
34
34
  export interface SdkLoadFailureNotes {
35
35
  /**
36
- * The exact message this site produced before the classifier existed — the
37
- * absent-package case, returned unchanged. Byte-compatibility is the point:
38
- * a consumer scripting against that text keeps working.
36
+ * The site's own absent-package message, returned unchanged — the
37
+ * classifier never rewrites it.
39
38
  */
40
39
  readonly notInstalled: string;
41
40
  /** The function the consumer called, e.g. `'mcpClient'`. */
@@ -17,10 +17,10 @@
17
17
  * already have, watches nothing change, and concludes MCP does not work here.
18
18
  *
19
19
  * ── The contract ─────────────────────────────────────────────────────────────
20
- * The absent-package message is passed IN and returned VERBATIM, so the message
21
- * every release before this one produced is byte-identical to the one this one
22
- * produces. Only the second arm is new, and it names the underlying failure and
23
- * the seam that gets past it.
20
+ * The absent-package message is passed IN and returned VERBATIM: each load
21
+ * site owns its own wording (install the package, or — in a bundled app — pass
22
+ * the module as `sdk`). The second arm names the underlying failure and the
23
+ * seam that gets past it.
24
24
  *
25
25
  * Pattern: pure classifier. No I/O, no throwing, no vendor names beyond the
26
26
  * package it reports on. Role: Layer-3 tool transport, shared by `mcpClient`
@@ -1 +1 @@
1
- {"version":3,"file":"sdkLoadFailure.js","sourceRoot":"","sources":["../../../src/mcp/sdkLoadFailure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA0BH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,KAA0B;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC,YAAY,CAAC;IACxD,OAAO,CACL,GAAG,KAAK,CAAC,MAAM,mBAAmB,KAAK,CAAC,SAAS,6BAA6B;QAC9E,yBAAyB,MAAM,IAAI;QACnC,iFAAiF;QACjF,yDAAyD;QACzD,KAAK,KAAK,CAAC,OAAO,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,gGAAgG,CAAC,IAAI,CAC1G,MAAM,CACP,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,wCAAwC,CAAC;IAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sdkLoadFailure.js","sourceRoot":"","sources":["../../../src/mcp/sdkLoadFailure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAyBH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,KAA0B;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC,YAAY,CAAC;IACxD,OAAO,CACL,GAAG,KAAK,CAAC,MAAM,mBAAmB,KAAK,CAAC,SAAS,6BAA6B;QAC9E,yBAAyB,MAAM,IAAI;QACnC,iFAAiF;QACjF,yDAAyD;QACzD,KAAK,KAAK,CAAC,OAAO,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,gGAAgG,CAAC,IAAI,CAC1G,MAAM,CACP,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,wCAAwC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { copyJsonObject } from './plainData.js';
1
2
  /** Validate before opening a transport; a misspelled opt-in must not disappear. */
2
3
  export function resultModeOf(value, name) {
3
4
  if (value === undefined)
@@ -36,9 +37,11 @@ export function readToolResult(result, toolName, serverName, mode = 'text') {
36
37
  try {
37
38
  const structured = Object.getOwnPropertyDescriptor(result, 'structuredContent');
38
39
  if (structured !== undefined) {
39
- if (!('value' in structured) || !jsonObject(structured.value))
40
+ // A copy of this realm's own objects, never the transport's value: see plainData.ts.
41
+ const copied = 'value' in structured ? copyJsonObject(structured.value) : undefined;
42
+ if (copied === undefined)
40
43
  throw invalid();
41
- return structured.value;
44
+ return copied;
42
45
  }
43
46
  if (mode !== 'structured-or-json')
44
47
  throw invalid();
@@ -52,9 +55,10 @@ export function readToolResult(result, toolName, serverName, mode = 'text') {
52
55
  if (typeof text !== 'string' || text.length > 16_000_000)
53
56
  throw invalid();
54
57
  const parsed = JSON.parse(text);
55
- if (!jsonObject(parsed))
58
+ const copied = copyJsonObject(parsed);
59
+ if (copied === undefined)
56
60
  throw invalid();
57
- return parsed;
61
+ return copied;
58
62
  }
59
63
  catch {
60
64
  // Parser and getter exceptions may echo source bytes. Keep the refusal
@@ -101,52 +105,6 @@ function ownValue(value, key) {
101
105
  throw new Error('Accessor is not JSON data');
102
106
  return descriptor?.value;
103
107
  }
104
- /** Validate the JSON data domain without invoking toJSON/getters, converting
105
- * unknown to null or dropping unsupported fields. No clone or normalization. */
106
- function jsonObject(value) {
107
- if (value === null || typeof value !== 'object' || Array.isArray(value))
108
- return false;
109
- const ancestors = new Set();
110
- let visited = 0;
111
- function visit(item, depth) {
112
- if (++visited > 1_000_000)
113
- return false;
114
- if (item === null || typeof item === 'string' || typeof item === 'boolean')
115
- return true;
116
- if (typeof item === 'number')
117
- return Number.isFinite(item);
118
- if (typeof item !== 'object' || depth >= 64 || ancestors.has(item))
119
- return false;
120
- const array = Array.isArray(item);
121
- const prototype = Object.getPrototypeOf(item);
122
- if (array ? prototype !== Array.prototype : prototype !== Object.prototype && prototype !== null)
123
- return false;
124
- ancestors.add(item);
125
- try {
126
- const keys = Reflect.ownKeys(item);
127
- if (array && keys.length !== item.length + 1)
128
- return false;
129
- for (const key of keys) {
130
- if (array && key === 'length')
131
- continue;
132
- if (typeof key !== 'string')
133
- return false;
134
- if (array && (!/^(0|[1-9]\d*)$/.test(key) || Number(key) >= item.length))
135
- return false;
136
- const descriptor = Object.getOwnPropertyDescriptor(item, key);
137
- if (!descriptor.enumerable ||
138
- !('value' in descriptor) ||
139
- !visit(descriptor.value, depth + 1))
140
- return false;
141
- }
142
- return true;
143
- }
144
- finally {
145
- ancestors.delete(item);
146
- }
147
- }
148
- return visit(value, 0);
149
- }
150
108
  // ─── Reading a tools/call answer (both arms of the protocol) ───────
151
109
  /**
152
110
  * Turn a `tools/call` answer into the text the agent hands the model.
@@ -1 +1 @@
1
- {"version":3,"file":"toolResult.js","sourceRoot":"","sources":["../../../src/mcp/toolResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolResult.js","sourceRoot":"","sources":["../../../src/mcp/toolResult.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,IAAY;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,oBAAoB;QAAE,OAAO,KAAK,CAAC;IAC/F,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,qEAAqE,CACvF,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAC5B,MAAyB,EACzB,QAAgB,EAChB,UAAkB,EAClB,OAAmB,MAAM;IAEzB,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,aAAa,QAAQ,cAAc,UAAU,IAAI,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,KAAK,CACP,GAAG,MAAM,4CAA4C;QACnD,CAAC,IAAI,KAAK,oBAAoB;YAC5B,CAAC,CAAC,mGAAmG;YACrG,CAAC,CAAC,+CAA+C,CAAC;QACpD,6FAA6F,CAChG,CAAC;IACJ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,OAAO,EAAE,CAAC;IACnE,6EAA6E;IAC7E,qEAAqE;IACrE,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,GAAG,MAAM,yDAAyD;YACpE,CAAC,CAAC,GAAG,MAAM,uBAAuB,UAAU,EAAE,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAChF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,qFAAqF;YACrF,MAAM,MAAM,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,OAAO,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,KAAK,oBAAoB;YAAE,MAAM,OAAO,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,OAAO,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,MAAM;YACnF,MAAM,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU;YAAE,MAAM,OAAO,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,OAAO,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;qEAGqE;AACrE,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE;YAAE,OAAO,SAAS,CAAC;QAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,MAAM;gBACnF,OAAO,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC/C,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,KAAK,GAAG,KAAK;gBAAE,OAAO,SAAS,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,OAAO,UAAU,EAAE,KAAK,CAAC;AAC3B,CAAC;AAED,sEAAsE;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAS,cAAc,CAAC,MAAyB,EAAE,QAAgB,EAAE,UAAkB;IACrF,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,OAAO,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;aAClE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,cAAc,UAAU,yBAAyB,IAAI,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,cAAc,UAAU,4CAA4C;QACvF,mBAAmB,aAAa,CAAC,MAAM,CAAC,iDAAiD;QACzF,oDAAoD,CACvD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,MAAyB;IAEzB,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAChF,SAAS,kBAAkB,CAAC,MAAyB;IACnD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,MAAyB;IAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,OAAQ,MAAgC,CAAC,OAAO,CAAC;AACnD,CAAC;AAED,wFAAwF;AACxF,SAAS,cAAc,CAAC,MAAyB;IAC/C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,YAAY,IAAI,MAAM,CAAC;AACjF,CAAC;AAED,oFAAoF;AACpF,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,+DAA+D;QAC/D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,KAAK,CAAC,MAAM,UAAU,CAAC;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,OAAO,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC/F,CAAC"}
@@ -211,17 +211,21 @@ export interface McpClientOptions {
211
211
  readonly retryOnThrottle?: RetryOnThrottle;
212
212
  /**
213
213
  * Pre-resolved SDK modules. Give these and the library never touches its Node
214
- * `require` loader — which is the whole reason a browser bundle can now speak
215
- * MCP over `http`.
214
+ * `require` loader — which is what lets a browser bundle speak MCP over
215
+ * `http`, and what a server bundle (esbuild, webpack) needs too: a bundler
216
+ * cannot follow the lazy `require`, so without `sdk` a bundled app that did
217
+ * not ship `node_modules` is refused when the client is built.
216
218
  *
217
219
  * Everything else keeps working, because the library still builds the
218
220
  * transport: gateway vending, `retryOnThrottle`, `headers`, your own `fetch`,
219
221
  * `_meta` ingestion. Omit it and the loader runs exactly as it always has.
222
+ * Either way the modules are read, and checked, when `mcpClient()` is
223
+ * called — never at a later tool call.
220
224
  *
221
- * Ignored for `transport: 'stdio'`, which spawns a subprocess and therefore
222
- * cannot run in a browser at all — that branch keeps loading
223
- * `client/stdio.js` through the Node loader, which is also what keeps the
224
- * SDK's only Node-bound client module off a browser's module graph.
225
+ * For `transport: 'stdio'` only `Client` is taken from here: stdio spawns a
226
+ * subprocess and therefore cannot run in a browser at all, so that branch
227
+ * keeps loading `client/stdio.js` through the Node loader, which is also what
228
+ * keeps the SDK's only Node-bound client module off a browser's module graph.
225
229
  *
226
230
  * @see McpSdk for the two static imports that produce it.
227
231
  */
@@ -1,3 +1,4 @@
1
+ import { callUnder } from '../../lib/abort.js';
1
2
  import { asImportance } from './types.js';
2
3
  const DEFAULT_SYSTEM_PROMPT = `You are an extractor that distills a single turn of a conversation into narrative beats for long-term memory.
3
4
 
@@ -82,12 +83,14 @@ export function llmExtractor(config) {
82
83
  return {
83
84
  async extract(args) {
84
85
  const userContent = formatMessagesForExtractor(args.messages, args.turnNumber);
85
- const response = await provider.complete({
86
+ // The run's signal rides the request and bounds the wait; an answer
87
+ // that lands after it is refused (lib/abort.ts · callUnder).
88
+ const request = {
86
89
  systemPrompt,
87
90
  messages: [{ role: 'user', content: userContent }],
88
91
  model: 'memory-extractor',
89
- ...(args.signal ? { signal: args.signal } : {}),
90
- });
92
+ };
93
+ const response = await callUnder(request, args.signal, (wired) => provider.complete(wired));
91
94
  return parseBeatsResponse(response.content ?? '', onParseError);
92
95
  },
93
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"llmExtractor.js","sourceRoot":"","sources":["../../../../src/memory/beats/llmExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llmExtractor.js","sourceRoot":"","sources":["../../../../src/memory/beats/llmExtractor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { callUnder } from '../../lib/abort.js';
1
2
  import { asConfidence } from './types.js';
2
3
  const DEFAULT_SYSTEM_PROMPT = `You are an extractor that distills a turn of conversation into stable, timeless facts for long-term memory.
3
4
 
@@ -107,12 +108,14 @@ export function llmFactExtractor(config) {
107
108
  const turn = formatMessagesForExtractor(args.messages, args.turnNumber);
108
109
  const prior = formatExistingFacts(args.existing ?? [], includeExistingLimit);
109
110
  const userContent = prior.length > 0 ? `${prior}\n\n${turn}` : turn;
110
- const response = await provider.complete({
111
+ // The run's signal rides the request and bounds the wait; an answer
112
+ // that lands after it is refused (lib/abort.ts · callUnder).
113
+ const request = {
111
114
  systemPrompt,
112
115
  messages: [{ role: 'user', content: userContent }],
113
116
  model: 'memory-extractor',
114
- ...(args.signal ? { signal: args.signal } : {}),
115
- });
117
+ };
118
+ const response = await callUnder(request, args.signal, (wired) => provider.complete(wired));
116
119
  return parseFactsResponse(response.content ?? '', onParseError);
117
120
  },
118
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"llmFactExtractor.js","sourceRoot":"","sources":["../../../../src/memory/facts/llmFactExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llmFactExtractor.js","sourceRoot":"","sources":["../../../../src/memory/facts/llmFactExtractor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { emitServed } from '../../redaction/runRedaction.js';
2
+ import { awaitUnder, callUnder, throwIfAborted } from '../../lib/abort.js';
2
3
  /** Id prefix for every entry this stage writes. */
3
4
  export const SUMMARY_ID_PREFIX = 'msg-summary-';
4
5
  /** Metadata key carrying {@link SummaryCoverage} on a summary entry. */
@@ -206,10 +207,14 @@ export function summarize(config) {
206
207
  }
207
208
  // ── 4. The one call ──────────────────────────────────────────────
208
209
  let summary;
210
+ const signal = scope.$getEnv?.()?.signal;
209
211
  try {
210
- summary = await callSummarizer(config.llm, provider, model, systemPrompt, span);
212
+ summary = await callSummarizer(config.llm, provider, model, systemPrompt, span, signal);
211
213
  }
212
214
  catch (err) {
215
+ // A cancelled run is not a summarizer outage: the abort leaves as itself,
216
+ // with nothing declined, latched or warned about (lib/abort.ts).
217
+ throwIfAborted(signal);
213
218
  const cause = err instanceof Error ? err.message : String(err);
214
219
  if (!warned) {
215
220
  warned = true;
@@ -365,17 +370,20 @@ function foldSeam(raw, preserveRecent) {
365
370
  return splitAt;
366
371
  }
367
372
  /** Make the one call, in whichever of the two shapes was configured. */
368
- async function callSummarizer(llm, provider, model, systemPrompt, span) {
373
+ async function callSummarizer(llm, provider, model, systemPrompt, span, signal) {
369
374
  if (provider !== undefined && model !== undefined) {
370
375
  // Un-decorated on purpose, the same way `runSummarizer` is: no retry loop,
371
376
  // no fallback, no cache. A fold is optional work — the recall is correct
372
377
  // without it — so it may not spend the agent's resilience budget, and a
373
378
  // summarizer outage may not open a circuit in front of the real calls.
374
- const response = await provider.complete({
379
+ // The run's signal rides the request, so a cancelled run stops paying for
380
+ // the fold too, and a late answer is not counted (lib/abort.ts).
381
+ const request = {
375
382
  systemPrompt,
376
383
  messages: [{ role: 'user', content: renderTranscript(span) }],
377
384
  model,
378
- });
385
+ };
386
+ const response = await callUnder(request, signal, (wired) => provider.complete(wired));
379
387
  return {
380
388
  text: response.content,
381
389
  usage: { input: response.usage.input, output: response.usage.output },
@@ -387,6 +395,9 @@ async function callSummarizer(llm, provider, model, systemPrompt, span) {
387
395
  { role: 'system', content: systemPrompt },
388
396
  ...span.map((e) => e.value),
389
397
  ];
390
- return { text: await llm(messages) };
398
+ // The callback is handed no signal (its contract), so it cannot be cancelled;
399
+ // it is still not called on a cancelled run, not waited for once the run is
400
+ // cancelled, and a summary that lands after that is not folded in.
401
+ return { text: await awaitUnder(signal, () => llm(messages)) };
391
402
  }
392
403
  //# sourceMappingURL=summarize.js.map