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
@@ -2,8 +2,10 @@
2
2
  * ag-ui — the AG-UI protocol adapter over agentfootprint's event stream.
3
3
  *
4
4
  * `agUi()` is the adapter a host takes (`streamHandler` on
5
- * `agentfootprint/hosting`): it reads an untrusted `RunAgentInput`, plans the
6
- * turn against what the server holds, and translates the run.
5
+ * `agentfootprint/hosting`): it reads an untrusted request (a `RunAgentInput`,
6
+ * or a gateway's own body through a `reader`), plans the turn against what the
7
+ * server holds, translates the run and frames it (`agUiSse`, or a gateway's
8
+ * own envelope through `framing`).
7
9
  * `agUiSerializer` turns one run's served events into AG-UI events; `agUiSse`
8
10
  * frames them for the wire with the official `@ag-ui/encoder`. Published
9
11
  * through the `agentfootprint/ag-ui` door. The fixed sentences and the id
@@ -11,7 +13,7 @@
11
13
  */
12
14
  export { agUiSerializer, AG_UI_CUSTOM_EVENTS, } from './serializer.js';
13
15
  export { agUiSse } from './framing.js';
14
- export { agUi } from './adapter.js';
15
- export { AG_UI_MAX_ID_LENGTH, readAgUiRunInput } from './request.js';
16
+ export { agUi, } from './adapter.js';
17
+ export { AG_UI_MAX_ID_LENGTH, readAgUiRunInput, } from './request.js';
16
18
  export { AG_UI_PROTOCOL_VERSION, } from './types.js';
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,cAAc,EACd,mBAAmB,GAKpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAA+C,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,IAAI,EAAoB,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAsB,MAAM,cAAc,CAAC;AACzF,OAAO,EACL,sBAAsB,GAavB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,cAAc,EACd,mBAAmB,GAKpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAA+C,MAAM,cAAc,CAAC;AACpF,OAAO,EACL,IAAI,GAIL,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAKjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,GAavB,MAAM,YAAY,CAAC"}
@@ -2,15 +2,28 @@
2
2
  * request — an AG-UI request (`RunAgentInput`) read as UNTRUSTED browser input,
3
3
  * and the one turn it may ask for.
4
4
  *
5
- * Two steps, each refusing by NAME (a `WireRequestRefusal`: its own status and
6
- * code; the field named, the value never quoted back):
5
+ * Three steps. The first is the app's to replace; the other two are the CORE,
6
+ * and run whichever reader produced the request — so a reader can map another
7
+ * body onto a turn, and never weaken a rule:
7
8
  *
8
- * readAgUiRunInput the body's SHAPE, field by field, and the ids' FORMAT
9
- * and length — nothing here is trusted, nothing the
10
- * server holds is read;
9
+ * the READER a body → an {@link AgUiTurnRequest}. The default takes
10
+ * the body as an AG-UI `RunAgentInput`; a gateway that
11
+ * sends its own body shape passes its own
12
+ * ({@link AgUiRequestReader}). Mapping only — it decides
13
+ * nothing below;
14
+ * readAgUiRequest what a custom reader produced, copied as plain JSON (so
15
+ * a getter or a proxy cannot answer the check one way and
16
+ * the plan another; the default reader's body is parsed
17
+ * JSON already and is read as it is), then
18
+ * readAgUiRunInput its SHAPE, field by field, and
19
+ * the ids' FORMAT and length — nothing here is trusted,
20
+ * nothing the server holds is read;
11
21
  * planAgUiTurn the turn, from the request AND what the server holds
12
22
  * for the bound conversation.
13
23
  *
24
+ * The core's steps refuse by NAME (a `WireRequestRefusal`: its own status and
25
+ * code; the field named, the value never quoted back).
26
+ *
14
27
  * WHAT A REQUEST MAY DECIDE, and what it may not:
15
28
  * - the newest USER message is the run's message. Nothing else the browser
16
29
  * sends is ever conversation: its assistant and tool messages are its own
@@ -31,9 +44,9 @@
31
44
  * binds the thread to the caller the app authenticates (`ThreadBinder`).
32
45
  * `forwardedProps` is never read.
33
46
  */
34
- import type { HeldConversation, PlanFacts, ProtocolPlan, ThreadBinding } from '../hosting/protocolAdapter.js';
47
+ import type { HeldConversation, PlanFacts, ProtocolPlan, ProtocolRequestFacts, ThreadBinding } from '../hosting/protocolAdapter.js';
35
48
  import type { Tool } from '../tools/tools.js';
36
- import type { AgUiRunInput, AgUiSuspension } from './types.js';
49
+ import type { AgUiMessage, AgUiResumeEntry, AgUiRunInput, AgUiSuspension } from './types.js';
37
50
  /** The longest thread or run id read — longer is refused, never truncated. */
38
51
  export declare const AG_UI_MAX_ID_LENGTH = 128;
39
52
  /**
@@ -43,6 +56,72 @@ export declare const AG_UI_MAX_ID_LENGTH = 128;
43
56
  * @throws WireRequestRefusal (400, `ERR_INVALID_RUN_INPUT`)
44
57
  */
