agentfootprint 10.4.0 → 10.5.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 (519) 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 +57 -49
  12. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  13. package/dist/adapters/llm/BrowserOpenAIProvider.js +50 -42
  14. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  15. package/dist/adapters/llm/FoundryLocalProvider.js +174 -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 +32 -9
  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 +129 -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 +57 -49
  103. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  104. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +50 -42
  105. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  106. package/dist/esm/adapters/llm/FoundryLocalProvider.js +171 -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.js +32 -9
  111. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  112. package/dist/esm/adapters/llm/MockProvider.js +11 -3
  113. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  114. package/dist/esm/adapters/llm/OllamaProvider.js +126 -164
  115. package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -1
  116. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +6 -1
  117. package/dist/esm/adapters/llm/OpenAIProvider.js +36 -9
  118. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  119. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +1 -1
  120. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +15 -8
  121. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  122. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +26 -3
  123. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +21 -3
  124. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  125. package/dist/esm/ag-ui/adapter.d.ts +61 -11
  126. package/dist/esm/ag-ui/adapter.js +70 -15
  127. package/dist/esm/ag-ui/adapter.js.map +1 -1
  128. package/dist/esm/ag-ui/framing.d.ts +2 -1
  129. package/dist/esm/ag-ui/framing.js +3 -1
  130. package/dist/esm/ag-ui/framing.js.map +1 -1
  131. package/dist/esm/ag-ui/index.d.ts +6 -4
  132. package/dist/esm/ag-ui/index.js +6 -4
  133. package/dist/esm/ag-ui/index.js.map +1 -1
  134. package/dist/esm/ag-ui/request.d.ts +86 -7
  135. package/dist/esm/ag-ui/request.js +63 -5
  136. package/dist/esm/ag-ui/request.js.map +1 -1
  137. package/dist/esm/answer-validation/index.d.ts +2 -1
  138. package/dist/esm/answer-validation/index.js +1 -0
  139. package/dist/esm/answer-validation/index.js.map +1 -1
  140. package/dist/esm/answer-validation/toolLedger.d.ts +65 -0
  141. package/dist/esm/answer-validation/toolLedger.js +121 -0
  142. package/dist/esm/answer-validation/toolLedger.js.map +1 -0
  143. package/dist/esm/answer-validation/types.d.ts +48 -0
  144. package/dist/esm/answer-validation/types.js.map +1 -1
  145. package/dist/esm/answer-validation/validate.d.ts +2 -2
  146. package/dist/esm/answer-validation/validate.js +25 -3
  147. package/dist/esm/answer-validation/validate.js.map +1 -1
  148. package/dist/esm/classify/typesafe.js +30 -22
  149. package/dist/esm/classify/typesafe.js.map +1 -1
  150. package/dist/esm/core/Agent.d.ts +9 -1
  151. package/dist/esm/core/Agent.js +71 -18
  152. package/dist/esm/core/Agent.js.map +1 -1
  153. package/dist/esm/core/LLMCall.d.ts +2 -1
  154. package/dist/esm/core/LLMCall.js +17 -7
  155. package/dist/esm/core/LLMCall.js.map +1 -1
  156. package/dist/esm/core/RunnerBase.d.ts +39 -8
  157. package/dist/esm/core/RunnerBase.js +80 -9
  158. package/dist/esm/core/RunnerBase.js.map +1 -1
  159. package/dist/esm/core/agent/buildAgentChart.js +16 -8
  160. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  161. package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +16 -0
  162. package/dist/esm/core/agent/buildAgentMessageApiChart.js +22 -2
  163. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  164. package/dist/esm/core/agent/buildDynamicAgentChart.js +22 -7
  165. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  166. package/dist/esm/core/agent/buildMessageApiChart.d.ts +16 -0
  167. package/dist/esm/core/agent/buildMessageApiChart.js +22 -2
  168. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  169. package/dist/esm/core/agent/stages/answerValidation.js +22 -1
  170. package/dist/esm/core/agent/stages/answerValidation.js.map +1 -1
  171. package/dist/esm/core/agent/stages/callLLM.js +19 -3
  172. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  173. package/dist/esm/core/agent/stages/routeTurn.js +14 -1
  174. package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
  175. package/dist/esm/core/agent/stages/seed.d.ts +7 -0
  176. package/dist/esm/core/agent/stages/seed.js +9 -0
  177. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  178. package/dist/esm/core/agent/stages/toolCalls.d.ts +21 -0
  179. package/dist/esm/core/agent/stages/toolCalls.js +59 -20
  180. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  181. package/dist/esm/core/agent/types.d.ts +10 -0
  182. package/dist/esm/core/agent/window/strategies/summarizeOldest.js +4 -0
  183. package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  184. package/dist/esm/core/agent/window/summarize.js +6 -3
  185. package/dist/esm/core/agent/window/summarize.js.map +1 -1
  186. package/dist/esm/core/memberRun.d.ts +23 -2
  187. package/dist/esm/core/memberRun.js +54 -8
  188. package/dist/esm/core/memberRun.js.map +1 -1
  189. package/dist/esm/core/requestOfRun.d.ts +21 -0
  190. package/dist/esm/core/requestOfRun.js +24 -0
  191. package/dist/esm/core/requestOfRun.js.map +1 -0
  192. package/dist/esm/core/runner.d.ts +15 -3
  193. package/dist/esm/core/slots/buildToolsSlot.d.ts +0 -16
  194. package/dist/esm/core/slots/buildToolsSlot.js +11 -25
  195. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  196. package/dist/esm/core-flow/Conditional.d.ts +2 -1
  197. package/dist/esm/core-flow/Conditional.js +18 -12
  198. package/dist/esm/core-flow/Conditional.js.map +1 -1
  199. package/dist/esm/core-flow/Graph.d.ts +2 -1
  200. package/dist/esm/core-flow/Graph.js +18 -12
  201. package/dist/esm/core-flow/Graph.js.map +1 -1
  202. package/dist/esm/core-flow/Loop.d.ts +2 -1
  203. package/dist/esm/core-flow/Loop.js +18 -12
  204. package/dist/esm/core-flow/Loop.js.map +1 -1
  205. package/dist/esm/core-flow/Parallel.d.ts +2 -1
  206. package/dist/esm/core-flow/Parallel.js +26 -15
  207. package/dist/esm/core-flow/Parallel.js.map +1 -1
  208. package/dist/esm/core-flow/Sequence.d.ts +2 -1
  209. package/dist/esm/core-flow/Sequence.js +18 -12
  210. package/dist/esm/core-flow/Sequence.js.map +1 -1
  211. package/dist/esm/core-flow/Workflow.d.ts +2 -1
  212. package/dist/esm/core-flow/Workflow.js +18 -12
  213. package/dist/esm/core-flow/Workflow.js.map +1 -1
  214. package/dist/esm/doors/security.d.ts +2 -1
  215. package/dist/esm/doors/security.js +2 -1
  216. package/dist/esm/doors/security.js.map +1 -1
  217. package/dist/esm/events/payloads.d.ts +4 -2
  218. package/dist/esm/hosting/index.d.ts +1 -0
  219. package/dist/esm/hosting/index.js.map +1 -1
  220. package/dist/esm/hosting/protocolAdapter.d.ts +4 -1
  221. package/dist/esm/hosting/refusalStatus.js +4 -0
  222. package/dist/esm/hosting/refusalStatus.js.map +1 -1
  223. package/dist/esm/hosting/requestSealing.d.ts +65 -0
  224. package/dist/esm/hosting/requestSealing.js +79 -0
  225. package/dist/esm/hosting/requestSealing.js.map +1 -0
  226. package/dist/esm/hosting/standingAgent.js +23 -3
  227. package/dist/esm/hosting/standingAgent.js.map +1 -1
  228. package/dist/esm/hosting/stream.d.ts +23 -2
  229. package/dist/esm/hosting/stream.js +5 -1
  230. package/dist/esm/hosting/stream.js.map +1 -1
  231. package/dist/esm/hosting/streamHandler.d.ts +26 -7
  232. package/dist/esm/hosting/streamHandler.js +36 -12
  233. package/dist/esm/hosting/streamHandler.js.map +1 -1
  234. package/dist/esm/hosting/types.d.ts +29 -0
  235. package/dist/esm/hosting/types.js.map +1 -1
  236. package/dist/esm/identity/requestContext.d.ts +96 -0
  237. package/dist/esm/identity/requestContext.js +131 -0
  238. package/dist/esm/identity/requestContext.js.map +1 -0
  239. package/dist/esm/identity/requestCredentials.d.ts +99 -0
  240. package/dist/esm/identity/requestCredentials.js +157 -0
  241. package/dist/esm/identity/requestCredentials.js.map +1 -0
  242. package/dist/esm/identity/types.d.ts +11 -0
  243. package/dist/esm/identity/types.js.map +1 -1
  244. package/dist/esm/identity.d.ts +2 -0
  245. package/dist/esm/identity.js +5 -0
  246. package/dist/esm/identity.js.map +1 -1
  247. package/dist/esm/index.d.ts +3 -2
  248. package/dist/esm/index.js +5 -1
  249. package/dist/esm/index.js.map +1 -1
  250. package/dist/esm/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
  251. package/dist/esm/injection-engine/buildInjectionEngineSubflow.js +39 -5
  252. package/dist/esm/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  253. package/dist/esm/injection-engine/constrainedEnumPick.js +4 -2
  254. package/dist/esm/injection-engine/constrainedEnumPick.js.map +1 -1
  255. package/dist/esm/injection-engine/evaluator.d.ts +6 -0
  256. package/dist/esm/injection-engine/evaluator.js +19 -1
  257. package/dist/esm/injection-engine/evaluator.js.map +1 -1
  258. package/dist/esm/injection-engine/skillGraph.js +26 -8
  259. package/dist/esm/injection-engine/skillGraph.js.map +1 -1
  260. package/dist/esm/injection-engine/skillIntent.d.ts +4 -2
  261. package/dist/esm/injection-engine/skillIntent.js +3 -0
  262. package/dist/esm/injection-engine/skillIntent.js.map +1 -1
  263. package/dist/esm/injection-engine/types.d.ts +27 -1
  264. package/dist/esm/injection-engine/types.js +15 -0
  265. package/dist/esm/injection-engine/types.js.map +1 -1
  266. package/dist/esm/lib/abort.d.ts +143 -0
  267. package/dist/esm/lib/abort.js +322 -0
  268. package/dist/esm/lib/abort.js.map +1 -0
  269. package/dist/esm/maps/engagement/parkCard.d.ts +5 -1
  270. package/dist/esm/maps/engagement/parkCard.js +10 -3
  271. package/dist/esm/maps/engagement/parkCard.js.map +1 -1
  272. package/dist/esm/mcp/mcpClient.js +30 -2
  273. package/dist/esm/mcp/mcpClient.js.map +1 -1
  274. package/dist/esm/mcp/mcpServe.js +5 -1
  275. package/dist/esm/mcp/mcpServe.js.map +1 -1
  276. package/dist/esm/mcp/plainData.d.ts +44 -0
  277. package/dist/esm/mcp/plainData.js +204 -0
  278. package/dist/esm/mcp/plainData.js.map +1 -0
  279. package/dist/esm/mcp/sdkLoadFailure.d.ts +6 -7
  280. package/dist/esm/mcp/sdkLoadFailure.js +4 -4
  281. package/dist/esm/mcp/sdkLoadFailure.js.map +1 -1
  282. package/dist/esm/mcp/toolResult.js +8 -50
  283. package/dist/esm/mcp/toolResult.js.map +1 -1
  284. package/dist/esm/mcp/types.d.ts +10 -6
  285. package/dist/esm/memory/beats/llmExtractor.js +6 -3
  286. package/dist/esm/memory/beats/llmExtractor.js.map +1 -1
  287. package/dist/esm/memory/facts/llmFactExtractor.js +6 -3
  288. package/dist/esm/memory/facts/llmFactExtractor.js.map +1 -1
  289. package/dist/esm/memory/stages/summarize.js +16 -5
  290. package/dist/esm/memory/stages/summarize.js.map +1 -1
  291. package/dist/esm/patterns/LlmRouter.js +10 -5
  292. package/dist/esm/patterns/LlmRouter.js.map +1 -1
  293. package/dist/esm/redaction/conversation.js +3 -0
  294. package/dist/esm/redaction/conversation.js.map +1 -1
  295. package/dist/esm/redaction/knownStrings.js +1 -0
  296. package/dist/esm/redaction/knownStrings.js.map +1 -1
  297. package/dist/esm/reliability/buildReliabilityGateChart.js +7 -1
  298. package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
  299. package/dist/esm/resilience/withCircuitBreaker.js +5 -2
  300. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  301. package/dist/esm/resilience/withFallback.js +6 -0
  302. package/dist/esm/resilience/withFallback.js.map +1 -1
  303. package/dist/esm/resilience/withRetry.js +5 -0
  304. package/dist/esm/resilience/withRetry.js.map +1 -1
  305. package/dist/esm/time-travel/servedView.js +1 -1
  306. package/dist/esm/time-travel/servedView.js.map +1 -1
  307. package/dist/esm/tools/hostFilled.d.ts +110 -0
  308. package/dist/esm/tools/hostFilled.js +509 -0
  309. package/dist/esm/tools/hostFilled.js.map +1 -0
  310. package/dist/hosting/index.js.map +1 -1
  311. package/dist/hosting/refusalStatus.js +4 -0
  312. package/dist/hosting/refusalStatus.js.map +1 -1
  313. package/dist/hosting/requestSealing.js +83 -0
  314. package/dist/hosting/requestSealing.js.map +1 -0
  315. package/dist/hosting/standingAgent.js +23 -3
  316. package/dist/hosting/standingAgent.js.map +1 -1
  317. package/dist/hosting/stream.js +5 -1
  318. package/dist/hosting/stream.js.map +1 -1
  319. package/dist/hosting/streamHandler.js +36 -12
  320. package/dist/hosting/streamHandler.js.map +1 -1
  321. package/dist/hosting/types.js.map +1 -1
  322. package/dist/identity/requestContext.js +139 -0
  323. package/dist/identity/requestContext.js.map +1 -0
  324. package/dist/identity/requestCredentials.js +165 -0
  325. package/dist/identity/requestCredentials.js.map +1 -0
  326. package/dist/identity/types.js.map +1 -1
  327. package/dist/identity.js +13 -1
  328. package/dist/identity.js.map +1 -1
  329. package/dist/index.js +15 -4
  330. package/dist/index.js.map +1 -1
  331. package/dist/injection-engine/buildInjectionEngineSubflow.js +38 -4
  332. package/dist/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  333. package/dist/injection-engine/constrainedEnumPick.js +4 -2
  334. package/dist/injection-engine/constrainedEnumPick.js.map +1 -1
  335. package/dist/injection-engine/evaluator.js +18 -0
  336. package/dist/injection-engine/evaluator.js.map +1 -1
  337. package/dist/injection-engine/skillGraph.js +25 -7
  338. package/dist/injection-engine/skillGraph.js.map +1 -1
  339. package/dist/injection-engine/skillIntent.js +3 -0
  340. package/dist/injection-engine/skillIntent.js.map +1 -1
  341. package/dist/injection-engine/types.js +17 -1
  342. package/dist/injection-engine/types.js.map +1 -1
  343. package/dist/lib/abort.js +336 -0
  344. package/dist/lib/abort.js.map +1 -0
  345. package/dist/maps/engagement/parkCard.js +10 -3
  346. package/dist/maps/engagement/parkCard.js.map +1 -1
  347. package/dist/mcp/mcpClient.js +30 -2
  348. package/dist/mcp/mcpClient.js.map +1 -1
  349. package/dist/mcp/mcpServe.js +5 -1
  350. package/dist/mcp/mcpServe.js.map +1 -1
  351. package/dist/mcp/plainData.js +208 -0
  352. package/dist/mcp/plainData.js.map +1 -0
  353. package/dist/mcp/sdkLoadFailure.js +4 -4
  354. package/dist/mcp/sdkLoadFailure.js.map +1 -1
  355. package/dist/mcp/toolResult.js +8 -50
  356. package/dist/mcp/toolResult.js.map +1 -1
  357. package/dist/memory/beats/llmExtractor.js +6 -3
  358. package/dist/memory/beats/llmExtractor.js.map +1 -1
  359. package/dist/memory/facts/llmFactExtractor.js +6 -3
  360. package/dist/memory/facts/llmFactExtractor.js.map +1 -1
  361. package/dist/memory/stages/summarize.js +16 -5
  362. package/dist/memory/stages/summarize.js.map +1 -1
  363. package/dist/patterns/LlmRouter.js +9 -4
  364. package/dist/patterns/LlmRouter.js.map +1 -1
  365. package/dist/redaction/conversation.js +3 -0
  366. package/dist/redaction/conversation.js.map +1 -1
  367. package/dist/redaction/knownStrings.js +1 -0
  368. package/dist/redaction/knownStrings.js.map +1 -1
  369. package/dist/reliability/buildReliabilityGateChart.js +7 -1
  370. package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
  371. package/dist/resilience/withCircuitBreaker.js +5 -2
  372. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  373. package/dist/resilience/withFallback.js +6 -0
  374. package/dist/resilience/withFallback.js.map +1 -1
  375. package/dist/resilience/withRetry.js +5 -0
  376. package/dist/resilience/withRetry.js.map +1 -1
  377. package/dist/time-travel/servedView.js +1 -1
  378. package/dist/time-travel/servedView.js.map +1 -1
  379. package/dist/tools/hostFilled.js +517 -0
  380. package/dist/tools/hostFilled.js.map +1 -0
  381. package/dist/types/adapters/llm/AnthropicProvider.d.ts +9 -2
  382. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  383. package/dist/types/adapters/llm/BedrockProvider.d.ts +6 -1
  384. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  385. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  386. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  387. package/dist/types/adapters/llm/FoundryLocalProvider.d.ts.map +1 -1
  388. package/dist/types/adapters/llm/GeminiProvider.d.ts.map +1 -1
  389. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
  390. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  391. package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -1
  392. package/dist/types/adapters/llm/OpenAIProvider.d.ts +6 -1
  393. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  394. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +1 -1
  395. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
  396. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +26 -3
  397. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  398. package/dist/types/ag-ui/adapter.d.ts +61 -11
  399. package/dist/types/ag-ui/adapter.d.ts.map +1 -1
  400. package/dist/types/ag-ui/framing.d.ts +2 -1
  401. package/dist/types/ag-ui/framing.d.ts.map +1 -1
  402. package/dist/types/ag-ui/index.d.ts +6 -4
  403. package/dist/types/ag-ui/index.d.ts.map +1 -1
  404. package/dist/types/ag-ui/request.d.ts +86 -7
  405. package/dist/types/ag-ui/request.d.ts.map +1 -1
  406. package/dist/types/answer-validation/index.d.ts +2 -1
  407. package/dist/types/answer-validation/index.d.ts.map +1 -1
  408. package/dist/types/answer-validation/toolLedger.d.ts +66 -0
  409. package/dist/types/answer-validation/toolLedger.d.ts.map +1 -0
  410. package/dist/types/answer-validation/types.d.ts +48 -0
  411. package/dist/types/answer-validation/types.d.ts.map +1 -1
  412. package/dist/types/answer-validation/validate.d.ts +2 -2
  413. package/dist/types/answer-validation/validate.d.ts.map +1 -1
  414. package/dist/types/classify/typesafe.d.ts.map +1 -1
  415. package/dist/types/core/Agent.d.ts +9 -1
  416. package/dist/types/core/Agent.d.ts.map +1 -1
  417. package/dist/types/core/LLMCall.d.ts +2 -1
  418. package/dist/types/core/LLMCall.d.ts.map +1 -1
  419. package/dist/types/core/RunnerBase.d.ts +39 -8
  420. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  421. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  422. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts +16 -0
  423. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  424. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  425. package/dist/types/core/agent/buildMessageApiChart.d.ts +16 -0
  426. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  427. package/dist/types/core/agent/stages/answerValidation.d.ts.map +1 -1
  428. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  429. package/dist/types/core/agent/stages/routeTurn.d.ts.map +1 -1
  430. package/dist/types/core/agent/stages/seed.d.ts +7 -0
  431. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  432. package/dist/types/core/agent/stages/toolCalls.d.ts +21 -0
  433. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  434. package/dist/types/core/agent/types.d.ts +10 -0
  435. package/dist/types/core/agent/types.d.ts.map +1 -1
  436. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
  437. package/dist/types/core/agent/window/summarize.d.ts.map +1 -1
  438. package/dist/types/core/memberRun.d.ts +23 -2
  439. package/dist/types/core/memberRun.d.ts.map +1 -1
  440. package/dist/types/core/requestOfRun.d.ts +22 -0
  441. package/dist/types/core/requestOfRun.d.ts.map +1 -0
  442. package/dist/types/core/runner.d.ts +15 -3
  443. package/dist/types/core/runner.d.ts.map +1 -1
  444. package/dist/types/core/slots/buildToolsSlot.d.ts +0 -16
  445. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  446. package/dist/types/core-flow/Conditional.d.ts +2 -1
  447. package/dist/types/core-flow/Conditional.d.ts.map +1 -1
  448. package/dist/types/core-flow/Graph.d.ts +2 -1
  449. package/dist/types/core-flow/Graph.d.ts.map +1 -1
  450. package/dist/types/core-flow/Loop.d.ts +2 -1
  451. package/dist/types/core-flow/Loop.d.ts.map +1 -1
  452. package/dist/types/core-flow/Parallel.d.ts +2 -1
  453. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  454. package/dist/types/core-flow/Sequence.d.ts +2 -1
  455. package/dist/types/core-flow/Sequence.d.ts.map +1 -1
  456. package/dist/types/core-flow/Workflow.d.ts +2 -1
  457. package/dist/types/core-flow/Workflow.d.ts.map +1 -1
  458. package/dist/types/doors/security.d.ts +2 -1
  459. package/dist/types/doors/security.d.ts.map +1 -1
  460. package/dist/types/events/payloads.d.ts +4 -2
  461. package/dist/types/events/payloads.d.ts.map +1 -1
  462. package/dist/types/hosting/index.d.ts +1 -0
  463. package/dist/types/hosting/index.d.ts.map +1 -1
  464. package/dist/types/hosting/protocolAdapter.d.ts +4 -1
  465. package/dist/types/hosting/protocolAdapter.d.ts.map +1 -1
  466. package/dist/types/hosting/refusalStatus.d.ts.map +1 -1
  467. package/dist/types/hosting/requestSealing.d.ts +66 -0
  468. package/dist/types/hosting/requestSealing.d.ts.map +1 -0
  469. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  470. package/dist/types/hosting/stream.d.ts +23 -2
  471. package/dist/types/hosting/stream.d.ts.map +1 -1
  472. package/dist/types/hosting/streamHandler.d.ts +26 -7
  473. package/dist/types/hosting/streamHandler.d.ts.map +1 -1
  474. package/dist/types/hosting/types.d.ts +29 -0
  475. package/dist/types/hosting/types.d.ts.map +1 -1
  476. package/dist/types/identity/requestContext.d.ts +97 -0
  477. package/dist/types/identity/requestContext.d.ts.map +1 -0
  478. package/dist/types/identity/requestCredentials.d.ts +100 -0
  479. package/dist/types/identity/requestCredentials.d.ts.map +1 -0
  480. package/dist/types/identity/types.d.ts +11 -0
  481. package/dist/types/identity/types.d.ts.map +1 -1
  482. package/dist/types/identity.d.ts +2 -0
  483. package/dist/types/identity.d.ts.map +1 -1
  484. package/dist/types/index.d.ts +3 -2
  485. package/dist/types/index.d.ts.map +1 -1
  486. package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
  487. package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
  488. package/dist/types/injection-engine/constrainedEnumPick.d.ts.map +1 -1
  489. package/dist/types/injection-engine/evaluator.d.ts +6 -0
  490. package/dist/types/injection-engine/evaluator.d.ts.map +1 -1
  491. package/dist/types/injection-engine/skillIntent.d.ts +4 -2
  492. package/dist/types/injection-engine/skillIntent.d.ts.map +1 -1
  493. package/dist/types/injection-engine/types.d.ts +27 -1
  494. package/dist/types/injection-engine/types.d.ts.map +1 -1
  495. package/dist/types/lib/abort.d.ts +144 -0
  496. package/dist/types/lib/abort.d.ts.map +1 -0
  497. package/dist/types/maps/engagement/parkCard.d.ts +5 -1
  498. package/dist/types/maps/engagement/parkCard.d.ts.map +1 -1
  499. package/dist/types/mcp/mcpServe.d.ts.map +1 -1
  500. package/dist/types/mcp/plainData.d.ts +45 -0
  501. package/dist/types/mcp/plainData.d.ts.map +1 -0
  502. package/dist/types/mcp/sdkLoadFailure.d.ts +6 -7
  503. package/dist/types/mcp/sdkLoadFailure.d.ts.map +1 -1
  504. package/dist/types/mcp/toolResult.d.ts.map +1 -1
  505. package/dist/types/mcp/types.d.ts +10 -6
  506. package/dist/types/mcp/types.d.ts.map +1 -1
  507. package/dist/types/memory/beats/llmExtractor.d.ts.map +1 -1
  508. package/dist/types/memory/facts/llmFactExtractor.d.ts.map +1 -1
  509. package/dist/types/memory/stages/summarize.d.ts.map +1 -1
  510. package/dist/types/patterns/LlmRouter.d.ts.map +1 -1
  511. package/dist/types/redaction/conversation.d.ts.map +1 -1
  512. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  513. package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
  514. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  515. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  516. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  517. package/dist/types/tools/hostFilled.d.ts +111 -0
  518. package/dist/types/tools/hostFilled.d.ts.map +1 -0
  519. package/package.json +1 -1
