agentfootprint 10.3.1 → 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 (749) hide show
  1. package/AGENTS.md +2 -2
  2. package/CAPABILITIES.md +12 -1
  3. package/README.md +44 -0
  4. package/ai-instructions/claude-code/SKILL.md +2 -2
  5. package/ai-instructions/clinerules +22 -11
  6. package/ai-instructions/copilot-instructions.md +22 -11
  7. package/ai-instructions/cursor/agentfootprint.md +22 -11
  8. package/ai-instructions/kiro/agentfootprint.md +22 -11
  9. package/ai-instructions/windsurfrules +22 -11
  10. package/dist/adapters/llm/AnthropicProvider.js +26 -8
  11. package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
  12. package/dist/adapters/llm/BedrockProvider.js +23 -7
  13. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  14. package/dist/adapters/llm/BrowserAnthropicProvider.js +57 -49
  15. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  16. package/dist/adapters/llm/BrowserOpenAIProvider.js +50 -42
  17. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  18. package/dist/adapters/llm/FoundryLocalProvider.js +174 -212
  19. package/dist/adapters/llm/FoundryLocalProvider.js.map +1 -1
  20. package/dist/adapters/llm/GeminiProvider.js +23 -9
  21. package/dist/adapters/llm/GeminiProvider.js.map +1 -1
  22. package/dist/adapters/llm/InvokeModelGatewayProvider.js +32 -9
  23. package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  24. package/dist/adapters/llm/MockProvider.js +11 -3
  25. package/dist/adapters/llm/MockProvider.js.map +1 -1
  26. package/dist/adapters/llm/OllamaProvider.js +129 -167
  27. package/dist/adapters/llm/OllamaProvider.js.map +1 -1
  28. package/dist/adapters/llm/OpenAIProvider.js +36 -9
  29. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  30. package/dist/adapters/mcp/agentcoreRuntime/errorType.js +24 -0
  31. package/dist/adapters/mcp/agentcoreRuntime/errorType.js.map +1 -0
  32. package/dist/adapters/mcp/agentcoreRuntime/invoke.js +272 -0
  33. package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -0
  34. package/dist/adapters/mcp/agentcoreRuntime/safeAnswer.js +415 -0
  35. package/dist/adapters/mcp/agentcoreRuntime/safeAnswer.js.map +1 -0
  36. package/dist/adapters/mcp/agentcoreRuntime/session.js +179 -0
  37. package/dist/adapters/mcp/agentcoreRuntime/session.js.map +1 -0
  38. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +117 -0
  39. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -0
  40. package/dist/adapters/mcp/agentcoreRuntime/strictJson.js +220 -0
  41. package/dist/adapters/mcp/agentcoreRuntime/strictJson.js.map +1 -0
  42. package/dist/adapters/mcp/agentcoreRuntime/transport.js +222 -0
  43. package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -0
  44. package/dist/adapters/memory/agentcore.js +435 -20
  45. package/dist/adapters/memory/agentcore.js.map +1 -1
  46. package/dist/adapters/memory/memoryBank.js +16 -3
  47. package/dist/adapters/memory/memoryBank.js.map +1 -1
  48. package/dist/adapters/memory/pgVector.js +10 -4
  49. package/dist/adapters/memory/pgVector.js.map +1 -1
  50. package/dist/adapters/memory/redis.js +11 -3
  51. package/dist/adapters/memory/redis.js.map +1 -1
  52. package/dist/adapters/memory/s3Vectors.js +8 -3
  53. package/dist/adapters/memory/s3Vectors.js.map +1 -1
  54. package/dist/adapters/memory/sqliteVector.js +10 -4
  55. package/dist/adapters/memory/sqliteVector.js.map +1 -1
  56. package/dist/ag-ui/adapter.js +126 -0
  57. package/dist/ag-ui/adapter.js.map +1 -0
  58. package/dist/ag-ui/framing.js +68 -0
  59. package/dist/ag-ui/framing.js.map +1 -0
  60. package/dist/ag-ui/frontendTools.js +69 -0
  61. package/dist/ag-ui/frontendTools.js.map +1 -0
  62. package/dist/ag-ui/ids.js +54 -0
  63. package/dist/ag-ui/ids.js.map +1 -0
  64. package/dist/ag-ui/index.js +29 -0
  65. package/dist/ag-ui/index.js.map +1 -0
  66. package/dist/ag-ui/request.js +416 -0
  67. package/dist/ag-ui/request.js.map +1 -0
  68. package/dist/ag-ui/serializer.js +899 -0
  69. package/dist/ag-ui/serializer.js.map +1 -0
  70. package/dist/ag-ui/types.js +22 -0
  71. package/dist/ag-ui/types.js.map +1 -0
  72. package/dist/answer-validation/index.js +8 -1
  73. package/dist/answer-validation/index.js.map +1 -1
  74. package/dist/answer-validation/toolLedger.js +130 -0
  75. package/dist/answer-validation/toolLedger.js.map +1 -0
  76. package/dist/answer-validation/types.js.map +1 -1
  77. package/dist/answer-validation/validate.js +25 -3
  78. package/dist/answer-validation/validate.js.map +1 -1
  79. package/dist/classify/typesafe.js +31 -23
  80. package/dist/classify/typesafe.js.map +1 -1
  81. package/dist/core/Agent.js +106 -20
  82. package/dist/core/Agent.js.map +1 -1
  83. package/dist/core/LLMCall.js +16 -6
  84. package/dist/core/LLMCall.js.map +1 -1
  85. package/dist/core/RunnerBase.js +99 -13
  86. package/dist/core/RunnerBase.js.map +1 -1
  87. package/dist/core/agent/buildAgentChart.js +17 -5
  88. package/dist/core/agent/buildAgentChart.js.map +1 -1
  89. package/dist/core/agent/buildAgentMessageApiChart.js +22 -2
  90. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  91. package/dist/core/agent/buildDynamicAgentChart.js +23 -4
  92. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  93. package/dist/core/agent/buildMessageApiChart.js +22 -2
  94. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  95. package/dist/core/agent/callerIdentity.js +2 -1
  96. package/dist/core/agent/callerIdentity.js.map +1 -1
  97. package/dist/core/agent/stages/answerValidation.js +22 -1
  98. package/dist/core/agent/stages/answerValidation.js.map +1 -1
  99. package/dist/core/agent/stages/callLLM.js +19 -3
  100. package/dist/core/agent/stages/callLLM.js.map +1 -1
  101. package/dist/core/agent/stages/routeTurn.js +17 -4
  102. package/dist/core/agent/stages/routeTurn.js.map +1 -1
  103. package/dist/core/agent/stages/seed.js +58 -8
  104. package/dist/core/agent/stages/seed.js.map +1 -1
  105. package/dist/core/agent/stages/timeLayer.js +2 -2
  106. package/dist/core/agent/stages/timeLayer.js.map +1 -1
  107. package/dist/core/agent/stages/toolCalls.js +85 -25
  108. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  109. package/dist/core/agent/window/strategies/summarizeOldest.js +4 -0
  110. package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  111. package/dist/core/agent/window/summarize.js +6 -3
  112. package/dist/core/agent/window/summarize.js.map +1 -1
  113. package/dist/core/memberRun.js +293 -0
  114. package/dist/core/memberRun.js.map +1 -0
  115. package/dist/core/requestOfRun.js +28 -0
  116. package/dist/core/requestOfRun.js.map +1 -0
  117. package/dist/core/slots/buildToolsSlot.js +11 -25
  118. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  119. package/dist/core-flow/Conditional.js +39 -12
  120. package/dist/core-flow/Conditional.js.map +1 -1
  121. package/dist/core-flow/Graph.js +48 -17
  122. package/dist/core-flow/Graph.js.map +1 -1
  123. package/dist/core-flow/Loop.js +39 -13
  124. package/dist/core-flow/Loop.js.map +1 -1
  125. package/dist/core-flow/Parallel.js +53 -21
  126. package/dist/core-flow/Parallel.js.map +1 -1
  127. package/dist/core-flow/Sequence.js +39 -12
  128. package/dist/core-flow/Sequence.js.map +1 -1
  129. package/dist/core-flow/Workflow.js +44 -14
  130. package/dist/core-flow/Workflow.js.map +1 -1
  131. package/dist/doors/ag-ui.js +36 -0
  132. package/dist/doors/ag-ui.js.map +1 -0
  133. package/dist/doors/security.js +2 -1
  134. package/dist/doors/security.js.map +1 -1
  135. package/dist/esm/adapters/llm/AnthropicProvider.d.ts +9 -2
  136. package/dist/esm/adapters/llm/AnthropicProvider.js +26 -8
  137. package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
  138. package/dist/esm/adapters/llm/BedrockProvider.d.ts +6 -1
  139. package/dist/esm/adapters/llm/BedrockProvider.js +23 -7
  140. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  141. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +57 -49
  142. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  143. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +50 -42
  144. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  145. package/dist/esm/adapters/llm/FoundryLocalProvider.js +171 -209
  146. package/dist/esm/adapters/llm/FoundryLocalProvider.js.map +1 -1
  147. package/dist/esm/adapters/llm/GeminiProvider.js +23 -9
  148. package/dist/esm/adapters/llm/GeminiProvider.js.map +1 -1
  149. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +32 -9
  150. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -1
  151. package/dist/esm/adapters/llm/MockProvider.js +11 -3
  152. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  153. package/dist/esm/adapters/llm/OllamaProvider.js +126 -164
  154. package/dist/esm/adapters/llm/OllamaProvider.js.map +1 -1
  155. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +6 -1
  156. package/dist/esm/adapters/llm/OpenAIProvider.js +36 -9
  157. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  158. package/dist/esm/adapters/mcp/agentcoreRuntime/errorType.d.ts +12 -0
  159. package/dist/esm/adapters/mcp/agentcoreRuntime/errorType.js +20 -0
  160. package/dist/esm/adapters/mcp/agentcoreRuntime/errorType.js.map +1 -0
  161. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +116 -0
  162. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +267 -0
  163. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -0
  164. package/dist/esm/adapters/mcp/agentcoreRuntime/safeAnswer.d.ts +49 -0
  165. package/dist/esm/adapters/mcp/agentcoreRuntime/safeAnswer.js +409 -0
  166. package/dist/esm/adapters/mcp/agentcoreRuntime/safeAnswer.js.map +1 -0
  167. package/dist/esm/adapters/mcp/agentcoreRuntime/session.d.ts +80 -0
  168. package/dist/esm/adapters/mcp/agentcoreRuntime/session.js +175 -0
  169. package/dist/esm/adapters/mcp/agentcoreRuntime/session.js.map +1 -0
  170. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +61 -0
  171. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +112 -0
  172. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -0
  173. package/dist/esm/adapters/mcp/agentcoreRuntime/strictJson.d.ts +37 -0
  174. package/dist/esm/adapters/mcp/agentcoreRuntime/strictJson.js +215 -0
  175. package/dist/esm/adapters/mcp/agentcoreRuntime/strictJson.js.map +1 -0
  176. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +199 -0
  177. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +217 -0
  178. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -0
  179. package/dist/esm/adapters/memory/agentcore.d.ts +152 -7
  180. package/dist/esm/adapters/memory/agentcore.js +433 -19
  181. package/dist/esm/adapters/memory/agentcore.js.map +1 -1
  182. package/dist/esm/adapters/memory/memoryBank.d.ts +3 -2
  183. package/dist/esm/adapters/memory/memoryBank.js +16 -3
  184. package/dist/esm/adapters/memory/memoryBank.js.map +1 -1
  185. package/dist/esm/adapters/memory/pgVector.js +10 -4
  186. package/dist/esm/adapters/memory/pgVector.js.map +1 -1
  187. package/dist/esm/adapters/memory/redis.d.ts +8 -3
  188. package/dist/esm/adapters/memory/redis.js +11 -3
  189. package/dist/esm/adapters/memory/redis.js.map +1 -1
  190. package/dist/esm/adapters/memory/s3Vectors.js +8 -3
  191. package/dist/esm/adapters/memory/s3Vectors.js.map +1 -1
  192. package/dist/esm/adapters/memory/sqliteVector.js +10 -4
  193. package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
  194. package/dist/esm/ag-ui/adapter.d.ts +118 -0
  195. package/dist/esm/ag-ui/adapter.js +122 -0
  196. package/dist/esm/ag-ui/adapter.js.map +1 -0
  197. package/dist/esm/ag-ui/framing.d.ts +52 -0
  198. package/dist/esm/ag-ui/framing.js +64 -0
  199. package/dist/esm/ag-ui/framing.js.map +1 -0
  200. package/dist/esm/ag-ui/frontendTools.d.ts +37 -0
  201. package/dist/esm/ag-ui/frontendTools.js +64 -0
  202. package/dist/esm/ag-ui/frontendTools.js.map +1 -0
  203. package/dist/esm/ag-ui/ids.d.ts +43 -0
  204. package/dist/esm/ag-ui/ids.js +49 -0
  205. package/dist/esm/ag-ui/ids.js.map +1 -0
  206. package/dist/esm/ag-ui/index.d.ts +19 -0
  207. package/dist/esm/ag-ui/index.js +19 -0
  208. package/dist/esm/ag-ui/index.js.map +1 -0
  209. package/dist/esm/ag-ui/request.d.ts +151 -0
  210. package/dist/esm/ag-ui/request.js +408 -0
  211. package/dist/esm/ag-ui/request.js.map +1 -0
  212. package/dist/esm/ag-ui/serializer.d.ts +173 -0
  213. package/dist/esm/ag-ui/serializer.js +895 -0
  214. package/dist/esm/ag-ui/serializer.js.map +1 -0
  215. package/dist/esm/ag-ui/types.d.ts +305 -0
  216. package/dist/esm/ag-ui/types.js +19 -0
  217. package/dist/esm/ag-ui/types.js.map +1 -0
  218. package/dist/esm/answer-validation/index.d.ts +2 -1
  219. package/dist/esm/answer-validation/index.js +1 -0
  220. package/dist/esm/answer-validation/index.js.map +1 -1
  221. package/dist/esm/answer-validation/toolLedger.d.ts +65 -0
  222. package/dist/esm/answer-validation/toolLedger.js +121 -0
  223. package/dist/esm/answer-validation/toolLedger.js.map +1 -0
  224. package/dist/esm/answer-validation/types.d.ts +48 -0
  225. package/dist/esm/answer-validation/types.js.map +1 -1
  226. package/dist/esm/answer-validation/validate.d.ts +2 -2
  227. package/dist/esm/answer-validation/validate.js +25 -3
  228. package/dist/esm/answer-validation/validate.js.map +1 -1
  229. package/dist/esm/classify/typesafe.js +30 -22
  230. package/dist/esm/classify/typesafe.js.map +1 -1
  231. package/dist/esm/core/Agent.d.ts +11 -1
  232. package/dist/esm/core/Agent.js +107 -21
  233. package/dist/esm/core/Agent.js.map +1 -1
  234. package/dist/esm/core/LLMCall.d.ts +2 -1
  235. package/dist/esm/core/LLMCall.js +17 -7
  236. package/dist/esm/core/LLMCall.js.map +1 -1
  237. package/dist/esm/core/RunnerBase.d.ts +39 -8
  238. package/dist/esm/core/RunnerBase.js +97 -12
  239. package/dist/esm/core/RunnerBase.js.map +1 -1
  240. package/dist/esm/core/agent/buildAgentChart.js +17 -5
  241. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  242. package/dist/esm/core/agent/buildAgentMessageApiChart.d.ts +16 -0
  243. package/dist/esm/core/agent/buildAgentMessageApiChart.js +22 -2
  244. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  245. package/dist/esm/core/agent/buildDynamicAgentChart.js +23 -4
  246. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  247. package/dist/esm/core/agent/buildMessageApiChart.d.ts +16 -0
  248. package/dist/esm/core/agent/buildMessageApiChart.js +22 -2
  249. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  250. package/dist/esm/core/agent/callerIdentity.js +2 -1
  251. package/dist/esm/core/agent/callerIdentity.js.map +1 -1
  252. package/dist/esm/core/agent/stages/answerValidation.js +22 -1
  253. package/dist/esm/core/agent/stages/answerValidation.js.map +1 -1
  254. package/dist/esm/core/agent/stages/callLLM.js +19 -3
  255. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  256. package/dist/esm/core/agent/stages/routeTurn.d.ts +1 -1
  257. package/dist/esm/core/agent/stages/routeTurn.js +17 -4
  258. package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
  259. package/dist/esm/core/agent/stages/seed.d.ts +18 -1
  260. package/dist/esm/core/agent/stages/seed.js +58 -8
  261. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  262. package/dist/esm/core/agent/stages/timeLayer.js +2 -2
  263. package/dist/esm/core/agent/stages/timeLayer.js.map +1 -1
  264. package/dist/esm/core/agent/stages/toolCalls.d.ts +32 -1
  265. package/dist/esm/core/agent/stages/toolCalls.js +85 -25
  266. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  267. package/dist/esm/core/agent/types.d.ts +26 -6
  268. package/dist/esm/core/agent/window/strategies/summarizeOldest.js +4 -0
  269. package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  270. package/dist/esm/core/agent/window/summarize.js +6 -3
  271. package/dist/esm/core/agent/window/summarize.js.map +1 -1
  272. package/dist/esm/core/memberRun.d.ts +153 -0
  273. package/dist/esm/core/memberRun.js +273 -0
  274. package/dist/esm/core/memberRun.js.map +1 -0
  275. package/dist/esm/core/requestOfRun.d.ts +21 -0
  276. package/dist/esm/core/requestOfRun.js +24 -0
  277. package/dist/esm/core/requestOfRun.js.map +1 -0
  278. package/dist/esm/core/runner.d.ts +15 -3
  279. package/dist/esm/core/slots/buildToolsSlot.d.ts +0 -16
  280. package/dist/esm/core/slots/buildToolsSlot.js +11 -25
  281. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  282. package/dist/esm/core-flow/Conditional.d.ts +10 -1
  283. package/dist/esm/core-flow/Conditional.js +40 -13
  284. package/dist/esm/core-flow/Conditional.js.map +1 -1
  285. package/dist/esm/core-flow/Graph.d.ts +2 -1
  286. package/dist/esm/core-flow/Graph.js +49 -18
  287. package/dist/esm/core-flow/Graph.js.map +1 -1
  288. package/dist/esm/core-flow/Loop.d.ts +10 -1
  289. package/dist/esm/core-flow/Loop.js +40 -14
  290. package/dist/esm/core-flow/Loop.js.map +1 -1
  291. package/dist/esm/core-flow/Parallel.d.ts +10 -1
  292. package/dist/esm/core-flow/Parallel.js +54 -22
  293. package/dist/esm/core-flow/Parallel.js.map +1 -1
  294. package/dist/esm/core-flow/Sequence.d.ts +10 -1
  295. package/dist/esm/core-flow/Sequence.js +40 -13
  296. package/dist/esm/core-flow/Sequence.js.map +1 -1
  297. package/dist/esm/core-flow/Workflow.d.ts +2 -1
  298. package/dist/esm/core-flow/Workflow.js +45 -15
  299. package/dist/esm/core-flow/Workflow.js.map +1 -1
  300. package/dist/esm/doors/ag-ui.d.ts +19 -0
  301. package/dist/esm/doors/ag-ui.js +20 -0
  302. package/dist/esm/doors/ag-ui.js.map +1 -0
  303. package/dist/esm/doors/security.d.ts +2 -1
  304. package/dist/esm/doors/security.js +2 -1
  305. package/dist/esm/doors/security.js.map +1 -1
  306. package/dist/esm/events/payloads.d.ts +4 -2
  307. package/dist/esm/hosting/envelope.js +5 -0
  308. package/dist/esm/hosting/envelope.js.map +1 -1
  309. package/dist/esm/hosting/httpHost.js +5 -78
  310. package/dist/esm/hosting/httpHost.js.map +1 -1
  311. package/dist/esm/hosting/index.d.ts +5 -1
  312. package/dist/esm/hosting/index.js +2 -0
  313. package/dist/esm/hosting/index.js.map +1 -1
  314. package/dist/esm/hosting/pendingAsk.d.ts +19 -0
  315. package/dist/esm/hosting/pendingAsk.js +38 -0
  316. package/dist/esm/hosting/pendingAsk.js.map +1 -0
  317. package/dist/esm/hosting/protocolAdapter.d.ts +232 -0
  318. package/dist/esm/hosting/protocolAdapter.js +23 -0
  319. package/dist/esm/hosting/protocolAdapter.js.map +1 -0
  320. package/dist/esm/hosting/refusalStatus.d.ts +30 -0
  321. package/dist/esm/hosting/refusalStatus.js +85 -0
  322. package/dist/esm/hosting/refusalStatus.js.map +1 -0
  323. package/dist/esm/hosting/requestSealing.d.ts +65 -0
  324. package/dist/esm/hosting/requestSealing.js +79 -0
  325. package/dist/esm/hosting/requestSealing.js.map +1 -0
  326. package/dist/esm/hosting/standingAgent.js +24 -34
  327. package/dist/esm/hosting/standingAgent.js.map +1 -1
  328. package/dist/esm/hosting/stream.d.ts +60 -0
  329. package/dist/esm/hosting/stream.js +38 -2
  330. package/dist/esm/hosting/stream.js.map +1 -1
  331. package/dist/esm/hosting/streamHandler.d.ts +153 -0
  332. package/dist/esm/hosting/streamHandler.js +517 -0
  333. package/dist/esm/hosting/streamHandler.js.map +1 -0
  334. package/dist/esm/hosting/types.d.ts +44 -0
  335. package/dist/esm/hosting/types.js.map +1 -1
  336. package/dist/esm/hosting/verifiedThreads.d.ts +29 -0
  337. package/dist/esm/hosting/verifiedThreads.js +46 -0
  338. package/dist/esm/hosting/verifiedThreads.js.map +1 -0
  339. package/dist/esm/identity/requestContext.d.ts +96 -0
  340. package/dist/esm/identity/requestContext.js +131 -0
  341. package/dist/esm/identity/requestContext.js.map +1 -0
  342. package/dist/esm/identity/requestCredentials.d.ts +99 -0
  343. package/dist/esm/identity/requestCredentials.js +157 -0
  344. package/dist/esm/identity/requestCredentials.js.map +1 -0
  345. package/dist/esm/identity/types.d.ts +11 -0
  346. package/dist/esm/identity/types.js.map +1 -1
  347. package/dist/esm/identity.d.ts +2 -0
  348. package/dist/esm/identity.js +5 -0
  349. package/dist/esm/identity.js.map +1 -1
  350. package/dist/esm/index.d.ts +3 -1
  351. package/dist/esm/index.js +7 -0
  352. package/dist/esm/index.js.map +1 -1
  353. package/dist/esm/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
  354. package/dist/esm/injection-engine/buildInjectionEngineSubflow.js +39 -5
  355. package/dist/esm/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  356. package/dist/esm/injection-engine/constrainedEnumPick.js +4 -2
  357. package/dist/esm/injection-engine/constrainedEnumPick.js.map +1 -1
  358. package/dist/esm/injection-engine/evaluator.d.ts +6 -0
  359. package/dist/esm/injection-engine/evaluator.js +19 -1
  360. package/dist/esm/injection-engine/evaluator.js.map +1 -1
  361. package/dist/esm/injection-engine/skillGraph.js +26 -8
  362. package/dist/esm/injection-engine/skillGraph.js.map +1 -1
  363. package/dist/esm/injection-engine/skillIntent.d.ts +4 -2
  364. package/dist/esm/injection-engine/skillIntent.js +3 -0
  365. package/dist/esm/injection-engine/skillIntent.js.map +1 -1
  366. package/dist/esm/injection-engine/types.d.ts +27 -1
  367. package/dist/esm/injection-engine/types.js +15 -0
  368. package/dist/esm/injection-engine/types.js.map +1 -1
  369. package/dist/esm/lib/abort.d.ts +143 -0
  370. package/dist/esm/lib/abort.js +322 -0
  371. package/dist/esm/lib/abort.js.map +1 -0
  372. package/dist/esm/lib/humanizeLLMError.d.ts +15 -0
  373. package/dist/esm/lib/humanizeLLMError.js +22 -7
  374. package/dist/esm/lib/humanizeLLMError.js.map +1 -1
  375. package/dist/esm/maps/engagement/parkCard.d.ts +5 -1
  376. package/dist/esm/maps/engagement/parkCard.js +10 -3
  377. package/dist/esm/maps/engagement/parkCard.js.map +1 -1
  378. package/dist/esm/mcp/mcpClient.js +30 -2
  379. package/dist/esm/mcp/mcpClient.js.map +1 -1
  380. package/dist/esm/mcp/mcpServe.js +5 -1
  381. package/dist/esm/mcp/mcpServe.js.map +1 -1
  382. package/dist/esm/mcp/plainData.d.ts +44 -0
  383. package/dist/esm/mcp/plainData.js +204 -0
  384. package/dist/esm/mcp/plainData.js.map +1 -0
  385. package/dist/esm/mcp/sdkLoadFailure.d.ts +6 -7
  386. package/dist/esm/mcp/sdkLoadFailure.js +4 -4
  387. package/dist/esm/mcp/sdkLoadFailure.js.map +1 -1
  388. package/dist/esm/mcp/throttleRetry.d.ts +51 -0
  389. package/dist/esm/mcp/throttleRetry.js +37 -4
  390. package/dist/esm/mcp/throttleRetry.js.map +1 -1
  391. package/dist/esm/mcp/toolResult.js +8 -50
  392. package/dist/esm/mcp/toolResult.js.map +1 -1
  393. package/dist/esm/mcp/types.d.ts +10 -6
  394. package/dist/esm/memory/beats/llmExtractor.js +6 -3
  395. package/dist/esm/memory/beats/llmExtractor.js.map +1 -1
  396. package/dist/esm/memory/define.js +45 -1
  397. package/dist/esm/memory/define.js.map +1 -1
  398. package/dist/esm/memory/define.types.d.ts +24 -0
  399. package/dist/esm/memory/define.types.js.map +1 -1
  400. package/dist/esm/memory/facts/llmFactExtractor.js +6 -3
  401. package/dist/esm/memory/facts/llmFactExtractor.js.map +1 -1
  402. package/dist/esm/memory/stages/formatDefault.js +3 -1
  403. package/dist/esm/memory/stages/formatDefault.js.map +1 -1
  404. package/dist/esm/memory/stages/summarize.js +16 -5
  405. package/dist/esm/memory/stages/summarize.js.map +1 -1
  406. package/dist/esm/memory/store/InMemoryStore.d.ts +8 -3
  407. package/dist/esm/memory/store/InMemoryStore.js +12 -3
  408. package/dist/esm/memory/store/InMemoryStore.js.map +1 -1
  409. package/dist/esm/memory/store/index.d.ts +1 -0
  410. package/dist/esm/memory/store/index.js +5 -0
  411. package/dist/esm/memory/store/index.js.map +1 -1
  412. package/dist/esm/memory/store/types.d.ts +38 -4
  413. package/dist/esm/memory/store/writeOptions.d.ts +118 -0
  414. package/dist/esm/memory/store/writeOptions.js +242 -0
  415. package/dist/esm/memory/store/writeOptions.js.map +1 -0
  416. package/dist/esm/memory-providers.d.ts +1 -1
  417. package/dist/esm/memory-providers.js +4 -1
  418. package/dist/esm/memory-providers.js.map +1 -1
  419. package/dist/esm/patterns/LlmRouter.js +10 -5
  420. package/dist/esm/patterns/LlmRouter.js.map +1 -1
  421. package/dist/esm/patterns/MapReduce.js +8 -2
  422. package/dist/esm/patterns/MapReduce.js.map +1 -1
  423. package/dist/esm/redaction/conversation.js +3 -0
  424. package/dist/esm/redaction/conversation.js.map +1 -1
  425. package/dist/esm/redaction/knownStrings.js +1 -0
  426. package/dist/esm/redaction/knownStrings.js.map +1 -1
  427. package/dist/esm/reliability/buildReliabilityGateChart.js +7 -1
  428. package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
  429. package/dist/esm/resilience/withCircuitBreaker.js +5 -2
  430. package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
  431. package/dist/esm/resilience/withFallback.js +6 -0
  432. package/dist/esm/resilience/withFallback.js.map +1 -1
  433. package/dist/esm/resilience/withRetry.js +5 -0
  434. package/dist/esm/resilience/withRetry.js.map +1 -1
  435. package/dist/esm/time-travel/servedView.js +1 -1
  436. package/dist/esm/time-travel/servedView.js.map +1 -1
  437. package/dist/esm/tool-providers/index.d.ts +5 -0
  438. package/dist/esm/tool-providers/index.js +6 -0
  439. package/dist/esm/tool-providers/index.js.map +1 -1
  440. package/dist/esm/tools/hostFilled.d.ts +110 -0
  441. package/dist/esm/tools/hostFilled.js +509 -0
  442. package/dist/esm/tools/hostFilled.js.map +1 -0
  443. package/dist/esm/trace-toolpack/selfExplain.d.ts +8 -0
  444. package/dist/esm/trace-toolpack/selfExplain.js +25 -2
  445. package/dist/esm/trace-toolpack/selfExplain.js.map +1 -1
  446. package/dist/hosting/envelope.js +5 -0
  447. package/dist/hosting/envelope.js.map +1 -1
  448. package/dist/hosting/httpHost.js +5 -78
  449. package/dist/hosting/httpHost.js.map +1 -1
  450. package/dist/hosting/index.js +9 -3
  451. package/dist/hosting/index.js.map +1 -1
  452. package/dist/hosting/pendingAsk.js +42 -0
  453. package/dist/hosting/pendingAsk.js.map +1 -0
  454. package/dist/hosting/protocolAdapter.js +24 -0
  455. package/dist/hosting/protocolAdapter.js.map +1 -0
  456. package/dist/hosting/refusalStatus.js +88 -0
  457. package/dist/hosting/refusalStatus.js.map +1 -0
  458. package/dist/hosting/requestSealing.js +83 -0
  459. package/dist/hosting/requestSealing.js.map +1 -0
  460. package/dist/hosting/standingAgent.js +25 -35
  461. package/dist/hosting/standingAgent.js.map +1 -1
  462. package/dist/hosting/stream.js +39 -3
  463. package/dist/hosting/stream.js.map +1 -1
  464. package/dist/hosting/streamHandler.js +521 -0
  465. package/dist/hosting/streamHandler.js.map +1 -0
  466. package/dist/hosting/types.js.map +1 -1
  467. package/dist/hosting/verifiedThreads.js +50 -0
  468. package/dist/hosting/verifiedThreads.js.map +1 -0
  469. package/dist/identity/requestContext.js +139 -0
  470. package/dist/identity/requestContext.js.map +1 -0
  471. package/dist/identity/requestCredentials.js +165 -0
  472. package/dist/identity/requestCredentials.js.map +1 -0
  473. package/dist/identity/types.js.map +1 -1
  474. package/dist/identity.js +13 -1
  475. package/dist/identity.js.map +1 -1
  476. package/dist/index.js +20 -3
  477. package/dist/index.js.map +1 -1
  478. package/dist/injection-engine/buildInjectionEngineSubflow.js +38 -4
  479. package/dist/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  480. package/dist/injection-engine/constrainedEnumPick.js +4 -2
  481. package/dist/injection-engine/constrainedEnumPick.js.map +1 -1
  482. package/dist/injection-engine/evaluator.js +18 -0
  483. package/dist/injection-engine/evaluator.js.map +1 -1
  484. package/dist/injection-engine/skillGraph.js +25 -7
  485. package/dist/injection-engine/skillGraph.js.map +1 -1
  486. package/dist/injection-engine/skillIntent.js +3 -0
  487. package/dist/injection-engine/skillIntent.js.map +1 -1
  488. package/dist/injection-engine/types.js +17 -1
  489. package/dist/injection-engine/types.js.map +1 -1
  490. package/dist/lib/abort.js +336 -0
  491. package/dist/lib/abort.js.map +1 -0
  492. package/dist/lib/humanizeLLMError.js +23 -8
  493. package/dist/lib/humanizeLLMError.js.map +1 -1
  494. package/dist/maps/engagement/parkCard.js +10 -3
  495. package/dist/maps/engagement/parkCard.js.map +1 -1
  496. package/dist/mcp/mcpClient.js +30 -2
  497. package/dist/mcp/mcpClient.js.map +1 -1
  498. package/dist/mcp/mcpServe.js +5 -1
  499. package/dist/mcp/mcpServe.js.map +1 -1
  500. package/dist/mcp/plainData.js +208 -0
  501. package/dist/mcp/plainData.js.map +1 -0
  502. package/dist/mcp/sdkLoadFailure.js +4 -4
  503. package/dist/mcp/sdkLoadFailure.js.map +1 -1
  504. package/dist/mcp/throttleRetry.js +41 -6
  505. package/dist/mcp/throttleRetry.js.map +1 -1
  506. package/dist/mcp/toolResult.js +8 -50
  507. package/dist/mcp/toolResult.js.map +1 -1
  508. package/dist/memory/beats/llmExtractor.js +6 -3
  509. package/dist/memory/beats/llmExtractor.js.map +1 -1
  510. package/dist/memory/define.js +45 -1
  511. package/dist/memory/define.js.map +1 -1
  512. package/dist/memory/define.types.js.map +1 -1
  513. package/dist/memory/facts/llmFactExtractor.js +6 -3
  514. package/dist/memory/facts/llmFactExtractor.js.map +1 -1
  515. package/dist/memory/stages/formatDefault.js +3 -1
  516. package/dist/memory/stages/formatDefault.js.map +1 -1
  517. package/dist/memory/stages/summarize.js +16 -5
  518. package/dist/memory/stages/summarize.js.map +1 -1
  519. package/dist/memory/store/InMemoryStore.js +12 -3
  520. package/dist/memory/store/InMemoryStore.js.map +1 -1
  521. package/dist/memory/store/index.js +11 -1
  522. package/dist/memory/store/index.js.map +1 -1
  523. package/dist/memory/store/writeOptions.js +250 -0
  524. package/dist/memory/store/writeOptions.js.map +1 -0
  525. package/dist/memory-providers.js +4 -1
  526. package/dist/memory-providers.js.map +1 -1
  527. package/dist/patterns/LlmRouter.js +9 -4
  528. package/dist/patterns/LlmRouter.js.map +1 -1
  529. package/dist/patterns/MapReduce.js +8 -2
  530. package/dist/patterns/MapReduce.js.map +1 -1
  531. package/dist/redaction/conversation.js +3 -0
  532. package/dist/redaction/conversation.js.map +1 -1
  533. package/dist/redaction/knownStrings.js +1 -0
  534. package/dist/redaction/knownStrings.js.map +1 -1
  535. package/dist/reliability/buildReliabilityGateChart.js +7 -1
  536. package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
  537. package/dist/resilience/withCircuitBreaker.js +5 -2
  538. package/dist/resilience/withCircuitBreaker.js.map +1 -1
  539. package/dist/resilience/withFallback.js +6 -0
  540. package/dist/resilience/withFallback.js.map +1 -1
  541. package/dist/resilience/withRetry.js +5 -0
  542. package/dist/resilience/withRetry.js.map +1 -1
  543. package/dist/time-travel/servedView.js +1 -1
  544. package/dist/time-travel/servedView.js.map +1 -1
  545. package/dist/tool-providers/index.js +10 -1
  546. package/dist/tool-providers/index.js.map +1 -1
  547. package/dist/tools/hostFilled.js +517 -0
  548. package/dist/tools/hostFilled.js.map +1 -0
  549. package/dist/trace-toolpack/selfExplain.js +25 -2
  550. package/dist/trace-toolpack/selfExplain.js.map +1 -1
  551. package/dist/types/adapters/llm/AnthropicProvider.d.ts +9 -2
  552. package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
  553. package/dist/types/adapters/llm/BedrockProvider.d.ts +6 -1
  554. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  555. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  556. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  557. package/dist/types/adapters/llm/FoundryLocalProvider.d.ts.map +1 -1
  558. package/dist/types/adapters/llm/GeminiProvider.d.ts.map +1 -1
  559. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -1
  560. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  561. package/dist/types/adapters/llm/OllamaProvider.d.ts.map +1 -1
  562. package/dist/types/adapters/llm/OpenAIProvider.d.ts +6 -1
  563. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  564. package/dist/types/adapters/mcp/agentcoreRuntime/errorType.d.ts +13 -0
  565. package/dist/types/adapters/mcp/agentcoreRuntime/errorType.d.ts.map +1 -0
  566. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +117 -0
  567. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -0
  568. package/dist/types/adapters/mcp/agentcoreRuntime/safeAnswer.d.ts +50 -0
  569. package/dist/types/adapters/mcp/agentcoreRuntime/safeAnswer.d.ts.map +1 -0
  570. package/dist/types/adapters/mcp/agentcoreRuntime/session.d.ts +81 -0
  571. package/dist/types/adapters/mcp/agentcoreRuntime/session.d.ts.map +1 -0
  572. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +62 -0
  573. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -0
  574. package/dist/types/adapters/mcp/agentcoreRuntime/strictJson.d.ts +38 -0
  575. package/dist/types/adapters/mcp/agentcoreRuntime/strictJson.d.ts.map +1 -0
  576. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +200 -0
  577. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -0
  578. package/dist/types/adapters/memory/agentcore.d.ts +152 -7
  579. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
  580. package/dist/types/adapters/memory/memoryBank.d.ts +3 -2
  581. package/dist/types/adapters/memory/memoryBank.d.ts.map +1 -1
  582. package/dist/types/adapters/memory/pgVector.d.ts.map +1 -1
  583. package/dist/types/adapters/memory/redis.d.ts +8 -3
  584. package/dist/types/adapters/memory/redis.d.ts.map +1 -1
  585. package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -1
  586. package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
  587. package/dist/types/ag-ui/adapter.d.ts +119 -0
  588. package/dist/types/ag-ui/adapter.d.ts.map +1 -0
  589. package/dist/types/ag-ui/framing.d.ts +53 -0
  590. package/dist/types/ag-ui/framing.d.ts.map +1 -0
  591. package/dist/types/ag-ui/frontendTools.d.ts +38 -0
  592. package/dist/types/ag-ui/frontendTools.d.ts.map +1 -0
  593. package/dist/types/ag-ui/ids.d.ts +44 -0
  594. package/dist/types/ag-ui/ids.d.ts.map +1 -0
  595. package/dist/types/ag-ui/index.d.ts +20 -0
  596. package/dist/types/ag-ui/index.d.ts.map +1 -0
  597. package/dist/types/ag-ui/request.d.ts +152 -0
  598. package/dist/types/ag-ui/request.d.ts.map +1 -0
  599. package/dist/types/ag-ui/serializer.d.ts +174 -0
  600. package/dist/types/ag-ui/serializer.d.ts.map +1 -0
  601. package/dist/types/ag-ui/types.d.ts +306 -0
  602. package/dist/types/ag-ui/types.d.ts.map +1 -0
  603. package/dist/types/answer-validation/index.d.ts +2 -1
  604. package/dist/types/answer-validation/index.d.ts.map +1 -1
  605. package/dist/types/answer-validation/toolLedger.d.ts +66 -0
  606. package/dist/types/answer-validation/toolLedger.d.ts.map +1 -0
  607. package/dist/types/answer-validation/types.d.ts +48 -0
  608. package/dist/types/answer-validation/types.d.ts.map +1 -1
  609. package/dist/types/answer-validation/validate.d.ts +2 -2
  610. package/dist/types/answer-validation/validate.d.ts.map +1 -1
  611. package/dist/types/classify/typesafe.d.ts.map +1 -1
  612. package/dist/types/core/Agent.d.ts +11 -1
  613. package/dist/types/core/Agent.d.ts.map +1 -1
  614. package/dist/types/core/LLMCall.d.ts +2 -1
  615. package/dist/types/core/LLMCall.d.ts.map +1 -1
  616. package/dist/types/core/RunnerBase.d.ts +39 -8
  617. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  618. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  619. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts +16 -0
  620. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  621. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  622. package/dist/types/core/agent/buildMessageApiChart.d.ts +16 -0
  623. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  624. package/dist/types/core/agent/callerIdentity.d.ts.map +1 -1
  625. package/dist/types/core/agent/stages/answerValidation.d.ts.map +1 -1
  626. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  627. package/dist/types/core/agent/stages/routeTurn.d.ts +1 -1
  628. package/dist/types/core/agent/stages/routeTurn.d.ts.map +1 -1
  629. package/dist/types/core/agent/stages/seed.d.ts +18 -1
  630. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  631. package/dist/types/core/agent/stages/toolCalls.d.ts +32 -1
  632. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  633. package/dist/types/core/agent/types.d.ts +26 -6
  634. package/dist/types/core/agent/types.d.ts.map +1 -1
  635. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
  636. package/dist/types/core/agent/window/summarize.d.ts.map +1 -1
  637. package/dist/types/core/memberRun.d.ts +154 -0
  638. package/dist/types/core/memberRun.d.ts.map +1 -0
  639. package/dist/types/core/requestOfRun.d.ts +22 -0
  640. package/dist/types/core/requestOfRun.d.ts.map +1 -0
  641. package/dist/types/core/runner.d.ts +15 -3
  642. package/dist/types/core/runner.d.ts.map +1 -1
  643. package/dist/types/core/slots/buildToolsSlot.d.ts +0 -16
  644. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  645. package/dist/types/core-flow/Conditional.d.ts +10 -1
  646. package/dist/types/core-flow/Conditional.d.ts.map +1 -1
  647. package/dist/types/core-flow/Graph.d.ts +2 -1
  648. package/dist/types/core-flow/Graph.d.ts.map +1 -1
  649. package/dist/types/core-flow/Loop.d.ts +10 -1
  650. package/dist/types/core-flow/Loop.d.ts.map +1 -1
  651. package/dist/types/core-flow/Parallel.d.ts +10 -1
  652. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  653. package/dist/types/core-flow/Sequence.d.ts +10 -1
  654. package/dist/types/core-flow/Sequence.d.ts.map +1 -1
  655. package/dist/types/core-flow/Workflow.d.ts +2 -1
  656. package/dist/types/core-flow/Workflow.d.ts.map +1 -1
  657. package/dist/types/doors/ag-ui.d.ts +20 -0
  658. package/dist/types/doors/ag-ui.d.ts.map +1 -0
  659. package/dist/types/doors/security.d.ts +2 -1
  660. package/dist/types/doors/security.d.ts.map +1 -1
  661. package/dist/types/events/payloads.d.ts +4 -2
  662. package/dist/types/events/payloads.d.ts.map +1 -1
  663. package/dist/types/hosting/httpHost.d.ts.map +1 -1
  664. package/dist/types/hosting/index.d.ts +5 -1
  665. package/dist/types/hosting/index.d.ts.map +1 -1
  666. package/dist/types/hosting/pendingAsk.d.ts +20 -0
  667. package/dist/types/hosting/pendingAsk.d.ts.map +1 -0
  668. package/dist/types/hosting/protocolAdapter.d.ts +233 -0
  669. package/dist/types/hosting/protocolAdapter.d.ts.map +1 -0
  670. package/dist/types/hosting/refusalStatus.d.ts +31 -0
  671. package/dist/types/hosting/refusalStatus.d.ts.map +1 -0
  672. package/dist/types/hosting/requestSealing.d.ts +66 -0
  673. package/dist/types/hosting/requestSealing.d.ts.map +1 -0
  674. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  675. package/dist/types/hosting/stream.d.ts +60 -0
  676. package/dist/types/hosting/stream.d.ts.map +1 -1
  677. package/dist/types/hosting/streamHandler.d.ts +154 -0
  678. package/dist/types/hosting/streamHandler.d.ts.map +1 -0
  679. package/dist/types/hosting/types.d.ts +44 -0
  680. package/dist/types/hosting/types.d.ts.map +1 -1
  681. package/dist/types/hosting/verifiedThreads.d.ts +30 -0
  682. package/dist/types/hosting/verifiedThreads.d.ts.map +1 -0
  683. package/dist/types/identity/requestContext.d.ts +97 -0
  684. package/dist/types/identity/requestContext.d.ts.map +1 -0
  685. package/dist/types/identity/requestCredentials.d.ts +100 -0
  686. package/dist/types/identity/requestCredentials.d.ts.map +1 -0
  687. package/dist/types/identity/types.d.ts +11 -0
  688. package/dist/types/identity/types.d.ts.map +1 -1
  689. package/dist/types/identity.d.ts +2 -0
  690. package/dist/types/identity.d.ts.map +1 -1
  691. package/dist/types/index.d.ts +3 -1
  692. package/dist/types/index.d.ts.map +1 -1
  693. package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts +11 -0
  694. package/dist/types/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
  695. package/dist/types/injection-engine/constrainedEnumPick.d.ts.map +1 -1
  696. package/dist/types/injection-engine/evaluator.d.ts +6 -0
  697. package/dist/types/injection-engine/evaluator.d.ts.map +1 -1
  698. package/dist/types/injection-engine/skillIntent.d.ts +4 -2
  699. package/dist/types/injection-engine/skillIntent.d.ts.map +1 -1
  700. package/dist/types/injection-engine/types.d.ts +27 -1
  701. package/dist/types/injection-engine/types.d.ts.map +1 -1
  702. package/dist/types/lib/abort.d.ts +144 -0
  703. package/dist/types/lib/abort.d.ts.map +1 -0
  704. package/dist/types/lib/humanizeLLMError.d.ts +15 -0
  705. package/dist/types/lib/humanizeLLMError.d.ts.map +1 -1
  706. package/dist/types/maps/engagement/parkCard.d.ts +5 -1
  707. package/dist/types/maps/engagement/parkCard.d.ts.map +1 -1
  708. package/dist/types/mcp/mcpServe.d.ts.map +1 -1
  709. package/dist/types/mcp/plainData.d.ts +45 -0
  710. package/dist/types/mcp/plainData.d.ts.map +1 -0
  711. package/dist/types/mcp/sdkLoadFailure.d.ts +6 -7
  712. package/dist/types/mcp/sdkLoadFailure.d.ts.map +1 -1
  713. package/dist/types/mcp/throttleRetry.d.ts +51 -0
  714. package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
  715. package/dist/types/mcp/toolResult.d.ts.map +1 -1
  716. package/dist/types/mcp/types.d.ts +10 -6
  717. package/dist/types/mcp/types.d.ts.map +1 -1
  718. package/dist/types/memory/beats/llmExtractor.d.ts.map +1 -1
  719. package/dist/types/memory/define.d.ts.map +1 -1
  720. package/dist/types/memory/define.types.d.ts +24 -0
  721. package/dist/types/memory/define.types.d.ts.map +1 -1
  722. package/dist/types/memory/facts/llmFactExtractor.d.ts.map +1 -1
  723. package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
  724. package/dist/types/memory/stages/summarize.d.ts.map +1 -1
  725. package/dist/types/memory/store/InMemoryStore.d.ts +8 -3
  726. package/dist/types/memory/store/InMemoryStore.d.ts.map +1 -1
  727. package/dist/types/memory/store/index.d.ts +1 -0
  728. package/dist/types/memory/store/index.d.ts.map +1 -1
  729. package/dist/types/memory/store/types.d.ts +38 -4
  730. package/dist/types/memory/store/types.d.ts.map +1 -1
  731. package/dist/types/memory/store/writeOptions.d.ts +119 -0
  732. package/dist/types/memory/store/writeOptions.d.ts.map +1 -0
  733. package/dist/types/memory-providers.d.ts +1 -1
  734. package/dist/types/memory-providers.d.ts.map +1 -1
  735. package/dist/types/patterns/LlmRouter.d.ts.map +1 -1
  736. package/dist/types/patterns/MapReduce.d.ts.map +1 -1
  737. package/dist/types/redaction/conversation.d.ts.map +1 -1
  738. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  739. package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
  740. package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
  741. package/dist/types/resilience/withFallback.d.ts.map +1 -1
  742. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  743. package/dist/types/tool-providers/index.d.ts +5 -0
  744. package/dist/types/tool-providers/index.d.ts.map +1 -1
  745. package/dist/types/tools/hostFilled.d.ts +111 -0
  746. package/dist/types/tools/hostFilled.d.ts.map +1 -0
  747. package/dist/types/trace-toolpack/selfExplain.d.ts +8 -0
  748. package/dist/types/trace-toolpack/selfExplain.d.ts.map +1 -1
  749. package/package.json +25 -1