45
58
  export declare function readAgUiRunInput(body: unknown): AgUiRunInput;
59
+ /**
60
+ * What a request reader hands the core: the one turn a request asks for, in
61
+ * AG-UI's terms. `AgUiRunInput` is one (a `RunAgentInput` as sent); a reader
62
+ * for another body builds one from it — `tools` and `context` may be left out.
63
+ *
64
+ * It carries no identity, credential or redaction setting, and the core reads
65
+ * nothing else a reader adds: the caller is bound by the host's `ThreadBinder`,
66
+ * a credential reaches a run only through the host's `sealRequest`.
67
+ */
68
+ export interface AgUiTurnRequest {
69
+ /** The conversation the request NAMES — format-checked, never a key. */
70
+ readonly threadId: string;
71
+ /** The run id the stream names this run by — format-checked. */
72
+ readonly runId: string;
73
+ readonly parentRunId?: string;
74
+ /**
75
+ * The messages, newest last. Only the newest is read — a user message (the
76
+ * run's message), or the `tool` message answering the frontend tool call a
77
+ * paused run waits on. A system or developer message anywhere is refused.
78
+ */
79
+ readonly messages: readonly AgUiMessage[];
80
+ /** The frontend tools the caller offers — run only when the app allow-listed the name. */
81
+ readonly tools?: AgUiRunInput['tools'];
82
+ /** Reaches the agent only through the app's `accept.context` validator. */
83
+ readonly context?: AgUiRunInput['context'];
84
+ /** Reaches the agent only through the app's `accept.state` validator. */
85
+ readonly state?: unknown;
86
+ /** Answers to the interrupt a paused run waits on — matched to the server's own record. */
87
+ readonly resume?: readonly AgUiResumeEntry[];
88
+ }
89
+ /**
90
+ * What a request reader is given: the request as the host read it — UNTRUSTED.
91
+ * The host port's own `ProtocolRequestFacts` (the parsed body, the headers).
92
+ */
93
+ export type AgUiRequestFacts = ProtocolRequestFacts;
94
+ /**
95
+ * The request-reading strategy: a body → the turn it asks for. Mapping only;
96
+ * every rule runs after it, in the core. Refuse a body it cannot read by
97
+ * throwing a `WireRequestRefusal` (its status and code reach the caller);
98
+ * anything else it throws is refused as a malformed request, in fixed words.
99
+ *
100
+ * @example A gateway that sends `{ conversationId, requestId, text }`
101
+ * ```ts
102
+ * const reader: AgUiRequestReader = ({ body }) => {
103
+ * const b = body as { conversationId?: unknown; requestId?: unknown; text?: unknown };
104
+ * return {
105
+ * threadId: String(b.conversationId),
106
+ * runId: String(b.requestId),
107
+ * messages: [{ id: 'gateway-turn', role: 'user', content: String(b.text) }],
108
+ * };
109
+ * };
110
+ * ```
111
+ */
112
+ export type AgUiRequestReader = (request: AgUiRequestFacts) => AgUiTurnRequest;
113
+ /** The default reader: the body IS an AG-UI `RunAgentInput`. */
114
+ export declare const runAgentInputReader: AgUiRequestReader;
115
+ /**
116
+ * The core's read of one request: `reader` maps the body, and what it produced
117
+ * is checked by {@link readAgUiRunInput} — whichever reader it was. A custom
118
+ * reader's answer is copied as plain JSON first; the default reader's is the
119
+ * parsed body itself, read exactly as before readers were replaceable.
120
+ *
121
+ * @throws WireRequestRefusal — the reader's own refusal, or the core's by name
122
+ * (400, `ERR_INVALID_RUN_INPUT`).
123
+ */
124
+ export declare function readAgUiRequest(reader: AgUiRequestReader, request: AgUiRequestFacts): AgUiRunInput;
46
125
  /** What a page's `state` or `context` is checked by before the agent may see it. */