@@ -190,6 +190,7 @@ const armed_js_1 = require("./agent/honesty/armed.js");
190
190
  const mounts_js_1 = require("./agent/honesty/mounts.js");
191
191
  const messageFrom_js_1 = require("./messageFrom.js");
192
192
  const memberRun_js_1 = require("./memberRun.js");
193
+ const requestOfRun_js_1 = require("./requestOfRun.js");
193
194
  const toolShownArgs_js_1 = require("./toolShownArgs.js");
194
195
  const toolResultCap_js_1 = require("./agent/toolResultCap.js");
195
196
  const buildAgentChart_js_1 = require("./agent/buildAgentChart.js");
@@ -393,6 +394,13 @@ class Agent extends RunnerBase_js_1.RunnerBase {
393
394
  * chart mounted in a composition) never stamps a clock nobody declared for
394
395
  * it (`seedClockDraft`). */
395
396
  runClockDraft;
397
+ /** The incoming request each of this agent's OWN scopes serves — recorded
398
+ * by the executor that made the scope (`createExecutor`), so a scope keeps
399
+ * ITS run's request for as long as it lives: a stage still running after
400
+ * its run was aborted can never be served the next run's request. A stage
401
+ * mounted in another runner's executor reads its run's request by link
402
+ * (`memberRun.ts`). Never written to scope. */
403
+ scopeRequests = new WeakMap();
396
404
  /** The `time` the CURRENT resume passed, as read — TAKEN once by the first
397
405
  * ToolCalls pass of the resumed leg (`ToolCallsHandlerDeps.time`), and
398
406
  * cleared when `run()` or `resume()` ends. */