@@ -0,0 +1,66 @@
1
+ /**
2
+ * requestSealing — a host hands each run the credential that arrived with ITS
3
+ * request, sealed for that run alone.
4
+ *
5
+ * `requestContext({ secrets })` (`agentfootprint/security`) seals a request's
6
+ * secrets; `requestCredentials` vends them to the tools that declare a `needs`
7
+ * for them. A host that runs the agent for you (`standingAgent`,
8
+ * `streamHandler`) cannot know which header holds the credential, so it asks
9
+ * the app — once per request, with the request's headers — through the
10
+ * {@link RequestSealer} option `sealRequest`, and passes the handle to that
11
+ * request's `run()` / `resume()` and nowhere else. The sealer is handed the
12
+ * headers ONLY: nothing about who is calling, so it can never be tempted to
13
+ * look a stored credential up by a name the caller could have claimed.
14
+ *
15
+ * THE RULES, in one funnel ({@link requestSealing}):
16
+ * - asked only for a request that runs, after the caller is bound and every
17
+ * refusal is behind it — a refused request never seals anything;
18
+ * - the answer is a handle `requestContext` built, or `undefined` (no
19
+ * request: a tool that needs one fails closed, by name);
20
+ * - ONE HANDLE, ONE RUN, PROCESS-WIDE: a handle any host was handed before
21
+ * is refused, so a sealer that caches one — even one shared by two doors
22
+ * — cannot hand one caller's credential to another caller's run;
23
+ * - a sealer that throws refuses the request in FIXED words
24
+ * (`ERR_REQUEST_NOT_SEALED`, 400). Its own message is never sent: it may
25
+ * quote the value it could not read.
26
+ * The handle never enters a frame, a stored session or a checkpoint; the
27
+ * headers never leave the sealer.
28
+ *
29
+ * Pattern: guarded strategy call. Role: hosting, run input.
30
+ */
31
+ import { type RequestContext } from '../identity/requestContext.js';
32
+ /** What a host hands the app's {@link RequestSealer} — one request's headers, and nothing else. */
33
+ export interface RequestSealFacts {
34
+ /**
35
+ * The request's headers, names lower-cased — where a per-request credential
36
+ * travels (a gateway's encrypted token, a session-bound key). Untrusted, as
37
+ * every header is: what a sealer reads here is the CALLER's credential for
38
+ * the caller's own run, never proof of who the caller is — so seal what the
39
+ * request CARRIES, and never look a stored credential up by a header.
40
+ */
41
+ readonly headers: Readonly<Record<string, string>>;
42
+ }
43
+ /**
44
+ * The app's port that seals one request's credential for its run: return
45
+ * `requestContext({ secrets })`, or `undefined` for a request that carries
46
+ * none. Called once per request that runs; return a NEW handle every time.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * sealRequest: ({ headers }) =>
51
+ * headers['x-crm-token'] === undefined
52
+ * ? undefined
53
+ * : requestContext({ secrets: { crmToken: headers['x-crm-token'] } }),
54
+ * ```
55
+ */
56
+ export type RequestSealer = (facts: RequestSealFacts) => RequestContext | undefined | Promise<RequestContext | undefined>;
57
+ /** The code a request refused by its sealer carries — the status is 400. */
58
+ export declare const REQUEST_NOT_SEALED = "ERR_REQUEST_NOT_SEALED";
59
+ /**
60
+ * The one funnel a host seals through: the app's sealer, checked. `undefined`
61
+ * when no sealer was given — the host passes no request, exactly as before.
62
+ *
63
+ * @throws TypeError at construction when `sealer` is not a function.
64
+ */
65
+ export declare function requestSealing(sealer: RequestSealer | undefined, door: string): ((facts: RequestSealFacts) => Promise<RequestContext | undefined>) | undefined;
66
+ //# sourceMappingURL=requestSealing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestSealing.d.ts","sourceRoot":"","sources":["../../../src/hosting/requestSealing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGtF,mGAAmG;AACnG,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,gBAAgB,KACpB,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;AAEtE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAS3D;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,IAAI,EAAE,MAAM,GACX,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAsChF"}
@@ -1 +1 @@
1
- {"version":3,"file":"standingAgent.d.ts","sourceRoot":"","sources":["../../../src/hosting/standingAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AAiEH,OAAO,KAAK,EAIV,UAAU,EAKV,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAqFpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,aAAa,CAAC,EAAE,SAAS,UAAU,EACvD,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,GAChC,OAAO,CAAC,EAAE,GAAG,mBAAmB,CAAC,CA6mDnC"}
1
+ {"version":3,"file":"standingAgent.d.ts","sourceRoot":"","sources":["../../../src/hosting/standingAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AAkEH,OAAO,KAAK,EAIV,UAAU,EAIV,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAqFpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,aAAa,CAAC,EAAE,SAAS,UAAU,EACvD,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,GAChC,OAAO,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAgoDnC"}
@@ -66,7 +66,67 @@ export interface ToSSEOptions {
66
66
  * at this interval. Default 0 (disabled).
67
67
  */
68
68
  readonly heartbeatMs?: number;
69
+ /**
70
+ * How each event is written as a frame in the 'full' format — the framing
71
+ * STRATEGY ({@link SseFraming}). Default: {@link agentfootprintSse}, the
72
+ * frames `toSSE` has always written (`event: <type>` + `data: <json>`).
73
+ *
74
+ * Refused together with `eventName` (which names the event line of the
75
+ * default framing only) and with `format: 'text'` (which writes no frames).
76
+ */
77
+ readonly framing?: SseFraming<AgentfootprintEvent>;
78
+ }
79
+ /**
80
+ * How ONE event becomes ONE Server-Sent Events frame — the framing strategy.
81
+ *
82
+ * A framing decides the bytes of a frame and nothing else: which events go out,
83
+ * in what order, and when the stream ends belong to whoever drives it. Two
84
+ * strategies ship: {@link agentfootprintSse} frames agentfootprint's own events
85
+ * (what `toSSE` writes), and `agUiSse()` from `agentfootprint/ag-ui` frames AG-UI
86
+ * events the way the official `@ag-ui/encoder` does (a `data:` line only).
87
+ *
88
+ * @example Frame each event under its short name (`stream.token`, not `agentfootprint.stream.token`)
89
+ * ```ts
90
+ * const shortNames: SseFraming<AgentfootprintEvent> = {
91
+ * contentType: 'text/event-stream',
92
+ * frame: (event) => encodeSSE(event.type.replace(/^agentfootprint\./, ''), event),
93
+ * };
94
+ * for await (const frame of toSSE(agent, { framing: shortNames })) res.write(frame);
95
+ * ```
96
+ */
97
+ export interface SseFraming<E> {
98
+ /** The media type a response framed this way declares. */
99
+ readonly contentType: string;
100
+ /**
101
+ * The whole frame for one event, its terminating blank line included.
102
+ *
103
+ * `at` is where the frame stands in ITS stream ({@link SseFramePosition}),
104
+ * counted by whoever drives the stream: a framing that numbers its frames
105
+ * (a gateway's `eventSequence`) reads the number here and keeps no counter
106
+ * of its own, so one framing serving many streams at once never numbers one
107
+ * stream's frames with another's.
108
+ */
109
+ frame(event: E, at: SseFramePosition): string;
110
+ }
111
+ /**
112
+ * Where one frame stands in its stream — handed to {@link SseFraming.frame} by
113
+ * whoever drives the stream (`toSSE`, `streamHandler`), never kept by a framing.
114
+ */
115
+ export interface SseFramePosition {
116
+ /**
117
+ * The frame's number in this stream: 1 for the first, one more for each frame
118
+ * written after it. Counted per stream — one response, one run — and never
119
+ * shared: a resumed run is a new stream and counts from 1 again. Keep-alive
120
+ * comments are not frames and are not counted.
121
+ */
122
+ readonly sequence: number;
69
123
  }
124
+ /**
125
+ * agentfootprint's own framing — `event: <type>` then `data: <json>` — the
126
+ * frames `toSSE` writes by default, byte for byte as before the framing seam
127
+ * existed. Every payload goes through the wire rule (`lib/wireJson.ts`).
128
+ */
129
+ export declare const agentfootprintSse: SseFraming<AgentfootprintEvent>;
70
130
  /**
71
131
  * Subscribe to a runner's `EventDispatcher` and yield SSE-formatted
72
132
  * strings until the run completes.
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/hosting/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC;IAC1D;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAuB,KAAK,CAAC,GAAG,EAAE,IAAI,EACpC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,aAAa,CAAC,MAAM,CAAC,CAsHvB;AAED;;;GAGG;AACH,qBAAa,YAAY,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE,YAAiB;IAG7C,8DAA8D;IAC9D,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;CAGhC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAQrE"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/hosting/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC;IAC1D;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAAU,CAAC,mBAAmB,CAG7D,CAAC;AAEF;;;GAGG;AACH,wBAAuB,KAAK,CAAC,GAAG,EAAE,IAAI,EACpC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,aAAa,CAAC,MAAM,CAAC,CA0HvB;AAED;;;GAGG;AACH,qBAAa,YAAY,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE,YAAiB;IAG7C,8DAA8D;IAC9D,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;CAGhC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAQrE"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * streamHandler — one run per request, streamed in a wire protocol, as a
3
+ * framework-agnostic Fetch-API handler: `(request: Request) => Promise<Response>`.
4
+ *
5
+ * Pattern: Template method over a {@link ProtocolAdapter} (the protocol is a
6
+ * strategy; AG-UI is one). Everything HTTP happens here once — the
7
+ * door guard, the body ceiling, the JSON parse, binding the
8
+ * conversation to its caller, keeping it between requests, the client
9
+ * hanging up, a failure that is never the process's — so an adapter
10
+ * only reads its request, plans the turn and translates.
11
+ * Role: the host for a protocol whose response is a STREAM OF EVENTS rather
12
+ * than text pieces (`httpHost`'s port). It mounts in anything that
13
+ * speaks `Request`/`Response` — a framework's route handler, an edge
14
+ * or serverless runtime, or Node through any fetch adapter.
15
+ * Deliberately names no vendor, like every file in this folder.
16
+ *
17
+ * THE REQUEST IS UNTRUSTED. A body is what anybody could send. It decides
18
+ * nothing the server owns:
19
+ * - WHO is calling and WHICH conversation is theirs come from the app's
20
+ * {@link ThreadBinder} (`threads`), from the request's headers — the id a
21
+ * request names is format-checked caller data and never a key;
22
+ * - WHAT WAS SAID BEFORE comes from the server: the session store
23
+ * (`sessions`), or the agent's own memory keyed by the bound session;
24
+ * - WHAT A PAUSED RUN WAITS ON is the stored run's own record — an answer is
25
+ * matched to it by the adapter, never taken on the request's word;
26
+ * - identity and redaction settings never come from a request. A credential
27
+ * the request CARRIES (a gateway's per-request token) reaches its own run
28
+ * only through the app's `sealRequest`, sealed: never a frame, a stored
29
+ * session or a checkpoint.
30
+ *
31
+ * NOTHING IS SHARED BETWEEN REQUESTS. Every request builds a FRESH runner
32
+ * (`agent`, a factory): footprintjs runs one executor per run and a runner
33
+ * holds one run's context, so a request can neither see another's events nor
34
+ * leave anything behind for one — no shared listener, recorder, buffer, tool
35
+ * session or frame count (each stream numbers its own frames, and hands the
36
+ * number to the framing: `SseFramePosition`). A factory that hands back a
37
+ * runner it handed back before is refused; so is a `sealRequest` that hands
38
+ * back a sealed request twice. The handler's own state is KEYS, never content:
39
+ * the bound conversations with a turn in flight and who holds each (a second
40
+ * turn on one conversation is refused rather than racing the first for the
41
+ * stored state), and the runners and sealed requests already used (by
42
+ * identity, held weakly).
43
+ *
44
+ * ONE TURN PER THREAD IS A PER-PROCESS GUARD. Two instances of the handler
45
+ * (several serverless instances, several workers) do not see each other's
46
+ * turns: route a thread to one instance (sticky sessions), or a double-sent
47
+ * answer can resume one paused run twice and a later persist can overwrite an
48
+ * earlier one. The session store port has no compare-and-set yet.
49
+ *
50
+ * The laws it keeps from `httpHost`:
51
+ * - The door guard runs first, on the headers alone (`doorGuard.ts`): a Host
52
+ * not configured (421), a browser origin not allowed (403), a POST that
53
+ * does not say it is JSON (415). A refused body is never read.
54
+ * - A body over `maxBodyBytes` is refused at the byte that crosses it (413).
55
+ * - A refusal answers with its own status and code (`refusalStatus.ts`);
56
+ * anything else is a 500 that names nothing the caller sent and no thrown
57
+ * message.
58
+ * - Nothing in a request's lifecycle is the process's failure: every step is
59
+ * caught, and a stream always ends.
60
+ */
61
+ import type { AgentRunCheckpoint } from '../core/runCheckpoint.js';
62
+ import type { Runner } from '../core/runner.js';
63
+ import { type CrossSiteOptions } from './doorGuard.js';
64
+ import type { ProtocolAdapter, StreamRunContext, ThreadBinder } from './protocolAdapter.js';
65
+ import { type RequestSealer } from './requestSealing.js';
66
+ import type { SessionLifecycle } from './types.js';
67
+ /** The default body ceiling — 1 MiB, the same as `nodeHost`. */
68
+ export declare const DEFAULT_STREAM_MAX_BODY_BYTES = 1048576;
69
+ /** The default keep-alive interval: an SSE comment every 15 s of silence. */
70
+ export declare const DEFAULT_STREAM_HEARTBEAT_MS = 15000;
71
+ /**
72
+ * The runner one request runs — an `Agent`, an `LLMCall`, a composition. An
73
+ * Agent's `checkpoint()` is the conversation a session store keeps; a runner
74
+ * without one answers each request's message on its own.
75
+ */
76
+ export type StreamRunner = Pick<Runner, 'on' | 'run' | 'resume'> & {
77
+ checkpoint?(): AgentRunCheckpoint | undefined;
78
+ shutdown?(options?: {
79
+ readonly stop?: boolean;
80
+ }): Promise<void>;
81
+ };
82
+ /** Options for {@link streamHandler}. */
83
+ export interface StreamHandlerOptions<TRequest, TEvent> extends CrossSiteOptions {
84
+ /**
85
+ * Builds a FRESH runner for every request — called once per request, with
86
+ * what that request's runner is built with ({@link StreamRunContext}: the
87
+ * tools the caller runs, the values the app's validators accepted, the bound
88
+ * conversation). A runner is never shared between requests; one handed back
89
+ * twice is refused.
90
+ */
91
+ readonly agent: (run: StreamRunContext) => StreamRunner;
92
+ /** The wire protocol — `agUi()` from `agentfootprint/ag-ui`. */
93
+ readonly adapter: ProtocolAdapter<TRequest, TEvent>;
94
+ /**
95
+ * The app's port that binds the conversation a request names to the caller
96
+ * the app authenticates ({@link ThreadBinder}). Without it every request is
97
+ * a conversation of one message: no session, no identity, nothing kept.
98
+ */
99
+ readonly threads?: ThreadBinder;
100
+ /**
101
+ * Where a bound conversation is kept between requests — what was said (an
102
+ * Agent's `checkpoint()`) and a run paused on an answer — under the key
103
+ * `threads` binds (`memorySessions()`, `sqliteSessions()`, or yours). Needs
104
+ * `threads`: nothing is ever kept under the id a request names.
105
+ */
106
+ readonly sessions?: SessionLifecycle;
107
+ /**
108
+ * Seal the credential a request carries for its run ({@link RequestSealer}) —
109
+ * a gateway's per-request token in a header, read by a `requestCredentials`
110
+ * provider for the tools that declare a `needs` for it. Called once per
111
+ * request that runs, after the thread is bound and the turn is planned, with
112
+ * the request's headers; its handle goes to THAT request's
113
+ * `run()` / `resume()` and nowhere else — never a frame, a stored session or
114
+ * a checkpoint. A handle returned twice is refused; a sealer that throws
115
+ * refuses the request in fixed words (`ERR_REQUEST_NOT_SEALED`, 400).
116
+ * Without it, no run carries a request.
117
+ */
118
+ readonly sealRequest?: RequestSealer;
119
+ /** The largest request body read, in bytes. Default {@link DEFAULT_STREAM_MAX_BODY_BYTES}. */
120
+ readonly maxBodyBytes?: number;
121
+ /**
122
+ * An SSE comment (`: ping`) every this many milliseconds, so a proxy does not
123
+ * cut a stream that is quiet while the model thinks. Default
124
+ * {@link DEFAULT_STREAM_HEARTBEAT_MS}; `0` turns it off.
125
+ */
126
+ readonly heartbeatMs?: number;
127
+ /** Names this handler in refusals. Default `'<adapter name> stream'`. */
128
+ readonly name?: string;
129
+ }
130
+ /** A Fetch-API handler: one request in, one streamed response out. */
131
+ export type StreamHandler = (request: Request) => Promise<Response>;
132
+ /**
133
+ * Serve runs in `adapter`'s protocol: POST a protocol request, read a stream
134
+ * of the protocol's events.
135
+ *
136
+ * @throws TypeError at construction for options that cannot be served, and
137
+ * when the adapter's framing cannot be built (an optional peer missing) —
138
+ * refused at boot, never mid-request.
139
+ *
140
+ * @example A route handler that speaks `Request`/`Response`
141
+ * ```ts
142
+ * import { memorySessions, streamHandler } from 'agentfootprint/hosting';
143
+ * import { agUi } from 'agentfootprint/ag-ui';
144
+ *
145
+ * export const POST = streamHandler({
146
+ * agent: ({ tools }) => buildAgent(tools), // a fresh agent per request
147
+ * adapter: agUi(),
148
+ * threads: { bind: ({ conversation, headers }) => bindToUser(conversation, headers) },
149
+ * sessions: memorySessions(),
150
+ * });
151
+ * ```
152
+ */
153
+ export declare function streamHandler<TRequest, TEvent>(options: StreamHandlerOptions<TRequest, TEvent>): StreamHandler;
154
+ //# sourceMappingURL=streamHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamHandler.d.ts","sourceRoot":"","sources":["../../../src/hosting/streamHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlF,OAAO,KAAK,EAEV,eAAe,EAIf,gBAAgB,EAChB,YAAY,EAEb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9D,gEAAgE;AAChE,eAAO,MAAM,6BAA6B,UAAY,CAAC;AAEvD,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,GAAG;IACjE,UAAU,CAAC,IAAI,kBAAkB,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE,CAAC;AAEF,yCAAyC;AACzC,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAE,SAAQ,gBAAgB;IAC9E;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,YAAY,CAAC;IACxD,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAoBpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAC5C,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAC9C,aAAa,CAyXf"}
@@ -34,6 +34,7 @@ import type { AnswerAccountsOptions } from './answerAccounts.js';
34
34
  import type { DoorIdentity } from './identityVerification.js';
35
35
  import type { AdmissionPolicy } from './admission.js';
36
36
  import type { IngressSink } from './ingressRecord.js';
37
+ import type { RequestSealer } from './requestSealing.js';
37
38
  import type { SessionSummary, SessionWireRequest, SessionWireResult } from './sessionWire.js';
38
39
  export type { Unsubscribe };
39
40
  /**
@@ -871,6 +872,21 @@ export interface PausedRun {
871
872
  readonly conversation: AgentRunCheckpoint;
872
873
  /** What the run is waiting on, as data. */
873
874
  readonly pending: PendingAsk;
875
+ /**
876
+ * What the WIRE that served the pause recorded about it — the ids it handed
877
+ * the caller for the answer — so a later request on that wire is matched to
878
+ * this pause and continued as the same invocation (`streamHandler` keeps the
879
+ * AG-UI adapter's record here). Absent for a pause a door with nothing to
880
+ * remember stored, and opaque to the store and to every other door.
881
+ */
882
+ readonly wire?: PausedWire;
883
+ }
884
+ /** One wire protocol's own record of a pause it served — see {@link PausedRun.wire}. */
885
+ export interface PausedWire {
886
+ /** The protocol that recorded it: the protocol adapter's `name`. */
887
+ readonly protocol: string;
888
+ /** Plain JSON, the protocol's own; ids and names, never a value of the run. */
889
+ readonly record: unknown;
874
890
  }
875
891
  /**
876
892
  * The question a paused run is waiting on — the part of a pause that is safe to
@@ -1402,6 +1418,34 @@ export interface StandingAgentBaseOptions<TH extends HostHandle = HostHandle> {
1402
1418
  * decided against a window none of them had joined.
1403
1419
  */
1404
1420
  readonly admission?: AdmissionPolicy;
1421
+ /**
1422
+ * Seal the credential a request carries for its run — a gateway's
1423
+ * per-request token in a header, read by a `requestCredentials` provider
1424
+ * (`agentfootprint/security`) for the tools that declare a `needs` for it.
1425
+ *
1426
+ * Called once per request that RUNS (a turn or an answer — never an
1427
+ * artifact or session op, never a refused request), after the caller is
1428
+ * verified and the session's ownership is checked, with the request's
1429
+ * headers ({@link HostRequest.headers}: `nodeHost` and `httpHost` deliver
1430
+ * them) and nothing else. Return
1431
+ * `requestContext({ secrets })`, or `undefined` for a request that carries
1432
+ * none; the handle goes to THAT request's `run()` / `resume()` only — never
1433
+ * the reply, the stored session or the checkpoint, so a resumed run is
1434
+ * served the RESUMING request's credential. A handle any host was handed
1435
+ * before is refused; a sealer that throws refuses the request in fixed words
1436
+ * (`ERR_REQUEST_NOT_SEALED`, 400) — so decrypt at vend time
1437
+ * (`decodedWith`), not here. The HANDLE never reaches a reply; a tool that
1438
+ * returns the credential's value itself does (`hostFilled` scrubs an echo).
1439
+ *
1440
+ * Unset — the default — no run carries a request, exactly as before.
1441
+ *
1442
+ * @example
1443
+ * sealRequest: ({ headers }) =>
1444
+ * headers['x-crm-token'] === undefined
1445
+ * ? undefined
1446
+ * : requestContext({ secrets: { crmToken: headers['x-crm-token'] } }),
1447
+ */
1448
+ readonly sealRequest?: RequestSealer;
1405
1449
  /**
1406
1450
  * Where this door's ingress decisions go (9.32.0) — one record per request,
1407
1451
  * including every request that never became a run.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hosting/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hosting/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * verifiedThreads — the {@link ThreadBinder} that binds a thread to a VERIFIED
3
+ * caller, so the secure binding is the one-line one.
4
+ *
5
+ * A request names a thread; naming one proves nothing. This binder checks the
6
+ * caller's credential with the door's own identity verification
7
+ * (`verifyRequestIdentity` — the bearer token, through your verifier), never a
8
+ * header read as a name, and keys the conversation by WHO
9
+ * plus WHICH: the same thread id from two people is two conversations. The
10
+ * run's `identity` names the verified person, so a stored conversation records
11
+ * its owner and a later request from anyone else is refused as not found.
12
+ *
13
+ * A caller with no credential is REFUSED (401), even at a door that allows
14
+ * anonymous requests elsewhere: a thread with no owner would be anybody's who
15
+ * guessed its id.
16
+ */
17
+ import { type IdentityVerificationOptions } from './identityVerification.js';
18
+ import type { ThreadBinder } from './protocolAdapter.js';
19
+ /**
20
+ * Bind every thread to the caller `identity` verifies.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * import { jwksIdentity } from 'agentfootprint/security';
25
+ * const threads = verifiedThreads(jwksIdentity({ jwksUrl, issuer, audience }));
26
+ * streamHandler({ agent, adapter: agUi(), threads, sessions: memorySessions() });
27
+ * ```
28
+ */
29
+ export declare function verifiedThreads(identity: IdentityVerificationOptions): ThreadBinder;
30
+ //# sourceMappingURL=verifiedThreads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifiedThreads.d.ts","sourceRoot":"","sources":["../../../src/hosting/verifiedThreads.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAyB,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,2BAA2B,GAAG,YAAY,CAenF"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * requestContext — the INCOMING REQUEST's secrets, sealed for one run.
3
+ *
4
+ * A host that receives a per-request credential (an encrypted token in a
5
+ * header, a session-bound key) seals it here and hands the handle to the run:
6
+ *
7
+ * ```ts
8
+ * const request = requestContext({ secrets: { mcpToken: req.headers['x-mcp-token'] } });
9
+ * await agent.run({ message }, { request });
10
+ * ```
11
+ *
12
+ * ── Why a sealed handle and not a plain object ──────────────────────────────
13
+ * The run's input, its options and its state all travel: input and state into
14
+ * the commit log, the recorders and every exporter; options into whatever a
15
+ * host logs. A plain `{ mcpToken: '…' }` would ride all of them. The handle
16
+ * holds NOTHING an enumeration, `JSON.stringify`, `structuredClone` or an
17
+ * inspector can reach — the values live in a module-private `WeakMap` keyed by
18
+ * the handle, and only {@link requestSecretOf} (internal, never on a door)
19
+ * reads them. So the handle can sit in an options bag, be logged by accident,
20
+ * or be copied, and nothing secret moves with it.
21
+ *
22
+ * ── Who reads it ─────────────────────────────────────────────────────────────
23
+ * Only a credential provider, through `CredentialRequest.request`, which the
24
+ * framework fills from the run the call belongs to (`bindRequest`). The model
25
+ * never sees it, no stage writes it to scope, and a tool reaches what it
26
+ * vends only as `ctx.credential`.
27
+ *
28
+ * ── One request, one run ─────────────────────────────────────────────────────
29
+ * The framework decides WHICH handle a call carries — the agent's own run, or
30
+ * the run a composition opened for its members (`core/memberRun.ts`). A call
31
+ * with no run that carries a request gets none: a request credential then
32
+ * fails closed (`requestCredentials`), and is never borrowed from another run.
33
+ *
34
+ * Pattern: sealed value object (module-private WeakMap). Role: identity, run input.
35
+ */
36
+ import type { CredentialProvider } from './types.js';
37
+ /** What {@link requestContext} takes. */
38
+ export interface RequestContextOptions {
39
+ /**
40
+ * The request's secrets, by name — `{ mcpToken: '<from the header>' }`.
41
+ * Each value must be a non-empty string; names are compared exactly.
42
+ */
43
+ readonly secrets: Readonly<Record<string, string>>;
44
+ }
45
+ /**
46
+ * The incoming request's secrets, sealed. Opaque: it has no readable fields,
47
+ * serializes as a fixed placeholder, and is recognised by the framework only
48
+ * when {@link requestContext} built it.
49
+ */
50
+ export interface RequestContext {
51
+ /** Type-only brand: no value carries it at run time. A value built anywhere
52
+ * else is refused at the door (`assertRequestContext`), never read. */
53
+ readonly [requestContextBrand]: never;
54
+ }
55
+ /** The brand's key — declared, never created; it exists only in the types. */
56
+ declare const requestContextBrand: unique symbol;
57
+ /**
58
+ * Seal an incoming request's secrets for one run. Pass the result as
59
+ * `run(input, { request })` (or `resume(…, { request })`); a credential
60
+ * provider built by `requestCredentials` reads it there.
61
+ *
62
+ * @throws TypeError when `secrets` is not a plain object of non-empty strings.
63
+ */
64
+ export declare function requestContext(options: RequestContextOptions): RequestContext;
65
+ /** Whether `value` is a handle {@link requestContext} built. */
66
+ export declare function isRequestContext(value: unknown): value is RequestContext;
67
+ /**
68
+ * Refuse a `request` that {@link requestContext} did not build — at the door
69
+ * the caller used, before anything moves. A plain object would carry its
70
+ * values wherever the options travel.
71
+ *
72
+ * @throws TypeError naming the door.
73
+ */
74
+ export declare function assertRequestContext(value: unknown, door: string): void;
75
+ /**
76
+ * The secret a sealed request holds under `name`, or `undefined`.
77
+ *
78
+ * @internal Never re-exported on a door. The only reader is a credential
79
+ * provider in this folder, which turns it into a `Credential` for one call.
80
+ */
81
+ export declare function requestSecretOf(request: unknown, name: string): string | undefined;
82
+ /**
83
+ * The provider a call of ONE run is handed: a `getCredential` for `service` —
84
+ * the service the calling tool DECLARES in its `needs` — carries that run's
85
+ * request, and only that run's. A request the caller put on the request
86
+ * itself is always replaced (or removed), so a tool cannot present another
87
+ * run's handle through `ctx.credentials`; and a call for any OTHER service
88
+ * carries no request, so a tool cannot pull a request credential it never
89
+ * declared. `service` undefined → no call carries a request.
90
+ *
91
+ * Every other field passes through untouched; the provider's `id` is kept.
92
+ *
93
+ * @internal The framework's binding; not on a door.
94
+ */
95
+ export declare function bindRequest(provider: CredentialProvider, request: RequestContext | undefined, service: string | undefined): CredentialProvider;
96
+ export {};
97
+ //# sourceMappingURL=requestContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../../src/identity/requestContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,YAAY,CAAC;AAKxE,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;4EACwE;IACxE,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;CACvC;AAED,8EAA8E;AAC9E,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AAIjD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAsB7E;AAcD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,kBAAkB,CAUpB"}