47
126
  export type AgUiValidator = (value: unknown, at: {
48
127
  /** The conversation the request was bound to — whose state this claims to be. */
@@ -2,15 +2,28 @@
2
2
  * request — an AG-UI request (`RunAgentInput`) read as UNTRUSTED browser input,
3
3
  * and the one turn it may ask for.
4
4
  *
5
- * Two steps, each refusing by NAME (a `WireRequestRefusal`: its own status and
6
- * code; the field named, the value never quoted back):
5
+ * Three steps. The first is the app's to replace; the other two are the CORE,
6
+ * and run whichever reader produced the request — so a reader can map another
7
+ * body onto a turn, and never weaken a rule:
7
8
  *
8
- * readAgUiRunInput the body's SHAPE, field by field, and the ids' FORMAT
9
- * and length — nothing here is trusted, nothing the
10
- * server holds is read;
9
+ * the READER a body → an {@link AgUiTurnRequest}. The default takes
10
+ * the body as an AG-UI `RunAgentInput`; a gateway that
11
+ * sends its own body shape passes its own
12
+ * ({@link AgUiRequestReader}). Mapping only — it decides
13
+ * nothing below;
14
+ * readAgUiRequest what a custom reader produced, copied as plain JSON (so
15
+ * a getter or a proxy cannot answer the check one way and
16
+ * the plan another; the default reader's body is parsed
17
+ * JSON already and is read as it is), then
18
+ * readAgUiRunInput its SHAPE, field by field, and
19
+ * the ids' FORMAT and length — nothing here is trusted,
20
+ * nothing the server holds is read;
11
21
  * planAgUiTurn the turn, from the request AND what the server holds
12
22
  * for the bound conversation.
13
23
  *
24
+ * The core's steps refuse by NAME (a `WireRequestRefusal`: its own status and
25
+ * code; the field named, the value never quoted back).
26
+ *
14
27
  * WHAT A REQUEST MAY DECIDE, and what it may not:
15
28
  * - the newest USER message is the run's message. Nothing else the browser
16
29
  * sends is ever conversation: its assistant and tool messages are its own
@@ -175,6 +188,51 @@ export function readAgUiRunInput(body) {
175
188
  ...(resume.length > 0 && { resume: resume }),
176
189
  };
177
190
  }