@@ -1604,6 +1612,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1604
1612
  // not at the resume of a pause it would have made impossible to resume.
1605
1613
  (0, callerIdentity_js_1.assertIdentityShape)(runInput.identity, 'Agent.run');
1606
1614
  (0, callerIdentity_js_1.assertIdentityShape)(options?.identity, 'Agent.run');
1615
+ // The incoming request, sealed — refused here when `requestContext` did not build it.
1616
+ const runRequest = (0, requestOfRun_js_1.requestOf)(options, 'Agent.run');
1607
1617
  // A policy handed down for this run is refused here, before anything moves,
1608
1618
  // by the same check `Agent.create({ redact })` gets.
1609
1619
  if (options?.redact !== undefined)
@@ -1612,7 +1622,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1612
1622
  // starts — a run with no zone anywhere runs with its zone UNKNOWN (G15),
1613
1623
  // never on the server's zone.
1614
1624
  const clockDraft = this.clockDraftFor(runInput.time ?? options?.time, 'Agent.run');
1615
- const engineOptions = (0, RunnerBase_js_1.withRunSignalInEnv)(withoutTime(options));
1625
+ // The engine's options; the run's signal (and its deadline) is armed just
1626
+ // before the run starts and released in its `finally` (`runSignalOf`).
1627
+ const engineOptions = withoutTime(options);
1616
1628
  // Timing next, and before the executor exists: both of these refuse a call