191
+ /** The default reader: the body IS an AG-UI `RunAgentInput`. */
192
+ export const runAgentInputReader = ({ body }) => body;
193
+ /**
194
+ * The core's read of one request: `reader` maps the body, and what it produced
195
+ * is checked by {@link readAgUiRunInput} — whichever reader it was. A custom
196
+ * reader's answer is copied as plain JSON first; the default reader's is the
197
+ * parsed body itself, read exactly as before readers were replaceable.
198
+ *
199
+ * @throws WireRequestRefusal — the reader's own refusal, or the core's by name
200
+ * (400, `ERR_INVALID_RUN_INPUT`).
201
+ */
202
+ export function readAgUiRequest(reader, request) {
203
+ if (reader === runAgentInputReader)
204
+ return readAgUiRunInput(request.body);
205
+ let answer;
206
+ let produced;
207
+ try {
208
+ answer = reader(request);
209
+ if (!isThenable(answer))
210
+ produced = plainJson(answer);
211
+ }
212
+ catch (err) {
213
+ if (err instanceof WireRequestRefusal)
214
+ throw err;
215
+ // Never the reader's message: it may quote the body it could not read.
216
+ throw malformed('the request reader could not read the body.');
217
+ }
218
+ // An app's mistake, never the caller's: a reader answers at once. (A
219
+ // Promise copied as JSON would be `{}`, refused as the CALLER's fault.)
220
+ if (isThenable(answer))
221
+ throw new TypeError('agUi(): reader must return the turn itself, not a Promise.');
222
+ return readAgUiRunInput(produced);
223
+ }
224
+ const isThenable = (value) => typeof value?.then === 'function';
225
+ /**
226
+ * A custom reader's answer as plain JSON — every value read ONCE, here: a
227
+ * getter, a proxy or a `toJSON` cannot answer the core's check one way and its
228
+ * plan another. JSON's own rules apply (a non-finite number becomes `null`); a
229
+ * value JSON cannot hold (a cycle, a BigInt, nesting too deep to write) is
230
+ * refused as a malformed request.
231
+ */
232
+ function plainJson(value) {
233
+ const text = JSON.stringify(value);
234
+ return text === undefined ? undefined : JSON.parse(text);
235
+ }
178
236
  /**
179
237
  * Plan one turn: the request (read by {@link readAgUiRunInput}) against what
180
238
  * the server holds for its bound conversation.
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/ag-ui/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAkB1D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC;;;;GAIG;AACH,MAAM,SAAS,GAAG,+BAA+B,CAAC;AAElD,2DAA2D;AAC3D,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,yEAAyE;AACzE,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC;IACzC,MAAM;IACN,WAAW;IACX,MAAM;IACN,QAAQ;IACR,WAAW;IACX,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,SAAS,GAAG,CAAC,IAAY,EAAsB,EAAE,CACrD,IAAI,kBAAkB,CAAC,uBAAuB,EAAE,UAAU,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAEzE,+EAA+E;AAC/E,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,MAAM,GAAG,GAAG,EAAsB,EAAE,CAC/E,IAAI,kBAAkB,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;AAEzD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAA8C,EAAE,CAC9E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,oEAAoE;AACpE,SAAS,KAAK,CAAC,KAAc,EAAE,KAAa;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACjD,MAAM,SAAS,CAAC,KAAK,KAAK,gCAAgC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB;QACpC,MAAM,SAAS,CAAC,KAAK,KAAK,qBAAqB,mBAAmB,cAAc,CAAC,CAAC;IACpF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,SAAS,CACb,KAAK,KAAK,+EAA+E,CAC1F,CAAC;IACJ,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4DAA4D;AAC5D,SAAS,MAAM,CAAC,KAAc,EAAE,KAAa;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACjD,MAAM,SAAS,CAAC,KAAK,KAAK,gCAAgC,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB;QACnC,MAAM,SAAS,CAAC,KAAK,KAAK,qBAAqB,kBAAkB,cAAc,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,IAAI,CAAC,KAAc,EAAE,KAAa;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,SAAS,CAAC,KAAK,KAAK,sBAAsB,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,EAAU,EAAE,QAAQ,GAAG,KAAK;IAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ;QAAE,OAAO;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,MAAM,SAAS,CAAC,KAAK,EAAE,iDAAiD,CAAC,CAAC;IAC5E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAClD,MAAM,SAAS,CAAC,mBAAmB,EAAE,kCAAkC,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YACvD,MAAM,SAAS,CAAC,oBAAoB,EAAE,iCAAiC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,CAAS;IACxC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC;IAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1D,MAAM,SAAS,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;IAC1D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,WAAW;YACd,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC7C,MAAM,SAAS,CAAC,KAAK,KAAK,6BAA6B,CAAC,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;gBAC/B,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ;oBACvF,MAAM,SAAS,CAAC,KAAK,KAAK,4DAA4D,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,MAAM;QACR;YACE,MAAM;IACV,CAAC;IACD,OAAO,KAA+B,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAChF,MAAM,SAAS,CAAC,WAAW,CAAC,0DAA0D,CAAC,CAAC;QAC1F,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,MAAM,SAAS,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;QAC3E,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3B,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YACrC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAE/B,MAAM,SAAS,CAAC,aAAa,CAAC,uDAAuD,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,SAAS,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;YAC7D,MAAM,SAAS,CAAC,YAAY,CAAC,+CAA+C,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IACH,OAAO;QACL,GAAI,IAAgC;QACpC,QAAQ;QACR,KAAK,EAAE,KAA8B;QACrC,OAAO,EAAE,OAAkC;QAC3C,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAoC,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAsBD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,IAAsB,EACtB,KAAgB,EAChB,KAAoB;IAEpB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAC/C,MAAM,OAAO,CACX,8BAA8B,EAC9B,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,yDAAyD;gBACpF,mBAAmB,CACtB,CAAC;IACN,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAChD,MAAM,OAAO,GAAG,SAAS,CACvB,SAAS,EACT,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EACtD,KAAK,CAAC,MAAM,CAAC,OAAO,EACpB,KAAK,CACN,CAAC;IACF,IAAI,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IACtD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAS,OAAO,CAAC,KAAmB,EAAE,KAAgB,EAAE,KAAoB;IAC1E,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,OAAO,CACX,sBAAsB,EACtB,SAAS,CAAC,4EAA4E;gBACpF,4DAA4D,CAC/D,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;QACxC,MAAM,OAAO,CACX,8BAA8B,EAC9B,wFAAwF;YACtF,gFAAgF,CACnF,CAAC;IACJ,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,SAAS,SAAS,CAChB,IAAyB,EACzB,KAAc,EACd,SAAoC,EACpC,KAAgB;IAEhB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,SAAS,KAAK,SAAS;QACzB,MAAM,OAAO,CACX,OAAO,KAAK,cAAc,EAC1B,yBAAyB,IAAI,6DAA6D;YACxF,iCAAiC,IAAI,QAAQ,CAChD,CAAC;IACJ,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,EAAE;YACtB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,kBAAkB;YAAE,MAAM,GAAG,CAAC;QACjD,uEAAuE;QACvE,MAAM,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,iCAAiC,IAAI,KAAK,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,KAAc,EAAW,EAAE,CAC1C,KAAK,KAAK,SAAS;IACnB,KAAK,KAAK,IAAI;IACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5C,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAEvD,oEAAoE;AACpE,SAAS,MAAM,CAAC,KAAmB,EAAE,IAAsB,EAAE,KAAgB;IAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YACnB,MAAM,OAAO,CACX,oBAAoB,EACpB,KAAK,CAAC,WAAW;gBACf,CAAC,CAAC,uEAAuE;gBACzE,CAAC,CAAC,kFAAkF,EACtF,GAAG,CACJ,CAAC;QACJ,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YACvB,MAAM,OAAO,CACX,uBAAuB,EACvB,YAAY,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,2CAA2C;gBAC9E,mFAAmF,CACtF,CAAC;QACJ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,UAAU,KAAK,SAAS;QAC1B,MAAM,OAAO,CACX,uBAAuB,EACvB,8EAA8E,EAC9E,GAAG,CACJ,CAAC;IACJ,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IACxF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,MAAM,OAAO,CACX,uBAAuB,EACvB,6EAA6E,EAC7E,GAAG,CACJ,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACnC,MAAM,OAAO,CACX,uBAAuB,EACvB,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,4DAA4D,CACzF,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAoB,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAC9B,MAAM,OAAO,CACX,wBAAwB,EACxB,wFAAwF;YACtF,6CAA6C,CAChD,CAAC;IACJ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,8FAA8F;AAC9F,SAAS,YAAY,CAAC,KAAmB,EAAE,IAAuB;IAChE,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClG,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;QACvB,MAAM,OAAO,CACX,uBAAuB,EACvB,YAAY,EAAE,sDAAsD,CACrE,CAAC;IACJ,MAAM,OAAO,CACX,uBAAuB,EACvB,sFAAsF;QACpF,0CAA0C,EAC5C,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,SAAS,aAAa,CAAC,KAAmB,EAAE,KAAgB;IAC1D,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAC5C,MAAM,OAAO,CACX,kBAAkB,EAClB,wFAAwF,CACzF,CAAC;IACJ,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,GAAG,CAAC;QACpC,MAAM,OAAO,CACX,2BAA2B,EAC3B,qFAAqF;YACnF,iFAAiF;YACjF,+BAA+B,CAClC,CAAC;IACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACjG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,MAAM,CAAC,KAAsD,EAAE,EAAU;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YACtB,MAAM,OAAO,CACX,uBAAuB,EACvB,YAAY,EAAE,eAAe,IAAI,CAAC,IAAI,uCAAuC,CAC9E,CAAC;QACJ,GAAG,IAAK,IAAyB,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC9E,MAAM,KAAK,GAAG,CAAC,KAAc,EAA8B,EAAE,CAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACtF,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACpF,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IACE,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACd,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS;YAChC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,SAAS,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAmB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAkB;YACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS;gBACjF,OAAO,SAAS,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,CAAC;YAC/E,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC;IAC9E,CAAC;IACD,OAAO,KAAkC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/ag-ui/request.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  /** Explicit, bounded validation of schema-accepted JSON answers. */
2
- export { AnswerValidationError, type AnswerCheck, type AnswerEvidenceRefusal, type AnswerEvidenceResolution, type AnswerEvidenceResolver, type AnswerValidationContext, type AnswerValidationLimits, type AnswerValidationOptions, type AnswerValidationReport, type AnswerValidationResult, type ResolvedAnswerValidation, } from './types.js';
2
+ export { AnswerValidationError, type AnswerCheck, type AnswerEvidenceRefusal, type AnswerEvidenceResolution, type AnswerEvidenceResolver, type AnswerToolCall, type AnswerToolCallsView, type AnswerValidationContext, type AnswerValidationLimits, type AnswerValidationOptions, type AnswerValidationReport, type AnswerValidationResult, type ResolvedAnswerValidation, } from './types.js';
3
3
  export { resolveAnswerValidation, executeAnswerValidation } from './validate.js';
4
+ export { appendToolCall, incompleteToolCalls, ledgerAtCheck, startToolCall, toolCallsView, toolOutcomeOf, type ToolCallLedger, } from './toolLedger.js';
@@ -1,4 +1,5 @@
1
1
  /** Explicit, bounded validation of schema-accepted JSON answers. */
2
2
  export { AnswerValidationError, } from './types.js';
3
3
  export { resolveAnswerValidation, executeAnswerValidation } from './validate.js';
4
+ export { appendToolCall, incompleteToolCalls, ledgerAtCheck, startToolCall, toolCallsView, toolOutcomeOf, } from './toolLedger.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/answer-validation/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EACL,qBAAqB,GAWtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/answer-validation/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EACL,qBAAqB,GAatB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GAEd,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * The run's tool calls, as a bounded read-only parcel for an authored check.
3
+ *
4
+ * Names, call ids and outcomes only. Arguments and results never enter it:
5
+ * both are redaction-sensitive, and a rule about WHICH tools ran needs
6
+ * neither. The ledger is tracked state of the run that owns the check, so it
7
+ * cannot hold another run's calls; it is written only on an agent with
8
+ * `answerValidation`, so every other agent commits the keys it always did.
9
+ */
10
+ import type { AnswerToolCall, AnswerToolCallsView } from './types.js';
11
+ /** Longest tool name or call id listed. A model can send any name and a
12
+ * provider any id; a longer one is left out and the view marked incomplete. */
13
+ export declare const MAX_TOOL_CALL_TEXT = 256;
14
+ /**
15
+ * The ledger as the run's state holds it: the view's fields plus the ids of
16
+ * calls whose `stream.tool_start` bracket opened and whose `tool_end` has not
17
+ * yet closed. A call still open at the check makes the view incomplete.
18
+ */
19
+ export interface ToolCallLedger extends AnswerToolCallsView {
20
+ readonly inFlight?: readonly string[];
21
+ }
22
+ /** A ledger that may have missed calls: what ran before this run observed it. */
23
+ export declare function incompleteToolCalls(): ToolCallLedger;
24
+ /**
25
+ * The ledger after a call's `tool_start` bracket: the call is open until its
26
+ * `tool_end` lands. Past `max` open calls, or for an oversized id, the ledger
27
+ * cannot track it and says it is incomplete instead.
28
+ */
29
+ export declare function startToolCall(prior: ToolCallLedger | undefined, callId: string, max: number): ToolCallLedger;
30
+ /**
31
+ * The ledger after one call's `tool_end` bracket: the call is closed and
32
+ * listed. Past `max` calls (or for an oversized name or id) nothing more is
33
+ * listed and the ledger says it is incomplete, so a rule that counts can tell
34
+ * "none ran" from "not listed". A call whose own work has not settled (a tool
35
+ * that declared `pending`) makes it incomplete too. Returns `prior` itself
36
+ * when nothing changes, so the caller can skip the write.
37
+ */
38
+ export declare function appendToolCall(prior: ToolCallLedger | undefined, call: AnswerToolCall, max: number, settled?: boolean): ToolCallLedger;
39
+ /**
40
+ * The ledger as one check sees it, read at the moment of the check: incomplete
41
+ * when there is none, when a call is still open, or when the model's last
42
+ * reply asked for calls that never went out (`undispatched` — the check runs
43
+ * on the terminal branch, so a call on that reply was never dispatched: a run
44
+ * cut off by its iteration or cost budget with calls still pending).
45
+ */
46
+ export declare function ledgerAtCheck(ledger: ToolCallLedger | undefined, undispatched: number): AnswerToolCallsView;
47
+ /**
48
+ * The parcel one validation receives: detached from the run's state and frozen
49
+ * at every level, so a check can neither edit the ledger nor reach live state
50
+ * through it. Anything that is not the declared shape is dropped, never passed on.
51
+ */
52
+ export declare function toolCallsView(ledger: AnswerToolCallsView | undefined, max: number): AnswerToolCallsView;
53
+ /**
54
+ * The outcome of one `stream.tool_end` bracket, in the view's words. `ran` is
55
+ * whether the tool's own code ran: a call that did not run and carries no
56
+ * `error` (a person declined it, a rule refused it, a paused batch settled it)
57
+ * is `not-run`, never `ok`. A tool that ran but declared `failure`, `denied` or
58
+ * `invalid` (a refused oversize result among them) is `error`.
59
+ */
60
+ export declare function toolOutcomeOf(bracket: {
61
+ readonly error?: boolean;
62
+ readonly notExecuted?: boolean;
63
+ readonly notDispatched?: unknown;
64
+ readonly status?: string;
65
+ }, ran: boolean): AnswerToolCall['outcome'];
@@ -0,0 +1,121 @@
1
+ /** Longest tool name or call id listed. A model can send any name and a
2
+ * provider any id; a longer one is left out and the view marked incomplete. */
3
+ export const MAX_TOOL_CALL_TEXT = 256;
4
+ const fits = (text) => typeof text === 'string' && text.length > 0 && text.length <= MAX_TOOL_CALL_TEXT;
5
+ /** A ledger that may have missed calls: what ran before this run observed it. */
6
+ export function incompleteToolCalls() {
7
+ return { calls: [], complete: false };
8
+ }
9
+ // Seed starts a ledger on every run that keeps one, so a missing one at a
10
+ // landing means a run resumed from a checkpoint written before ledgers
11
+ // existed: what it did before the pause was not observed.
12
+ const orIncomplete = (prior) => prior ?? incompleteToolCalls();
13
+ const withInFlight = (ledger, inFlight, complete) => ({
14
+ calls: [...ledger.calls],
15
+ complete,
16
+ ...(inFlight.length > 0 && { inFlight: [...inFlight] }),
17
+ });
18
+ /**
19
+ * The ledger after a call's `tool_start` bracket: the call is open until its
20
+ * `tool_end` lands. Past `max` open calls, or for an oversized id, the ledger
21
+ * cannot track it and says it is incomplete instead.
22
+ */
23
+ export function startToolCall(prior, callId, max) {
24
+ const ledger = orIncomplete(prior);
25
+ const inFlight = ledger.inFlight ?? [];
26
+ if (inFlight.length >= max || !fits(callId)) {
27
+ return ledger.complete ? withInFlight(ledger, inFlight, false) : ledger;
28
+ }
29
+ return withInFlight(ledger, [...inFlight, callId], ledger.complete);
30
+ }
31
+ /**
32
+ * The ledger after one call's `tool_end` bracket: the call is closed and
33
+ * listed. Past `max` calls (or for an oversized name or id) nothing more is
34
+ * listed and the ledger says it is incomplete, so a rule that counts can tell
35
+ * "none ran" from "not listed". A call whose own work has not settled (a tool
36
+ * that declared `pending`) makes it incomplete too. Returns `prior` itself
37
+ * when nothing changes, so the caller can skip the write.
38
+ */
39
+ export function appendToolCall(prior, call, max, settled = true) {
40
+ const ledger = orIncomplete(prior);
41
+ const open = ledger.inFlight ?? [];
42
+ const at = open.indexOf(call.callId);
43
+ const inFlight = at === -1 ? open : [...open.slice(0, at), ...open.slice(at + 1)];
44
+ const complete = ledger.complete && settled;
45
+ if (ledger.calls.length >= max || !fits(call.name) || !fits(call.callId)) {
46
+ if (at === -1 && !ledger.complete)
47
+ return ledger;
48
+ return withInFlight(ledger, inFlight, false);
49
+ }
50
+ return {
51
+ ...withInFlight(ledger, inFlight, complete),
52
+ calls: [...ledger.calls, { name: call.name, callId: call.callId, outcome: call.outcome }],
53
+ };
54
+ }
55
+ /**
56
+ * The ledger as one check sees it, read at the moment of the check: incomplete
57
+ * when there is none, when a call is still open, or when the model's last
58
+ * reply asked for calls that never went out (`undispatched` — the check runs
59
+ * on the terminal branch, so a call on that reply was never dispatched: a run
60
+ * cut off by its iteration or cost budget with calls still pending).
61
+ */
62
+ export function ledgerAtCheck(ledger, undispatched) {
63
+ if (ledger === undefined)
64
+ return incompleteToolCalls();
65
+ // Anything off the declared shape (a placeholder where a list belongs) is
66
+ // unknown, never "empty": fail closed.
67
+ const wellFormed = Array.isArray(ledger.calls) &&
68
+ (ledger.inFlight === undefined || Array.isArray(ledger.inFlight));
69
+ if (!wellFormed)
70
+ return incompleteToolCalls();
71
+ const open = ledger.inFlight?.length ?? 0;
72
+ return {
73
+ calls: ledger.calls,
74
+ complete: ledger.complete === true && open === 0 && undispatched === 0,
75
+ };
76
+ }
77
+ /**
78
+ * The parcel one validation receives: detached from the run's state and frozen
79
+ * at every level, so a check can neither edit the ledger nor reach live state
80
+ * through it. Anything that is not the declared shape is dropped, never passed on.
81
+ */
82
+ export function toolCallsView(ledger, max) {
83
+ // No ledger is not "nothing ran": a checkpoint written before the run kept
84
+ // one, or a caller that passed none. Fail closed — say the list is partial.
85
+ if (ledger === undefined)
86
+ return Object.freeze({ calls: Object.freeze([]), complete: false });
87
+ const listed = Array.isArray(ledger.calls);
88
+ const source = listed ? ledger.calls : [];
89
+ const calls = [];
90
+ let complete = listed && ledger.complete === true && source.length <= max;
91
+ for (const raw of source.slice(0, max)) {
92
+ const name = raw?.name;
93
+ const callId = raw?.callId;
94
+ const outcome = raw?.outcome;
95
+ if (!fits(name) ||
96
+ !fits(callId) ||
97
+ (outcome !== 'ok' && outcome !== 'error' && outcome !== 'not-run')) {
98
+ complete = false;
99
+ continue;
100
+ }
101
+ calls.push(Object.freeze({ name, callId, outcome }));
102
+ }
103
+ return Object.freeze({ calls: Object.freeze(calls), complete });
104
+ }
105
+ /** A tool's own declared status that says it did not succeed. */
106
+ const FAILED_STATUS = new Set(['failure', 'denied', 'invalid']);
107
+ /**
108
+ * The outcome of one `stream.tool_end` bracket, in the view's words. `ran` is
109
+ * whether the tool's own code ran: a call that did not run and carries no
110
+ * `error` (a person declined it, a rule refused it, a paused batch settled it)
111
+ * is `not-run`, never `ok`. A tool that ran but declared `failure`, `denied` or
112
+ * `invalid` (a refused oversize result among them) is `error`.
113
+ */
114
+ export function toolOutcomeOf(bracket, ran) {
115
+ if (bracket.error === true)
116
+ return 'error';
117
+ if (bracket.notDispatched !== undefined || bracket.notExecuted === true || !ran)
118
+ return 'not-run';
119
+ return bracket.status !== undefined && FAILED_STATUS.has(bracket.status) ? 'error' : 'ok';
120
+ }
121
+ //# sourceMappingURL=toolLedger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolLedger.js","sourceRoot":"","sources":["../../../src/answer-validation/toolLedger.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,56 @@ export interface AnswerEvidenceResolver {
28
28
  readonly kind: string;