1617
1629
  // that would have SUCCEEDED into corrupted per-instance state or an
1618
1630
  // orphaned human question. See ./conversation.ts for why they are throws.
@@ -1645,7 +1657,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1645
1657
  // declared at file end via hoisting)
1646
1658
  this.answeredAsk = undefined;
1647
1659
  this.resumePassedTime = undefined;
1648
- const executor = this.createExecutor(engineOptions);
1660
+ const executor = this.createExecutor(engineOptions, runRequest);
1649
1661
  this.inFlightRunId = this.currentRunContext.runId;
1650
1662
  // One disposition ledger per run (9.60.0) — registration mirrors what
1651
1663
  // this agent's configuration makes applicable; dev posture runs the
@@ -1674,6 +1686,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1674
1686
  // Set here, beside the `try` whose `finally` clears it, so no exit path
1675
1687
  // can leave it behind for a turn this `run()` did not start.
1676
1688
  this.runClockDraft = clockDraft;
1689
+ // Armed here, beside the `try` whose `finally` releases it: no refused
1690
+ // call above can leave a deadline running.
1691
+ const runSignal = (0, RunnerBase_js_1.runSignalOf)(engineOptions);
1677
1692
  try {
1678
1693
  const result = await executor.run({
1679
1694
  input: {
@@ -1692,7 +1707,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1692
1707
  // budget — give it headroom (×2 + 10 covers double-hop loop shapes).
1693
1708
  // Consumer-provided options win.
1694
1709
  maxIterations: this.maxIterations * 2 + 10,
1695
- ...(engineOptions ?? {}),
1710
+ ...(runSignal.options ?? {}),
1696
1711
  });
1697
1712
  const finalized = this.finalizeResult(executor, result);
1698
1713
  if (typeof finalized === 'string')
@@ -1789,6 +1804,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1789
1804
  throw cause;
1790
1805
  }
1791
1806
  finally {
1807
+ // The run's deadline and signal links end with the run (`runSignalOf`).
1808
+ runSignal.release();
1792
1809
  // The time layer's per-run inputs end with the run: a stale draft would
1793
1810
  // be stamped by the next seed this agent did not start (a composition
1794
1811
  // mounting its chart) as if the app had declared it.
@@ -1953,6 +1970,10 @@ class Agent extends RunnerBase_js_1.RunnerBase {
1953
1970
  // else's conversation.
1954
1971
  this.assertNotRunning('Agent.resumeOnError');
1955
1972
  this.assertNoPendingQuestion('Agent.resumeOnError');
1973
+ // A request `run()` would refuse is refused HERE, before the side channel
1974
+ // below is armed — a refusal after it would leave the restored history for
1975
+ // the next, unrelated run.
1976
+ (0, requestOfRun_js_1.requestOf)(options, 'Agent.resumeOnError');
1956
1977
  // Stash the checkpointed history on the side channel; the seed function
1957
1978
  // reads + clears it before scope.history initializes. No message is
1958
1979
  // appended — the failing run's message is already the last user turn in
@@ -2144,6 +2165,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2144
2165
  (0, callerIdentity_js_1.assertIdentityShape)(options?.identity, 'Agent.resume');
2145
2166
  if (options?.redact !== undefined)
2146
2167
  (0, policy_js_1.assertRedactionPolicy)(options.redact, 'Agent.resume');
2168
+ // The incoming request is the RESUMING caller's — never the paused one's:
2169
+ // a checkpoint carries no request, and a resume without one serves none.
2170
+ const resumeRequest = (0, requestOfRun_js_1.requestOf)(options, 'Agent.resume');
2147
2171
  // Native guard lands with the new checkpoint protocol, before its runtime
2148
2172
  // opt-in is mounted. Until then no Agent is armed to consume this carrier.
2149
2173
  (0, verificationCheckpoint_js_1.requireVerificationOnResume)(checkpoint.sharedState ?? {}, false);
@@ -2159,7 +2183,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2159
2183
  // moves; it is never applied — the paused turn's clock is kept, and a
2160
2184
  // differing value is recorded by the ToolCalls resume door.
2161
2185
  const passedTime = this.passedTimeFor(options?.time, 'Agent.resume');
2162
- options = (0, RunnerBase_js_1.withRunSignalInEnv)(withoutTime(options));
2186
+ options = withoutTime(options);
2163
2187
  const gate = (0, pause_js_1.pauseDemandsDecision)(checkpoint.pauseData);
2164
2188
  if (gate && !(0, checkin_js_1.isCheckInDecision)(input))
2165
2189
  throw new pause_js_1.DecisionRequiredError(gate, input);
@@ -2270,7 +2294,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2270
2294
  // (and only when) it completes.
2271
2295
  const recording = this.startRunRecording();
2272
2296
  this.answeredAsk = answeredAsk;
2273
- const executor = this.createExecutor(resumeOptions);
2297
+ const executor = this.createExecutor(resumeOptions, resumeRequest);
2274
2298
  // The leg's WHOLE policy rides its own state too (`runRedaction`), so a
2275
2299
  // later pause carries what this leg was covered by — names the resume
2276
2300
  // added included — and a third leg is never less covered than this one.
@@ -2305,8 +2329,11 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2305
2329
  runRedaction: (0, conversation_js_2.carriedRunPolicy)(leg.policy),
2306
2330
  },
2307
2331
  };
2332
+ // A resume arms its own run signal and deadline (`runSignalOf`), released in
2333
+ // the `finally` below.
2334
+ const runSignal = (0, RunnerBase_js_1.runSignalOf)(resumeOptions);
2308
2335
  try {
2309
- const result = await executor.resume(legCheckpoint, input, resumeOptions);
2336
+ const result = await executor.resume(legCheckpoint, input, runSignal.options);
2310
2337
  const finalized = this.finalizeResult(executor, result);
2311
2338
  if (typeof finalized === 'string')
2312
2339
  this.lastRunAnswer = finalized;
@@ -2324,6 +2351,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2324
2351
  throw cause;
2325
2352
  }
2326
2353
  finally {
2354
+ runSignal.release();
2327
2355
  // A resume's passed `time` ends with the resume (the fresh-run path's terms).
2328
2356
  this.resumePassedTime = undefined;
2329
2357
  // Same terms as the fresh-run path: rows on every exit, before the
@@ -2929,8 +2957,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
2929
2957
  return (0, types_js_2.checkerGoverns)(this.permissionChecker, 'skill_read');
2930
2958
  }
2931
2959
  // FOLD (resolver) · computes "which skill ids may this caller be told about".
2932
- // The OWNER of the published fact is src/core/slots/buildToolsSlot.ts · discoverStage, which
2933
- // resolves it once per iteration and publishes it on scope; every model-facing composer reads THAT.
2960
+ // The OWNER of the published fact is src/injection-engine/buildInjectionEngineSubflow.ts · hiddenSkillIdsOf
2961
+ // (the engine's Gather stage), which resolves it once per iteration, before the cursor and the
2962
+ // evaluator decide, and publishes it on scope; every model-facing composer reads THAT.
2934
2963
  // Second caller: the turn router (stages/routeTurn.ts · resolveHidden) resolves it again, with different
2935
2964
  // failure semantics, and publishes nothing — two sweeps of one policy question per turn.
2936
2965
  /**
@@ -3072,7 +3101,7 @@ class Agent extends RunnerBase_js_1.RunnerBase {
3072
3101
  `not in this release. Use { strategy: 'instruct', retries: N } on this provider — it ` +
3073
3102
  `works on every wire — or run the native strategy on a provider that declares it.`);
3074
3103
  }
3075
- createExecutor(runOptions) {
3104
+ createExecutor(runOptions, request) {
3076
3105
  this.assertDeliverableRoles();
3077
3106
  this.assertForcedToolChoiceSupported();
3078
3107
  this.assertNativeOutputSchemaSupported();
@@ -3137,14 +3166,19 @@ class Agent extends RunnerBase_js_1.RunnerBase {
3137
3166
  // (`memberRun.ts`) — per scope, never by instance state.
3138
3167
  const scopeFactory = redaction.scopeFactoryFor(spec);
3139
3168
  const ownScopes = this.ownScopes;
3169
+ const scopeRequests = this.scopeRequests;
3140
3170
  const executor = new footprintjs_1.FlowChartExecutor(spec, {
3141
3171
  readTracking: this.readTracking,
3142
3172
  commitValues: this.commitValues,
3143
3173
  writeProvenance: this.writeProvenance,
3144
3174
  scopeFactory: (...args) => {
3145
3175
  const scope = scopeFactory(...args);
3146
- if (scope !== null && typeof scope === 'object')
3176
+ if (scope !== null && typeof scope === 'object') {
3147
3177
  ownScopes.add(scope);
3178
+ // THIS executor's request, bound to the scope for its whole life.
3179
+ if (request !== undefined)
3180
+ scopeRequests.set(scope, request);
3181
+ }
3148
3182
  return scope;
3149
3183
  },
3150
3184
  });
@@ -4121,6 +4155,9 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4121
4155
  // on ruled tools, and the run's `messageFrom` constant is written — only
4122
4156
  // under the arm (refused at build without the inputs layer).
4123
4157
  ...(this.argumentSourcesArmed === true && { argumentSources: true }),
4158
+ // The answer check's tool-call ledger — value-conditional, so an agent
4159
+ // without `answerValidation` hands seed the deps it always did.
4160
+ ...(this.answerValidationConfig !== undefined && { toolCallLedger: true }),
4124
4161
  get consumePendingResumeFindingsLedger() {
4125
4162
  return ledgerRestoreArmed ? consumeResumeLedger : undefined;
4126
4163
  },
@@ -4386,8 +4423,15 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4386
4423
  // never drift from the verdicts. Open ids are fixed after build, so they
4387
4424
  // are computed once, exactly as the offer builder does.
4388
4425
  const openForReachable = this.skillGraphReachable ? this.openSkillIds() : [];
4426
+ // Per-role skill visibility (9.11.0). The RESOLVER is handed to the
4427
+ // Injection Engine, the fact's one owner: its Gather stage resolves the
4428
+ // ids once per iteration, BEFORE anything decides, so the cursor and the
4429
+ // evaluator refuse a hidden skill on every activation path; the mount
4430
+ // publishes them on scope for every model-facing composer after it.
4431
+ const hiddenSkillIdsForEngine = this.hiddenSkillIdsNow();
4389
4432
  const injectionEngineSubflow = (0, buildInjectionEngineSubflow_js_1.buildInjectionEngineSubflow)({
4390
4433
  injections: this.injections,
4434
+ ...(hiddenSkillIdsForEngine && { hiddenSkillIds: hiddenSkillIdsForEngine }),
4391
4435
  ...(this.skillGraphNextSkill && { nextSkill: this.skillGraphNextSkill }),
4392
4436
  ...(this.skillGraphExplainNextSkill && {
4393
4437
  explainNextSkill: this.skillGraphExplainNextSkill,
@@ -4501,10 +4545,10 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4501
4545
  notServed: toolCalls_js_1.notServedResult,
4502
4546
  });
4503
4547
  const readSkillFor = this.readSkillOfferFor();
4504
- // Per-role skill visibility. The RESOLVER is handed to the tools slot, which
4505
- // is the fact's one owner: it resolves the ids once per iteration and
4506
- // publishes them on scope (`buildToolsSlot.ts` · `discoverStage`). Since 9.86.0 the
4507
- // description is NOT the only reader — the read_skill gate's refusals, the
4548
+ // Per-role skill visibility. The Injection Engine resolves the ids once per
4549
+ // iteration and publishes them on scope (`buildInjectionEngineSubflow.ts` ·
4550
+ // `hiddenSkillIdsOf`); the tools slot reads that published set through its
4551
+ // mount. Since 9.86.0 the description is NOT the only reader — the read_skill gate's refusals, the
4508
4552
  // `skill.rejected` payload, the propose-transition refusal and the dispatch
4509
4553
  // roster all filter through that published set
4510
4554
  // (`stages/toolCalls.ts` · "── Skill-graph read_skill GATE" the gate, `toolCalls.ts` ·
@@ -4514,7 +4558,6 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4514
4558
  // the self-call notice's move offer through them; the notice no longer names
4515
4559
  // a destination at all (see `selfCallNotice`), so there is nothing left to
4516
4560
  // filter and the cache went with the clause that needed it.
4517
- const hiddenSkillIds = this.hiddenSkillIdsNow();
4518
4561
  // Registration-time owner stamps (9.60.0) — the identity edges the
4519
4562
  // integrity checks read. Built once per chart from the registry.
4520
4563
  const toolOwners = new Map(registry
@@ -4584,7 +4627,6 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4584
4627
  toolClaimants,
4585
4628
  servedTools,
4586
4629
  ...(readSkillFor && { readSkillFor }),
4587
- ...(hiddenSkillIds && { hiddenSkillIds }),
4588
4630
  ...(budget?.tools !== undefined && { budgetCap: budget.tools }),
4589
4631
  // Steps (9.18.0): per-step narrowing + banner + the skip_step offer.
4590
4632
  ...(stepPlanFor !== undefined && { stepPlanFor }),
@@ -4945,6 +4987,12 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4945
4987
  toolClaimants,
4946
4988
  ...(permissionChecker && { permissionChecker }),
4947
4989
  ...(credentialProvider && { credentialProvider }),
4990
+ // The request a call's credential is read for: this agent's own run's,
4991
+ // or — on a mount — the run its link names (`memberRun.ts`). An accessor,
4992
+ // because the chart is built once and the request is per run.
4993
+ ...(credentialProvider && {
4994
+ currentRequest: (scope) => this.ownScopes.has(scope) ? this.scopeRequests.get(scope) : (0, memberRun_js_1.memberRequestIn)(scope),
4995
+ }),
4948
4996
  // The claim-check store (9.21.0). Absent → not one new line runs in
4949
4997
  // dispatch: `ctx.artifacts` is the fail-closed teacher and no artifact
4950
4998
  // event can fire (zero-cost-when-unused).
@@ -4961,6 +5009,11 @@ class Agent extends RunnerBase_js_1.RunnerBase {
4961
5009
  // the VALUE-conditional pattern, so an agent on the default hands the
4962
5010
  // handler exactly the deps object it always did.
4963
5011
  ...(this.repeatedCallNudge === false && { repeatedCallNudge: false }),
5012
+ // The answer check's tool-call ledger (`context.toolCalls`) — kept ONLY
5013
+ // when `answerValidation` is configured, so no other agent's record changes.
5014
+ ...(this.answerValidationConfig !== undefined && {
5015
+ toolCallLedger: { maxCalls: this.answerValidationConfig.limits.maxToolCalls },
5016
+ }),
4964
5017
  // Skill-graph read_skill gate: bound the model's read_skill jumps to the
4965
5018
  // reachable set from the current cursor. Undefined → gate off (back-compat).
4966
5019
  ...(this.skillGraphReachable && {