29
29
  }): Promise<AnswerEvidenceResolution>;
30
30
  }
31
+ /**
32
+ * One tool call of THIS run, as the loop reported it on `stream.tool_end`.
33
+ * Names and ids only: arguments and results are never in it. The call's
34
+ * result message carries the same `callId` (`LLMMessage.toolCallId`).
35
+ */
36
+ export interface AnswerToolCall {
37
+ /** The tool name the model called (a registered name, or an unknown one it made up). */
38
+ readonly name: string;
39
+ readonly callId: string;
40
+ /**
41
+ * `ok`: the tool ran and returned — including a call that paused for a
42
+ * person, whose answer on `resume()` is its result. `error`: it threw, declared `failure`,
43
+ * `denied` or `invalid`, or could not run as written (an unknown name,
44
+ * rejected arguments, a missing consent). `not-run`: it never ran (a
45
+ * permission policy, an `onToolCall` link or a person declined it, or a
46
+ * paused batch never dispatched it).
47
+ */
48
+ readonly outcome: 'ok' | 'error' | 'not-run';
49
+ }
50
+ /**
51
+ * The run's tool calls in landing order, frozen and detached from state: the
52
+ * MODEL's own calls, each closed by a `stream.tool_end` bracket. Calls a tool
53
+ * makes from inside itself (`ctx.tools`, an agent used as a tool) are that
54
+ * tool's work and are not listed. A paused run's calls cross to the resumed
55
+ * leg inside its checkpoint, which the host must keep server-side (as
56
+ * `streamHandler` does): a forged checkpoint could list calls that never ran.
57
+ */
58
+ export interface AnswerToolCallsView {
59
+ readonly calls: readonly AnswerToolCall[];
60
+ /**
61
+ * `false` when the list may disagree with what the run did: more than
62
+ * `limits.maxToolCalls`, an oversized name or id, a call still open (its
63
+ * `tool_start` with no `tool_end`), a tool that declared its work
64
+ * `pending`, a reply whose calls never went out (a cut-off or wrapped-up
65
+ * turn), a `resumeOnError` leg
66
+ * whose failed attempt's calls this run never observed, or a resumed
67
+ * checkpoint written before the run kept a ledger.
68
+ *
69
+ * Fail closed: a check that reads `toolCalls` while it is incomplete gets
70
+ * an `unverified` report (reason `tool-calls-incomplete`) whatever it
71
+ * returns, so enforce mode withholds the answer.
72
+ */
73
+ readonly complete: boolean;
74
+ }
31
75
  /** Capabilities for this invocation only; retained readers close on completion. */
32
76
  export interface AnswerValidationContext {
33
77
  readonly signal: AbortSignal;
34
78
  readonly artifacts: AnswerEvidenceResolver;
79
+ /** This run's tool calls, never another run's. Empty when no tool ran. */
80
+ readonly toolCalls: AnswerToolCallsView;
35
81
  }
36
82
  /** Bounds are per validation, positive safe integers, with no unbounded mode. */
37
83
  export interface AnswerValidationLimits {
@@ -45,6 +91,8 @@ export interface AnswerValidationLimits {
45
91
  readonly maxCandidateBytes?: number;
46
92
  /** Async deadline; cannot preempt synchronous author code. Default 5000 ms. */
47
93
  readonly timeoutMs?: number;
94
+ /** Tool calls listed in `context.toolCalls`; past it the view is incomplete. Default 256, at most 10,000. */
95
+ readonly maxToolCalls?: number;
48
96
  }
49
97
  /** The validator reports comparisons; the framework derives their outcome. */
50
98
  export interface AnswerValidationResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/answer-validation/types.ts"],"names":[],"mappings":"AA6GA,mFAAmF;AACnF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAgC,CAAC;IACxC,MAAM,CAAyB;IAExC,YAAY,MAA8B;QACxC,KAAK,CAAC,sBAAsB,MAAM,CAAC,WAAW,mBAAmB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;gBACZ,GAAG,KAAK;gBACR,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI;oBACtC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;iBACrD,CAAC;aACH,CAAC,CACH,CACF;YACD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/answer-validation/types.ts"],"names":[],"mappings":"AA+JA,mFAAmF;AACnF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAgC,CAAC;IACxC,MAAM,CAAyB;IAExC,YAAY,MAA8B;QACxC,KAAK,CAAC,sBAAsB,MAAM,CAAC,WAAW,mBAAmB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC;gBACZ,GAAG,KAAK;gBACR,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI;oBACtC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;iBACrD,CAAC;aACH,CAAC,CACH,CACF;YACD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  /** One explicit JSON-answer validation; the runner owns when to invoke it. */
2
2
  import { type OutputSchemaParser } from './outputSchema.js';
3
3
  import type { ArtifactScope, ArtifactStore } from '../artifacts/types.js';
4
- import type { AnswerValidationOptions, AnswerValidationReport, ResolvedAnswerValidation } from './types.js';
4
+ import type { AnswerToolCallsView, AnswerValidationOptions, AnswerValidationReport, ResolvedAnswerValidation } from './types.js';
5
5
  /** Validate and snapshot an authored contract once, before running an agent. */
6
6
  export declare function resolveAnswerValidation<T = unknown>(options: AnswerValidationOptions<T>): ResolvedAnswerValidation;
7
7
  /**
@@ -9,7 +9,7 @@ export declare function resolveAnswerValidation<T = unknown>(options: AnswerVali
9
9
  * contract. It is the exact JSON string whose detached value was checked;
10
10
  * callers must not reparse through a transforming schema or rewrite afterward.
11
11
  */
12
- export declare function executeAnswerValidation(raw: string, parser: OutputSchemaParser<unknown>, config: ResolvedAnswerValidation, store: ArtifactStore | undefined, scope: ArtifactScope, signal?: AbortSignal): Promise<{
12
+ export declare function executeAnswerValidation(raw: string, parser: OutputSchemaParser<unknown>, config: ResolvedAnswerValidation, store: ArtifactStore | undefined, scope: ArtifactScope, signal?: AbortSignal, toolCalls?: AnswerToolCallsView): Promise<{
13
13
  report: AnswerValidationReport;
14
14
  content?: string;
15
15
  }>;