@illuma-ai/agents 1.4.0-alpha.6 → 1.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 (800) hide show
  1. package/README.md +62 -0
  2. package/dist/cjs/agents/AgentContext.cjs +274 -67
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  4. package/dist/cjs/common/enum.cjs +44 -13
  5. package/dist/cjs/common/enum.cjs.map +1 -1
  6. package/dist/cjs/graphs/Graph.cjs +182 -5
  7. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  8. package/dist/cjs/graphs/MultiAgentGraph.cjs +152 -1167
  9. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  10. package/dist/cjs/hooks/HookRegistry.cjs +162 -0
  11. package/dist/cjs/hooks/HookRegistry.cjs.map +1 -0
  12. package/dist/cjs/hooks/executeHooks.cjs +276 -0
  13. package/dist/cjs/hooks/executeHooks.cjs.map +1 -0
  14. package/dist/cjs/hooks/matchers.cjs +256 -0
  15. package/dist/cjs/hooks/matchers.cjs.map +1 -0
  16. package/dist/cjs/hooks/types.cjs +27 -0
  17. package/dist/cjs/hooks/types.cjs.map +1 -0
  18. package/dist/cjs/langchain/google-common.cjs +3 -0
  19. package/dist/cjs/langchain/google-common.cjs.map +1 -0
  20. package/dist/cjs/langchain/index.cjs +86 -0
  21. package/dist/cjs/langchain/index.cjs.map +1 -0
  22. package/dist/cjs/langchain/language_models/chat_models.cjs +3 -0
  23. package/dist/cjs/langchain/language_models/chat_models.cjs.map +1 -0
  24. package/dist/cjs/langchain/messages/tool.cjs +3 -0
  25. package/dist/cjs/langchain/messages/tool.cjs.map +1 -0
  26. package/dist/cjs/langchain/messages.cjs +51 -0
  27. package/dist/cjs/langchain/messages.cjs.map +1 -0
  28. package/dist/cjs/langchain/openai.cjs +3 -0
  29. package/dist/cjs/langchain/openai.cjs.map +1 -0
  30. package/dist/cjs/langchain/prompts.cjs +11 -0
  31. package/dist/cjs/langchain/prompts.cjs.map +1 -0
  32. package/dist/cjs/langchain/runnables.cjs +19 -0
  33. package/dist/cjs/langchain/runnables.cjs.map +1 -0
  34. package/dist/cjs/langchain/tools.cjs +23 -0
  35. package/dist/cjs/langchain/tools.cjs.map +1 -0
  36. package/dist/cjs/langchain/utils/env.cjs +11 -0
  37. package/dist/cjs/langchain/utils/env.cjs.map +1 -0
  38. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +5 -1
  39. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  40. package/dist/cjs/llm/bedrock/cacheSupport.cjs +55 -0
  41. package/dist/cjs/llm/bedrock/cacheSupport.cjs.map +1 -0
  42. package/dist/cjs/llm/bedrock/index.cjs +61 -33
  43. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  44. package/dist/cjs/llm/openai/index.cjs +0 -3
  45. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  46. package/dist/cjs/llm/openai/utils/index.cjs +27 -10
  47. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  48. package/dist/cjs/main.cjs +178 -127
  49. package/dist/cjs/main.cjs.map +1 -1
  50. package/dist/cjs/messages/cache.cjs +89 -0
  51. package/dist/cjs/messages/cache.cjs.map +1 -1
  52. package/dist/cjs/messages/contextPruning.cjs +156 -0
  53. package/dist/cjs/messages/contextPruning.cjs.map +1 -0
  54. package/dist/cjs/messages/contextPruningSettings.cjs +53 -0
  55. package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -0
  56. package/dist/cjs/messages/format.cjs +144 -20
  57. package/dist/cjs/messages/format.cjs.map +1 -1
  58. package/dist/cjs/messages/prune.cjs +505 -4
  59. package/dist/cjs/messages/prune.cjs.map +1 -1
  60. package/dist/cjs/run.cjs +141 -1
  61. package/dist/cjs/run.cjs.map +1 -1
  62. package/dist/cjs/tools/BashExecutor.cjs +235 -0
  63. package/dist/cjs/tools/BashExecutor.cjs.map +1 -0
  64. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +297 -0
  65. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -0
  66. package/dist/cjs/tools/CodeExecutor.cjs +44 -47
  67. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  68. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +16 -11
  69. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  70. package/dist/cjs/tools/ReadFile.cjs +44 -0
  71. package/dist/cjs/tools/ReadFile.cjs.map +1 -0
  72. package/dist/cjs/tools/SkillTool.cjs +51 -0
  73. package/dist/cjs/tools/SkillTool.cjs.map +1 -0
  74. package/dist/cjs/tools/SubagentTool.cjs +93 -0
  75. package/dist/cjs/tools/SubagentTool.cjs.map +1 -0
  76. package/dist/cjs/tools/ToolNode.cjs +450 -24
  77. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  78. package/dist/cjs/tools/search/search.cjs +11 -3
  79. package/dist/cjs/tools/search/search.cjs.map +1 -1
  80. package/dist/cjs/tools/search/tavily-scraper.cjs +189 -0
  81. package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -0
  82. package/dist/cjs/tools/search/tavily-search.cjs +372 -0
  83. package/dist/cjs/tools/search/tavily-search.cjs.map +1 -0
  84. package/dist/cjs/tools/search/tool.cjs +28 -4
  85. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  86. package/dist/cjs/tools/search/utils.cjs +10 -3
  87. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  88. package/dist/cjs/tools/skillCatalog.cjs +84 -0
  89. package/dist/cjs/tools/skillCatalog.cjs.map +1 -0
  90. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +512 -0
  91. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -0
  92. package/dist/cjs/tools/toolOutputReferences.cjs +670 -0
  93. package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -0
  94. package/dist/cjs/types/agent-cache.cjs +53 -0
  95. package/dist/cjs/types/agent-cache.cjs.map +1 -0
  96. package/dist/cjs/types/graph.cjs.map +1 -1
  97. package/dist/cjs/utils/truncation.cjs +135 -0
  98. package/dist/cjs/utils/truncation.cjs.map +1 -0
  99. package/dist/esm/agents/AgentContext.mjs +274 -67
  100. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  101. package/dist/esm/common/enum.mjs +44 -12
  102. package/dist/esm/common/enum.mjs.map +1 -1
  103. package/dist/esm/graphs/Graph.mjs +182 -5
  104. package/dist/esm/graphs/Graph.mjs.map +1 -1
  105. package/dist/esm/graphs/MultiAgentGraph.mjs +155 -1170
  106. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  107. package/dist/esm/hooks/HookRegistry.mjs +160 -0
  108. package/dist/esm/hooks/HookRegistry.mjs.map +1 -0
  109. package/dist/esm/hooks/executeHooks.mjs +273 -0
  110. package/dist/esm/hooks/executeHooks.mjs.map +1 -0
  111. package/dist/esm/hooks/matchers.mjs +251 -0
  112. package/dist/esm/hooks/matchers.mjs.map +1 -0
  113. package/dist/esm/hooks/types.mjs +25 -0
  114. package/dist/esm/hooks/types.mjs.map +1 -0
  115. package/dist/esm/langchain/google-common.mjs +2 -0
  116. package/dist/esm/langchain/google-common.mjs.map +1 -0
  117. package/dist/esm/langchain/index.mjs +5 -0
  118. package/dist/esm/langchain/language_models/chat_models.mjs +2 -0
  119. package/dist/esm/langchain/language_models/chat_models.mjs.map +1 -0
  120. package/dist/esm/langchain/messages/tool.mjs +2 -0
  121. package/dist/esm/langchain/messages/tool.mjs.map +1 -0
  122. package/dist/esm/langchain/messages.mjs +2 -0
  123. package/dist/esm/langchain/messages.mjs.map +1 -0
  124. package/dist/esm/langchain/openai.mjs +2 -0
  125. package/dist/esm/langchain/openai.mjs.map +1 -0
  126. package/dist/esm/langchain/prompts.mjs +2 -0
  127. package/dist/esm/langchain/prompts.mjs.map +1 -0
  128. package/dist/esm/langchain/runnables.mjs +2 -0
  129. package/dist/esm/langchain/runnables.mjs.map +1 -0
  130. package/dist/esm/langchain/tools.mjs +2 -0
  131. package/dist/esm/langchain/tools.mjs.map +1 -0
  132. package/dist/esm/langchain/utils/env.mjs +2 -0
  133. package/dist/esm/langchain/utils/env.mjs.map +1 -0
  134. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +5 -1
  135. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  136. package/dist/esm/llm/bedrock/cacheSupport.mjs +52 -0
  137. package/dist/esm/llm/bedrock/cacheSupport.mjs.map +1 -0
  138. package/dist/esm/llm/bedrock/index.mjs +61 -34
  139. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  140. package/dist/esm/llm/openai/index.mjs +0 -3
  141. package/dist/esm/llm/openai/index.mjs.map +1 -1
  142. package/dist/esm/llm/openai/utils/index.mjs +27 -10
  143. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  144. package/dist/esm/main.mjs +21 -27
  145. package/dist/esm/main.mjs.map +1 -1
  146. package/dist/esm/messages/cache.mjs +89 -0
  147. package/dist/esm/messages/cache.mjs.map +1 -1
  148. package/dist/esm/messages/contextPruning.mjs +154 -0
  149. package/dist/esm/messages/contextPruning.mjs.map +1 -0
  150. package/dist/esm/messages/contextPruningSettings.mjs +50 -0
  151. package/dist/esm/messages/contextPruningSettings.mjs.map +1 -0
  152. package/dist/esm/messages/format.mjs +136 -12
  153. package/dist/esm/messages/format.mjs.map +1 -1
  154. package/dist/esm/messages/prune.mjs +504 -7
  155. package/dist/esm/messages/prune.mjs.map +1 -1
  156. package/dist/esm/run.mjs +141 -1
  157. package/dist/esm/run.mjs.map +1 -1
  158. package/dist/esm/tools/BashExecutor.mjs +227 -0
  159. package/dist/esm/tools/BashExecutor.mjs.map +1 -0
  160. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +288 -0
  161. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -0
  162. package/dist/esm/tools/CodeExecutor.mjs +44 -48
  163. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  164. package/dist/esm/tools/ProgrammaticToolCalling.mjs +17 -12
  165. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  166. package/dist/esm/tools/ReadFile.mjs +39 -0
  167. package/dist/esm/tools/ReadFile.mjs.map +1 -0
  168. package/dist/esm/tools/SkillTool.mjs +46 -0
  169. package/dist/esm/tools/SkillTool.mjs.map +1 -0
  170. package/dist/esm/tools/SubagentTool.mjs +86 -0
  171. package/dist/esm/tools/SubagentTool.mjs.map +1 -0
  172. package/dist/esm/tools/ToolNode.mjs +452 -26
  173. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  174. package/dist/esm/tools/search/search.mjs +11 -3
  175. package/dist/esm/tools/search/search.mjs.map +1 -1
  176. package/dist/esm/tools/search/tavily-scraper.mjs +186 -0
  177. package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -0
  178. package/dist/esm/tools/search/tavily-search.mjs +370 -0
  179. package/dist/esm/tools/search/tavily-search.mjs.map +1 -0
  180. package/dist/esm/tools/search/tool.mjs +28 -4
  181. package/dist/esm/tools/search/tool.mjs.map +1 -1
  182. package/dist/esm/tools/search/utils.mjs +10 -3
  183. package/dist/esm/tools/search/utils.mjs.map +1 -1
  184. package/dist/esm/tools/skillCatalog.mjs +82 -0
  185. package/dist/esm/tools/skillCatalog.mjs.map +1 -0
  186. package/dist/esm/tools/subagent/SubagentExecutor.mjs +506 -0
  187. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -0
  188. package/dist/esm/tools/toolOutputReferences.mjs +662 -0
  189. package/dist/esm/tools/toolOutputReferences.mjs.map +1 -0
  190. package/dist/esm/types/agent-cache.mjs +51 -0
  191. package/dist/esm/types/agent-cache.mjs.map +1 -0
  192. package/dist/esm/types/graph.mjs.map +1 -1
  193. package/dist/esm/utils/truncation.mjs +128 -0
  194. package/dist/esm/utils/truncation.mjs.map +1 -0
  195. package/dist/types/agents/AgentContext.d.ts +101 -8
  196. package/dist/types/common/enum.d.ts +39 -12
  197. package/dist/types/common/index.d.ts +0 -1
  198. package/dist/types/graphs/Graph.d.ts +43 -0
  199. package/dist/types/graphs/MultiAgentGraph.d.ts +26 -150
  200. package/dist/types/graphs/index.d.ts +0 -1
  201. package/dist/types/hooks/HookRegistry.d.ts +56 -0
  202. package/dist/types/hooks/executeHooks.d.ts +79 -0
  203. package/dist/types/hooks/index.d.ts +6 -0
  204. package/dist/types/hooks/matchers.d.ts +95 -0
  205. package/dist/types/hooks/types.d.ts +320 -0
  206. package/dist/types/index.d.ts +9 -9
  207. package/dist/types/langchain/google-common.d.ts +1 -0
  208. package/dist/types/langchain/index.d.ts +8 -0
  209. package/dist/types/langchain/language_models/chat_models.d.ts +1 -0
  210. package/dist/types/langchain/messages/tool.d.ts +1 -0
  211. package/dist/types/langchain/messages.d.ts +2 -0
  212. package/dist/types/langchain/openai.d.ts +1 -0
  213. package/dist/types/langchain/prompts.d.ts +1 -0
  214. package/dist/types/langchain/runnables.d.ts +2 -0
  215. package/dist/types/langchain/tools.d.ts +2 -0
  216. package/dist/types/langchain/utils/env.d.ts +1 -0
  217. package/dist/types/llm/bedrock/cacheSupport.d.ts +35 -0
  218. package/dist/types/llm/bedrock/index.d.ts +54 -1
  219. package/dist/types/messages/contextPruning.d.ts +42 -0
  220. package/dist/types/messages/contextPruningSettings.d.ts +44 -0
  221. package/dist/types/messages/format.d.ts +9 -1
  222. package/dist/types/messages/index.d.ts +2 -0
  223. package/dist/types/messages/prune.d.ts +91 -1
  224. package/dist/types/run.d.ts +2 -0
  225. package/dist/types/tools/BashExecutor.d.ts +76 -0
  226. package/dist/types/tools/BashProgrammaticToolCalling.d.ts +72 -0
  227. package/dist/types/tools/CodeExecutor.d.ts +8 -26
  228. package/dist/types/tools/ReadFile.d.ts +28 -0
  229. package/dist/types/tools/SkillTool.d.ts +40 -0
  230. package/dist/types/tools/SubagentTool.d.ts +36 -0
  231. package/dist/types/tools/ToolNode.d.ts +77 -5
  232. package/dist/types/tools/search/tavily-scraper.d.ts +19 -0
  233. package/dist/types/tools/search/tavily-search.d.ts +4 -0
  234. package/dist/types/tools/search/types.d.ts +99 -5
  235. package/dist/types/tools/search/utils.d.ts +2 -2
  236. package/dist/types/tools/skillCatalog.d.ts +19 -0
  237. package/dist/types/tools/subagent/SubagentExecutor.d.ts +137 -0
  238. package/dist/types/tools/subagent/index.d.ts +2 -0
  239. package/dist/types/tools/subagent/types.d.ts +84 -0
  240. package/dist/types/tools/toolOutputReferences.d.ts +236 -0
  241. package/dist/types/types/agent-cache.d.ts +70 -0
  242. package/dist/types/types/graph.d.ts +162 -22
  243. package/dist/types/types/index.d.ts +3 -0
  244. package/dist/types/types/messages.d.ts +26 -0
  245. package/dist/types/types/run.d.ts +22 -0
  246. package/dist/types/types/skill.d.ts +9 -0
  247. package/dist/types/types/tools.d.ts +111 -0
  248. package/dist/types/utils/index.d.ts +1 -3
  249. package/dist/types/utils/truncation.d.ts +70 -0
  250. package/package.json +57 -17
  251. package/src/agents/AgentContext.js.map +1 -0
  252. package/src/agents/AgentContext.test.js.map +1 -0
  253. package/src/agents/AgentContext.ts +321 -78
  254. package/src/agents/__tests__/AgentContext.cacheTtl.live.test.ts +259 -0
  255. package/src/agents/__tests__/AgentContext.crossAgentTier1.live.test.ts +264 -0
  256. package/src/agents/__tests__/AgentContext.crossUserCache.live.test.ts +342 -0
  257. package/src/agents/__tests__/AgentContext.test.js.map +1 -0
  258. package/src/agents/__tests__/AgentContext.test.ts +632 -0
  259. package/src/agents/__tests__/resolveStructuredOutputMode.test.js.map +1 -0
  260. package/src/common/__tests__/enum.test.ts +7 -17
  261. package/src/common/enum.js.map +1 -0
  262. package/src/common/enum.ts +43 -12
  263. package/src/common/index.js.map +1 -0
  264. package/src/common/index.ts +0 -1
  265. package/src/events.js.map +1 -0
  266. package/src/graphs/Graph.js.map +1 -0
  267. package/src/graphs/Graph.ts +222 -2
  268. package/src/graphs/MultiAgentGraph.js.map +1 -0
  269. package/src/graphs/MultiAgentGraph.ts +154 -1466
  270. package/src/graphs/__tests__/MultiAgentGraph.test.ts +91 -0
  271. package/src/graphs/__tests__/structured-output.integration.test.js.map +1 -0
  272. package/src/graphs/__tests__/structured-output.test.js.map +1 -0
  273. package/src/graphs/contextManagement.e2e.test.js.map +1 -0
  274. package/src/graphs/contextManagement.test.js.map +1 -0
  275. package/src/graphs/handoffValidation.test.js.map +1 -0
  276. package/src/graphs/index.js.map +1 -0
  277. package/src/graphs/index.ts +0 -1
  278. package/src/hooks/HookRegistry.ts +208 -0
  279. package/src/hooks/__tests__/HookRegistry.test.ts +190 -0
  280. package/src/hooks/__tests__/compactHooks.test.ts +214 -0
  281. package/src/hooks/__tests__/executeHooks.test.ts +1013 -0
  282. package/src/hooks/__tests__/integration.test.ts +337 -0
  283. package/src/hooks/__tests__/matchers.test.ts +238 -0
  284. package/src/hooks/__tests__/toolHooks.test.ts +665 -0
  285. package/src/hooks/executeHooks.ts +375 -0
  286. package/src/hooks/index.ts +57 -0
  287. package/src/hooks/matchers.ts +280 -0
  288. package/src/hooks/types.ts +404 -0
  289. package/src/index.js.map +1 -0
  290. package/src/index.ts +15 -24
  291. package/src/instrumentation.js.map +1 -0
  292. package/src/langchain/google-common.ts +1 -0
  293. package/src/langchain/index.ts +8 -0
  294. package/src/langchain/language_models/chat_models.ts +1 -0
  295. package/src/langchain/messages/tool.ts +5 -0
  296. package/src/langchain/messages.ts +21 -0
  297. package/src/langchain/openai.ts +1 -0
  298. package/src/langchain/prompts.ts +1 -0
  299. package/src/langchain/runnables.ts +7 -0
  300. package/src/langchain/tools.ts +8 -0
  301. package/src/langchain/utils/env.ts +1 -0
  302. package/src/llm/anthropic/index.js.map +1 -0
  303. package/src/llm/anthropic/types.js.map +1 -0
  304. package/src/llm/anthropic/utils/message_inputs.js.map +1 -0
  305. package/src/llm/anthropic/utils/message_inputs.ts +10 -1
  306. package/src/llm/anthropic/utils/message_outputs.js.map +1 -0
  307. package/src/llm/anthropic/utils/output_parsers.js.map +1 -0
  308. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +436 -0
  309. package/src/llm/anthropic/utils/tools.js.map +1 -0
  310. package/src/llm/bedrock/__tests__/bedrock-caching.test.js.map +1 -0
  311. package/src/llm/bedrock/__tests__/bedrock-caching.test.ts +166 -18
  312. package/src/llm/bedrock/cacheSupport.test.ts +99 -0
  313. package/src/llm/bedrock/cacheSupport.ts +53 -0
  314. package/src/llm/bedrock/index.js.map +1 -0
  315. package/src/llm/bedrock/index.ts +116 -41
  316. package/src/llm/bedrock/types.js.map +1 -0
  317. package/src/llm/bedrock/utils/index.js.map +1 -0
  318. package/src/llm/bedrock/utils/message_inputs.js.map +1 -0
  319. package/src/llm/bedrock/utils/message_outputs.js.map +1 -0
  320. package/src/llm/fake.js.map +1 -0
  321. package/src/llm/google/index.js.map +1 -0
  322. package/src/llm/google/types.js.map +1 -0
  323. package/src/llm/google/utils/common.js.map +1 -0
  324. package/src/llm/google/utils/tools.js.map +1 -0
  325. package/src/llm/google/utils/zod_to_genai_parameters.js.map +1 -0
  326. package/src/llm/openai/index.js.map +1 -0
  327. package/src/llm/openai/types.js.map +1 -0
  328. package/src/llm/openai/utils/index.js.map +1 -0
  329. package/src/llm/openai/utils/index.ts +31 -14
  330. package/src/llm/openai/utils/isReasoningModel.test.js.map +1 -0
  331. package/src/llm/openrouter/index.js.map +1 -0
  332. package/src/llm/openrouter/reasoning.test.js.map +1 -0
  333. package/src/llm/providers.js.map +1 -0
  334. package/src/llm/text.js.map +1 -0
  335. package/src/llm/vertexai/index.js.map +1 -0
  336. package/src/messages/__tests__/contextPruning.test.ts +228 -0
  337. package/src/messages/__tests__/tools.test.js.map +1 -0
  338. package/src/messages/cache.js.map +1 -0
  339. package/src/messages/cache.test.js.map +1 -0
  340. package/src/messages/cache.test.ts +62 -24
  341. package/src/messages/cache.ts +112 -0
  342. package/src/messages/content.js.map +1 -0
  343. package/src/messages/content.test.js.map +1 -0
  344. package/src/messages/contextPruning.ts +191 -0
  345. package/src/messages/contextPruningSettings.ts +90 -0
  346. package/src/messages/core.js.map +1 -0
  347. package/src/messages/ensureThinkingBlock.test.js.map +1 -0
  348. package/src/messages/format.js.map +1 -0
  349. package/src/messages/format.ts +164 -12
  350. package/src/messages/formatAgentMessages.skills.test.ts +413 -0
  351. package/src/messages/formatAgentMessages.test.js.map +1 -0
  352. package/src/messages/formatAgentMessages.tools.test.js.map +1 -0
  353. package/src/messages/formatMessage.test.js.map +1 -0
  354. package/src/messages/ids.js.map +1 -0
  355. package/src/messages/index.js.map +1 -0
  356. package/src/messages/index.ts +2 -0
  357. package/src/messages/labelContentByAgent.test.js.map +1 -0
  358. package/src/messages/prune.js.map +1 -0
  359. package/src/messages/prune.ts +661 -4
  360. package/src/messages/reducer.js.map +1 -0
  361. package/src/messages/shiftIndexTokenCountMap.test.js.map +1 -0
  362. package/src/messages/summarize.js.map +1 -0
  363. package/src/messages/summarize.test.js.map +1 -0
  364. package/src/messages/tools.js.map +1 -0
  365. package/src/mockStream.js.map +1 -0
  366. package/src/prompts/collab.js.map +1 -0
  367. package/src/prompts/index.js.map +1 -0
  368. package/src/prompts/taskmanager.js.map +1 -0
  369. package/src/run.js.map +1 -0
  370. package/src/run.ts +155 -1
  371. package/src/schemas/index.js.map +1 -0
  372. package/src/schemas/schema-preparation.test.js.map +1 -0
  373. package/src/schemas/validate.js.map +1 -0
  374. package/src/schemas/validate.test.js.map +1 -0
  375. package/src/scripts/abort.js.map +1 -0
  376. package/src/scripts/ant_web_search.js.map +1 -0
  377. package/src/scripts/ant_web_search_edge_case.js.map +1 -0
  378. package/src/scripts/ant_web_search_error_edge_case.js.map +1 -0
  379. package/src/scripts/args.js.map +1 -0
  380. package/src/scripts/bedrock-cache-debug.js.map +1 -0
  381. package/src/scripts/bedrock-content-aggregation-test.js.map +1 -0
  382. package/src/scripts/bedrock-merge-test.js.map +1 -0
  383. package/src/scripts/bedrock-parallel-tools-test.js.map +1 -0
  384. package/src/scripts/caching.js.map +1 -0
  385. package/src/scripts/cli.js.map +1 -0
  386. package/src/scripts/cli2.js.map +1 -0
  387. package/src/scripts/cli3.js.map +1 -0
  388. package/src/scripts/cli4.js.map +1 -0
  389. package/src/scripts/cli5.js.map +1 -0
  390. package/src/scripts/code_exec.js.map +1 -0
  391. package/src/scripts/code_exec_files.js.map +1 -0
  392. package/src/scripts/code_exec_multi_session.js.map +1 -0
  393. package/src/scripts/code_exec_ptc.js.map +1 -0
  394. package/src/scripts/code_exec_session.js.map +1 -0
  395. package/src/scripts/code_exec_simple.js.map +1 -0
  396. package/src/scripts/content.js.map +1 -0
  397. package/src/scripts/empty_input.js.map +1 -0
  398. package/src/scripts/handoff-test.js.map +1 -0
  399. package/src/scripts/image.js.map +1 -0
  400. package/src/scripts/memory.js.map +1 -0
  401. package/src/scripts/multi-agent-chain.js.map +1 -0
  402. package/src/scripts/multi-agent-chain.ts +2 -2
  403. package/src/scripts/multi-agent-conditional.js.map +1 -0
  404. package/src/scripts/multi-agent-document-review-chain.js.map +1 -0
  405. package/src/scripts/multi-agent-document-review-chain.ts +2 -2
  406. package/src/scripts/multi-agent-hybrid-flow.js.map +1 -0
  407. package/src/scripts/multi-agent-hybrid-flow.ts +4 -4
  408. package/src/scripts/multi-agent-parallel-start.js.map +1 -0
  409. package/src/scripts/multi-agent-parallel.js.map +1 -0
  410. package/src/scripts/multi-agent-parallel.ts +3 -3
  411. package/src/scripts/multi-agent-sequence.js.map +1 -0
  412. package/src/scripts/multi-agent-sequence.ts +3 -3
  413. package/src/scripts/multi-agent-subagent.ts +246 -0
  414. package/src/scripts/multi-agent-supervisor.js.map +1 -0
  415. package/src/scripts/multi-agent-supervisor.ts +5 -5
  416. package/src/scripts/multi-agent-test.js.map +1 -0
  417. package/src/scripts/parallel-asymmetric-tools-test.js.map +1 -0
  418. package/src/scripts/parallel-full-metadata-test.js.map +1 -0
  419. package/src/scripts/parallel-tools-test.js.map +1 -0
  420. package/src/scripts/poc-multi-agent-comprehensive.ts +8 -8
  421. package/src/scripts/programmatic_exec.js.map +1 -0
  422. package/src/scripts/programmatic_exec_agent.js.map +1 -0
  423. package/src/scripts/search.js.map +1 -0
  424. package/src/scripts/sequential-full-metadata-test.js.map +1 -0
  425. package/src/scripts/sequential-full-metadata-test.ts +2 -2
  426. package/src/scripts/simple.js.map +1 -0
  427. package/src/scripts/single-agent-metadata-test.js.map +1 -0
  428. package/src/scripts/stream.js.map +1 -0
  429. package/src/scripts/subagent-event-driven-debug.ts +190 -0
  430. package/src/scripts/subagent-tools-debug.ts +160 -0
  431. package/src/scripts/test-custom-prompt-key.js.map +1 -0
  432. package/src/scripts/test-custom-prompt-key.ts +3 -3
  433. package/src/scripts/test-handoff-input.js.map +1 -0
  434. package/src/scripts/test-handoff-input.ts +1 -1
  435. package/src/scripts/test-handoff-preamble.js.map +1 -0
  436. package/src/scripts/test-handoff-steering.js.map +1 -0
  437. package/src/scripts/test-handoff-steering.ts +3 -3
  438. package/src/scripts/test-multi-agent-list-handoff.js.map +1 -0
  439. package/src/scripts/test-multi-agent-list-handoff.ts +1 -1
  440. package/src/scripts/test-parallel-agent-labeling.js.map +1 -0
  441. package/src/scripts/test-parallel-agent-labeling.ts +3 -3
  442. package/src/scripts/test-parallel-handoffs.js.map +1 -0
  443. package/src/scripts/test-parallel-handoffs.ts +2 -2
  444. package/src/scripts/test-thinking-handoff-bedrock.js.map +1 -0
  445. package/src/scripts/test-thinking-handoff-bedrock.ts +1 -1
  446. package/src/scripts/test-thinking-handoff.js.map +1 -0
  447. package/src/scripts/test-thinking-handoff.ts +1 -1
  448. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.js.map +1 -0
  449. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +1 -1
  450. package/src/scripts/test-tool-before-handoff-role-order.js.map +1 -0
  451. package/src/scripts/test-tool-before-handoff-role-order.ts +1 -1
  452. package/src/scripts/test-tools-before-handoff.js.map +1 -0
  453. package/src/scripts/test-tools-before-handoff.ts +1 -1
  454. package/src/scripts/test_code_api.js.map +1 -0
  455. package/src/scripts/thinking-bedrock.js.map +1 -0
  456. package/src/scripts/thinking-vertexai.js.map +1 -0
  457. package/src/scripts/thinking.js.map +1 -0
  458. package/src/scripts/tool_search.js.map +1 -0
  459. package/src/scripts/tools.js.map +1 -0
  460. package/src/specs/agent-handoffs-bedrock.integration.test.js.map +1 -0
  461. package/src/specs/agent-handoffs.test.js.map +1 -0
  462. package/src/specs/agent-handoffs.test.ts +26 -483
  463. package/src/specs/anthropic.simple.test.js.map +1 -0
  464. package/src/specs/anthropic.simple.test.ts +61 -0
  465. package/src/specs/azure.simple.test.js.map +1 -0
  466. package/src/specs/cache.simple.test.js.map +1 -0
  467. package/src/specs/custom-event-await.test.js.map +1 -0
  468. package/src/specs/deepseek.simple.test.js.map +1 -0
  469. package/src/specs/emergency-prune.test.js.map +1 -0
  470. package/src/specs/moonshot.simple.test.js.map +1 -0
  471. package/src/specs/multi-agent-summarization.test.ts +396 -0
  472. package/src/specs/observability.integration.test.js.map +1 -0
  473. package/src/specs/openai.simple.test.js.map +1 -0
  474. package/src/specs/openrouter.simple.test.js.map +1 -0
  475. package/src/specs/prune.orphans.test.ts +248 -0
  476. package/src/specs/prune.test.js.map +1 -0
  477. package/src/specs/prune.test.ts +104 -16
  478. package/src/specs/reasoning.test.js.map +1 -0
  479. package/src/specs/spec.utils.js.map +1 -0
  480. package/src/specs/thinking-handoff.test.js.map +1 -0
  481. package/src/specs/thinking-handoff.test.ts +19 -19
  482. package/src/specs/thinking-prune.test.js.map +1 -0
  483. package/src/specs/token-distribution-edge-case.test.js.map +1 -0
  484. package/src/specs/token-memoization.test.js.map +1 -0
  485. package/src/specs/tokens.test.js.map +1 -0
  486. package/src/specs/tool-error.test.js.map +1 -0
  487. package/src/splitStream.js.map +1 -0
  488. package/src/splitStream.test.js.map +1 -0
  489. package/src/stream.js.map +1 -0
  490. package/src/stream.test.js.map +1 -0
  491. package/src/test/mockTools.js.map +1 -0
  492. package/src/tools/BashExecutor.ts +281 -0
  493. package/src/tools/BashProgrammaticToolCalling.ts +397 -0
  494. package/src/tools/BrowserTools.js.map +1 -0
  495. package/src/tools/Calculator.js.map +1 -0
  496. package/src/tools/Calculator.test.js.map +1 -0
  497. package/src/tools/CodeExecutor.js.map +1 -0
  498. package/src/tools/CodeExecutor.ts +62 -54
  499. package/src/tools/ProgrammaticToolCalling.js.map +1 -0
  500. package/src/tools/ProgrammaticToolCalling.ts +29 -14
  501. package/src/tools/ReadFile.ts +39 -0
  502. package/src/tools/SkillTool.ts +46 -0
  503. package/src/tools/StreamingToolCallBuffer.js.map +1 -0
  504. package/src/tools/SubagentTool.ts +100 -0
  505. package/src/tools/ToolNode.js.map +1 -0
  506. package/src/tools/ToolNode.ts +548 -26
  507. package/src/tools/ToolSearch.js.map +1 -0
  508. package/src/tools/__tests__/BashExecutor.test.ts +49 -0
  509. package/src/tools/__tests__/BrowserTools.test.js.map +1 -0
  510. package/src/tools/__tests__/CodeExecutor.test.ts +37 -36
  511. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.js.map +1 -0
  512. package/src/tools/__tests__/ProgrammaticToolCalling.test.js.map +1 -0
  513. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +60 -0
  514. package/src/tools/__tests__/ReadFile.test.ts +44 -0
  515. package/src/tools/__tests__/SkillTool.test.ts +442 -0
  516. package/src/tools/__tests__/StreamingToolCallBuffer.test.js.map +1 -0
  517. package/src/tools/__tests__/SubagentExecutor.test.ts +1148 -0
  518. package/src/tools/__tests__/SubagentTool.test.ts +149 -0
  519. package/src/tools/__tests__/ToolApproval.test.js.map +1 -0
  520. package/src/tools/__tests__/ToolNode.outputReferences.test.ts +1438 -0
  521. package/src/tools/__tests__/ToolNode.recovery.test.js.map +1 -0
  522. package/src/tools/__tests__/ToolNode.session.test.js.map +1 -0
  523. package/src/tools/__tests__/ToolSearch.integration.test.js.map +1 -0
  524. package/src/tools/__tests__/ToolSearch.test.js.map +1 -0
  525. package/src/tools/__tests__/annotateMessagesForLLM.test.ts +479 -0
  526. package/src/tools/__tests__/handlers.test.js.map +1 -0
  527. package/src/tools/__tests__/skillCatalog.test.ts +161 -0
  528. package/src/tools/__tests__/subagentHooks.test.ts +210 -0
  529. package/src/tools/__tests__/toolOutputReferences.test.ts +415 -0
  530. package/src/tools/__tests__/truncation-recovery.integration.test.js.map +1 -0
  531. package/src/tools/handlers.js.map +1 -0
  532. package/src/tools/schema.js.map +1 -0
  533. package/src/tools/search/anthropic.js.map +1 -0
  534. package/src/tools/search/content.js.map +1 -0
  535. package/src/tools/search/content.test.js.map +1 -0
  536. package/src/tools/search/firecrawl.js.map +1 -0
  537. package/src/tools/search/format.js.map +1 -0
  538. package/src/tools/search/highlights.js.map +1 -0
  539. package/src/tools/search/index.js.map +1 -0
  540. package/src/tools/search/jina-reranker.test.js.map +1 -0
  541. package/src/tools/search/rerankers.js.map +1 -0
  542. package/src/tools/search/schema.js.map +1 -0
  543. package/src/tools/search/search.js.map +1 -0
  544. package/src/tools/search/search.ts +12 -2
  545. package/src/tools/search/serper-scraper.js.map +1 -0
  546. package/src/tools/search/tavily-scraper.ts +235 -0
  547. package/src/tools/search/tavily-search.ts +424 -0
  548. package/src/tools/search/tavily.test.ts +965 -0
  549. package/src/tools/search/test.js.map +1 -0
  550. package/src/tools/search/tool.js.map +1 -0
  551. package/src/tools/search/tool.ts +36 -2
  552. package/src/tools/search/types.js.map +1 -0
  553. package/src/tools/search/types.ts +133 -8
  554. package/src/tools/search/utils.js.map +1 -0
  555. package/src/tools/search/utils.ts +13 -5
  556. package/src/tools/skillCatalog.ts +126 -0
  557. package/src/tools/subagent/SubagentExecutor.ts +676 -0
  558. package/src/tools/subagent/index.ts +13 -0
  559. package/src/tools/subagent/types.test.ts +70 -0
  560. package/src/tools/subagent/types.ts +115 -0
  561. package/src/tools/toolOutputReferences.ts +825 -0
  562. package/src/types/agent-cache.ts +73 -0
  563. package/src/types/graph.js.map +1 -0
  564. package/src/types/graph.test.js.map +1 -0
  565. package/src/types/graph.ts +171 -20
  566. package/src/types/index.js.map +1 -0
  567. package/src/types/index.ts +3 -0
  568. package/src/types/llm.js.map +1 -0
  569. package/src/types/messages.js.map +1 -0
  570. package/src/types/messages.ts +27 -0
  571. package/src/types/run.js.map +1 -0
  572. package/src/types/run.ts +22 -0
  573. package/src/types/skill.ts +11 -0
  574. package/src/types/stream.js.map +1 -0
  575. package/src/types/tools.js.map +1 -0
  576. package/src/types/tools.ts +118 -0
  577. package/src/utils/__tests__/truncation.test.ts +66 -0
  578. package/src/utils/contextAnalytics.js.map +1 -0
  579. package/src/utils/contextAnalytics.test.js.map +1 -0
  580. package/src/utils/events.js.map +1 -0
  581. package/src/utils/graph.js.map +1 -0
  582. package/src/utils/handlers.js.map +1 -0
  583. package/src/utils/index.js.map +1 -0
  584. package/src/utils/index.ts +1 -3
  585. package/src/utils/llm.js.map +1 -0
  586. package/src/utils/llmConfig.js.map +1 -0
  587. package/src/utils/logging.js.map +1 -0
  588. package/src/utils/misc.js.map +1 -0
  589. package/src/utils/run.js.map +1 -0
  590. package/src/utils/schema.js.map +1 -0
  591. package/src/utils/title.js.map +1 -0
  592. package/src/utils/tokens.js.map +1 -0
  593. package/src/utils/toonFormat.js.map +1 -0
  594. package/src/utils/truncation.ts +154 -0
  595. package/dist/cjs/common/spawnPath.cjs +0 -104
  596. package/dist/cjs/common/spawnPath.cjs.map +0 -1
  597. package/dist/cjs/content/ArtifactStore.cjs +0 -579
  598. package/dist/cjs/content/ArtifactStore.cjs.map +0 -1
  599. package/dist/cjs/content/ContentStore.cjs +0 -638
  600. package/dist/cjs/content/ContentStore.cjs.map +0 -1
  601. package/dist/cjs/content/contentAnalyzer.cjs +0 -91
  602. package/dist/cjs/content/contentAnalyzer.cjs.map +0 -1
  603. package/dist/cjs/content/index.cjs +0 -20
  604. package/dist/cjs/content/index.cjs.map +0 -1
  605. package/dist/cjs/content/mcpAutoCache.cjs +0 -115
  606. package/dist/cjs/content/mcpAutoCache.cjs.map +0 -1
  607. package/dist/cjs/graphs/HandoffRegistry.cjs +0 -143
  608. package/dist/cjs/graphs/HandoffRegistry.cjs.map +0 -1
  609. package/dist/cjs/providers/a2a/A2ACapabilityProvider.cjs +0 -288
  610. package/dist/cjs/providers/a2a/A2ACapabilityProvider.cjs.map +0 -1
  611. package/dist/cjs/providers/a2a/client.cjs +0 -92
  612. package/dist/cjs/providers/a2a/client.cjs.map +0 -1
  613. package/dist/cjs/providers/a2a/config.cjs +0 -38
  614. package/dist/cjs/providers/a2a/config.cjs.map +0 -1
  615. package/dist/cjs/providers/capabilityNaming.cjs +0 -43
  616. package/dist/cjs/providers/capabilityNaming.cjs.map +0 -1
  617. package/dist/cjs/providers/mcp/MCPCapabilityProvider.cjs +0 -244
  618. package/dist/cjs/providers/mcp/MCPCapabilityProvider.cjs.map +0 -1
  619. package/dist/cjs/providers/mcp/config.cjs +0 -42
  620. package/dist/cjs/providers/mcp/config.cjs.map +0 -1
  621. package/dist/cjs/providers/mcp/transport.cjs +0 -65
  622. package/dist/cjs/providers/mcp/transport.cjs.map +0 -1
  623. package/dist/cjs/providers/tools-server/ToolsServerCapabilityProvider.cjs +0 -128
  624. package/dist/cjs/providers/tools-server/ToolsServerCapabilityProvider.cjs.map +0 -1
  625. package/dist/cjs/providers/types.cjs +0 -51
  626. package/dist/cjs/providers/types.cjs.map +0 -1
  627. package/dist/cjs/tools/artifacts/schema.cjs +0 -86
  628. package/dist/cjs/tools/artifacts/schema.cjs.map +0 -1
  629. package/dist/cjs/tools/artifacts/tool.cjs +0 -219
  630. package/dist/cjs/tools/artifacts/tool.cjs.map +0 -1
  631. package/dist/cjs/tools/fileSearch/formatter.cjs +0 -93
  632. package/dist/cjs/tools/fileSearch/formatter.cjs.map +0 -1
  633. package/dist/cjs/tools/fileSearch/ragClient.cjs +0 -102
  634. package/dist/cjs/tools/fileSearch/ragClient.cjs.map +0 -1
  635. package/dist/cjs/tools/fileSearch/schema.cjs +0 -18
  636. package/dist/cjs/tools/fileSearch/schema.cjs.map +0 -1
  637. package/dist/cjs/tools/fileSearch/tool.cjs +0 -155
  638. package/dist/cjs/tools/fileSearch/tool.cjs.map +0 -1
  639. package/dist/cjs/tools/proxyTool.cjs +0 -102
  640. package/dist/cjs/tools/proxyTool.cjs.map +0 -1
  641. package/dist/cjs/utils/childAgentContext.cjs +0 -242
  642. package/dist/cjs/utils/childAgentContext.cjs.map +0 -1
  643. package/dist/cjs/utils/credentials.cjs +0 -142
  644. package/dist/cjs/utils/credentials.cjs.map +0 -1
  645. package/dist/cjs/utils/httpClient.cjs +0 -74
  646. package/dist/cjs/utils/httpClient.cjs.map +0 -1
  647. package/dist/cjs/utils/toolManifest.cjs +0 -100
  648. package/dist/cjs/utils/toolManifest.cjs.map +0 -1
  649. package/dist/esm/common/spawnPath.mjs +0 -95
  650. package/dist/esm/common/spawnPath.mjs.map +0 -1
  651. package/dist/esm/content/ArtifactStore.mjs +0 -576
  652. package/dist/esm/content/ArtifactStore.mjs.map +0 -1
  653. package/dist/esm/content/ContentStore.mjs +0 -635
  654. package/dist/esm/content/ContentStore.mjs.map +0 -1
  655. package/dist/esm/content/contentAnalyzer.mjs +0 -87
  656. package/dist/esm/content/contentAnalyzer.mjs.map +0 -1
  657. package/dist/esm/content/index.mjs +0 -5
  658. package/dist/esm/content/mcpAutoCache.mjs +0 -111
  659. package/dist/esm/content/mcpAutoCache.mjs.map +0 -1
  660. package/dist/esm/graphs/HandoffRegistry.mjs +0 -141
  661. package/dist/esm/graphs/HandoffRegistry.mjs.map +0 -1
  662. package/dist/esm/providers/a2a/A2ACapabilityProvider.mjs +0 -281
  663. package/dist/esm/providers/a2a/A2ACapabilityProvider.mjs.map +0 -1
  664. package/dist/esm/providers/a2a/client.mjs +0 -88
  665. package/dist/esm/providers/a2a/client.mjs.map +0 -1
  666. package/dist/esm/providers/a2a/config.mjs +0 -35
  667. package/dist/esm/providers/a2a/config.mjs.map +0 -1
  668. package/dist/esm/providers/capabilityNaming.mjs +0 -39
  669. package/dist/esm/providers/capabilityNaming.mjs.map +0 -1
  670. package/dist/esm/providers/mcp/MCPCapabilityProvider.mjs +0 -240
  671. package/dist/esm/providers/mcp/MCPCapabilityProvider.mjs.map +0 -1
  672. package/dist/esm/providers/mcp/config.mjs +0 -39
  673. package/dist/esm/providers/mcp/config.mjs.map +0 -1
  674. package/dist/esm/providers/mcp/transport.mjs +0 -63
  675. package/dist/esm/providers/mcp/transport.mjs.map +0 -1
  676. package/dist/esm/providers/tools-server/ToolsServerCapabilityProvider.mjs +0 -126
  677. package/dist/esm/providers/tools-server/ToolsServerCapabilityProvider.mjs.map +0 -1
  678. package/dist/esm/providers/types.mjs +0 -51
  679. package/dist/esm/providers/types.mjs.map +0 -1
  680. package/dist/esm/tools/artifacts/schema.mjs +0 -79
  681. package/dist/esm/tools/artifacts/schema.mjs.map +0 -1
  682. package/dist/esm/tools/artifacts/tool.mjs +0 -213
  683. package/dist/esm/tools/artifacts/tool.mjs.map +0 -1
  684. package/dist/esm/tools/fileSearch/formatter.mjs +0 -90
  685. package/dist/esm/tools/fileSearch/formatter.mjs.map +0 -1
  686. package/dist/esm/tools/fileSearch/ragClient.mjs +0 -98
  687. package/dist/esm/tools/fileSearch/ragClient.mjs.map +0 -1
  688. package/dist/esm/tools/fileSearch/schema.mjs +0 -15
  689. package/dist/esm/tools/fileSearch/schema.mjs.map +0 -1
  690. package/dist/esm/tools/fileSearch/tool.mjs +0 -152
  691. package/dist/esm/tools/fileSearch/tool.mjs.map +0 -1
  692. package/dist/esm/tools/proxyTool.mjs +0 -100
  693. package/dist/esm/tools/proxyTool.mjs.map +0 -1
  694. package/dist/esm/utils/childAgentContext.mjs +0 -237
  695. package/dist/esm/utils/childAgentContext.mjs.map +0 -1
  696. package/dist/esm/utils/credentials.mjs +0 -135
  697. package/dist/esm/utils/credentials.mjs.map +0 -1
  698. package/dist/esm/utils/httpClient.mjs +0 -70
  699. package/dist/esm/utils/httpClient.mjs.map +0 -1
  700. package/dist/esm/utils/toolManifest.mjs +0 -96
  701. package/dist/esm/utils/toolManifest.mjs.map +0 -1
  702. package/dist/types/common/spawnPath.d.ts +0 -59
  703. package/dist/types/content/ArtifactStore.d.ts +0 -223
  704. package/dist/types/content/ContentStore.d.ts +0 -140
  705. package/dist/types/content/contentAnalyzer.d.ts +0 -38
  706. package/dist/types/content/index.d.ts +0 -24
  707. package/dist/types/content/mcpAutoCache.d.ts +0 -89
  708. package/dist/types/content/types.d.ts +0 -75
  709. package/dist/types/graphs/HandoffRegistry.d.ts +0 -97
  710. package/dist/types/providers/a2a/A2ACapabilityProvider.d.ts +0 -89
  711. package/dist/types/providers/a2a/client.d.ts +0 -47
  712. package/dist/types/providers/a2a/config.d.ts +0 -18
  713. package/dist/types/providers/a2a/index.d.ts +0 -6
  714. package/dist/types/providers/a2a/types.d.ts +0 -173
  715. package/dist/types/providers/capabilityNaming.d.ts +0 -25
  716. package/dist/types/providers/index.d.ts +0 -12
  717. package/dist/types/providers/mcp/MCPCapabilityProvider.d.ts +0 -54
  718. package/dist/types/providers/mcp/config.d.ts +0 -20
  719. package/dist/types/providers/mcp/index.d.ts +0 -5
  720. package/dist/types/providers/mcp/transport.d.ts +0 -18
  721. package/dist/types/providers/mcp/types.d.ts +0 -112
  722. package/dist/types/providers/tools-server/ToolsServerCapabilityProvider.d.ts +0 -59
  723. package/dist/types/providers/tools-server/index.d.ts +0 -1
  724. package/dist/types/providers/types.d.ts +0 -184
  725. package/dist/types/tools/artifacts/index.d.ts +0 -3
  726. package/dist/types/tools/artifacts/schema.d.ts +0 -63
  727. package/dist/types/tools/artifacts/tool.d.ts +0 -16
  728. package/dist/types/tools/artifacts/types.d.ts +0 -127
  729. package/dist/types/tools/fileSearch/formatter.d.ts +0 -25
  730. package/dist/types/tools/fileSearch/index.d.ts +0 -5
  731. package/dist/types/tools/fileSearch/ragClient.d.ts +0 -32
  732. package/dist/types/tools/fileSearch/schema.d.ts +0 -13
  733. package/dist/types/tools/fileSearch/tool.d.ts +0 -18
  734. package/dist/types/tools/fileSearch/types.d.ts +0 -139
  735. package/dist/types/tools/proxyTool.d.ts +0 -62
  736. package/dist/types/utils/childAgentContext.d.ts +0 -99
  737. package/dist/types/utils/credentials.d.ts +0 -77
  738. package/dist/types/utils/httpClient.d.ts +0 -46
  739. package/dist/types/utils/toolManifest.d.ts +0 -49
  740. package/src/common/__tests__/spawnPath.test.ts +0 -110
  741. package/src/common/spawnPath.ts +0 -101
  742. package/src/content/ArtifactStore.ts +0 -782
  743. package/src/content/ContentStore.ts +0 -753
  744. package/src/content/contentAnalyzer.ts +0 -105
  745. package/src/content/index.ts +0 -51
  746. package/src/content/mcpAutoCache.ts +0 -185
  747. package/src/content/types.ts +0 -82
  748. package/src/graphs/HandoffRegistry.ts +0 -199
  749. package/src/graphs/__tests__/HandoffRegistry.test.ts +0 -410
  750. package/src/graphs/__tests__/multi-agent-delegate.test.ts +0 -458
  751. package/src/graphs/__tests__/multi-agent-edges.test.ts +0 -276
  752. package/src/graphs/__tests__/multi-agent-nested-subgraph.test.ts +0 -221
  753. package/src/graphs/handoffValidation.test.ts +0 -353
  754. package/src/providers/__tests__/ToolsServerCapabilityProvider.integration.spec.ts +0 -79
  755. package/src/providers/__tests__/ToolsServerCapabilityProvider.test.ts +0 -271
  756. package/src/providers/__tests__/types.test.ts +0 -64
  757. package/src/providers/a2a/A2ACapabilityProvider.ts +0 -384
  758. package/src/providers/a2a/__tests__/A2ACapabilityProvider.integration.spec.ts +0 -345
  759. package/src/providers/a2a/__tests__/A2ACapabilityProvider.test.ts +0 -460
  760. package/src/providers/a2a/client.ts +0 -115
  761. package/src/providers/a2a/config.ts +0 -40
  762. package/src/providers/a2a/index.ts +0 -29
  763. package/src/providers/a2a/types.ts +0 -191
  764. package/src/providers/capabilityNaming.ts +0 -42
  765. package/src/providers/index.ts +0 -68
  766. package/src/providers/mcp/MCPCapabilityProvider.ts +0 -345
  767. package/src/providers/mcp/__tests__/MCPCapabilityProvider.integration.spec.ts +0 -386
  768. package/src/providers/mcp/__tests__/MCPCapabilityProvider.test.ts +0 -371
  769. package/src/providers/mcp/config.ts +0 -45
  770. package/src/providers/mcp/index.ts +0 -21
  771. package/src/providers/mcp/transport.ts +0 -76
  772. package/src/providers/mcp/types.ts +0 -139
  773. package/src/providers/tools-server/ToolsServerCapabilityProvider.ts +0 -249
  774. package/src/providers/tools-server/index.ts +0 -1
  775. package/src/providers/types.ts +0 -204
  776. package/src/scripts/test-bedrock-handoff-autonomous.ts +0 -267
  777. package/src/scripts/test-handoff-preamble.ts +0 -278
  778. package/src/specs/agent-handoffs-bedrock.integration.test.ts +0 -415
  779. package/src/tools/artifacts/__tests__/tool.test.ts +0 -259
  780. package/src/tools/artifacts/index.ts +0 -33
  781. package/src/tools/artifacts/schema.ts +0 -99
  782. package/src/tools/artifacts/tool.ts +0 -289
  783. package/src/tools/artifacts/types.ts +0 -162
  784. package/src/tools/fileSearch/__tests__/tool.test.ts +0 -261
  785. package/src/tools/fileSearch/formatter.ts +0 -129
  786. package/src/tools/fileSearch/index.ts +0 -23
  787. package/src/tools/fileSearch/ragClient.ts +0 -137
  788. package/src/tools/fileSearch/schema.ts +0 -19
  789. package/src/tools/fileSearch/tool.ts +0 -207
  790. package/src/tools/fileSearch/types.ts +0 -149
  791. package/src/tools/proxyTool.ts +0 -166
  792. package/src/utils/__tests__/childAgentContext.test.ts +0 -217
  793. package/src/utils/__tests__/credentials.test.ts +0 -130
  794. package/src/utils/__tests__/httpClient.test.ts +0 -75
  795. package/src/utils/__tests__/toolManifest.test.ts +0 -116
  796. package/src/utils/childAgentContext.ts +0 -259
  797. package/src/utils/credentials.ts +0 -157
  798. package/src/utils/httpClient.ts +0 -92
  799. package/src/utils/toolManifest.ts +0 -109
  800. /package/dist/esm/{content → langchain}/index.mjs.map +0 -0
@@ -1,140 +0,0 @@
1
- import type Keyv from 'keyv';
2
- import type { StoreEntry, StoredEntry, ContentMetadata, ReadResult, ReadAllResult, SearchMatch, EditResult } from './types';
3
- /**
4
- * Default 3-minute TTL for ephemeral content entries. Resets on every
5
- * access. Kept short to reduce cache-backing memory pressure — callers
6
- * that persist to durable storage (see {@link ArtifactStore}) rely on
7
- * lazy restore from the durable backend on cache miss.
8
- *
9
- * Exported so consumers can construct their injected {@link Keyv}
10
- * instance with a matching TTL without hard-coding the number.
11
- */
12
- export declare const CONTENT_TTL_MS = 180000;
13
- /**
14
- * Per-conversation content store backed by a caller-provided {@link Keyv}
15
- * cache (typically Keyv + @keyv/redis, with in-memory fallback).
16
- *
17
- * Stores large content (MCP results, artifacts, agent-generated text)
18
- * outside the LLM context window. Entries inherit the TTL configured on
19
- * the injected {@link Keyv} instance — {@link CONTENT_TTL_MS} is the
20
- * recommended default.
21
- *
22
- * The caller is responsible for namespacing the Keyv instance per
23
- * conversation so content_ids don't collide across threads.
24
- *
25
- * @example
26
- * ```ts
27
- * import Keyv from 'keyv';
28
- * const cache = new Keyv({ namespace: `content-store::${conversationId}`, ttl: CONTENT_TTL_MS });
29
- * const store = new ContentStore(cache);
30
- * const id = await store.store({ name: 'report.csv', type: 'text/plain', content: csv, source: 'mcp:sharepoint' });
31
- * const result = await store.readLines(id, 1, 50);
32
- * ```
33
- */
34
- export declare class ContentStore {
35
- protected cache: Keyv;
36
- protected indexKey: string;
37
- /**
38
- * @param cache - A pre-namespaced {@link Keyv} instance. The store
39
- * writes both content entries and a per-store `_index` key, so
40
- * callers MUST namespace the Keyv per conversation to avoid
41
- * cross-thread collisions.
42
- */
43
- constructor(cache: Keyv);
44
- /**
45
- * Store new content and return a content ID.
46
- * @param entry - The content to store with metadata.
47
- * @returns The generated content ID.
48
- */
49
- store(entry: StoreEntry): Promise<string>;
50
- /**
51
- * Get metadata for a content entry without loading the full content.
52
- * @param contentId - The content entry ID.
53
- * @returns Metadata or null if not found.
54
- */
55
- info(contentId: string): Promise<ContentMetadata | null>;
56
- /**
57
- * Read lines from a content entry with optional range.
58
- * Lines are 1-based and inclusive. Returns formatted content with line numbers.
59
- *
60
- * @param contentId - The content entry ID.
61
- * @param startLine - First line to read (1-based, default 1).
62
- * @param endLine - Last line to read (inclusive, default startLine + DEFAULT_READ_LINES - 1).
63
- * @returns Read result with formatted content and range info, or null if not found.
64
- */
65
- readLines(contentId: string, startLine?: number, endLine?: number): Promise<ReadResult | null>;
66
- /**
67
- * Read the full content of an entry without line-number formatting or line caps.
68
- * Used by API endpoints that serve complete content to the frontend (e.g., CodeViz).
69
- * Unlike readLines(), this has no MAX_READ_LINES cap and returns raw content.
70
- *
71
- * @param contentId - The content entry ID.
72
- * @returns Raw content with total line/char counts, or null if not found.
73
- */
74
- readAll(contentId: string): Promise<ReadAllResult | null>;
75
- /**
76
- * Search for a pattern within a content entry.
77
- * Supports plain text matching and regex patterns.
78
- *
79
- * @param contentId - The content entry ID.
80
- * @param pattern - Text or regex pattern to match.
81
- * @param maxResults - Maximum matches to return (default MAX_SEARCH_RESULTS).
82
- * @returns Array of matches with line numbers, or null if content not found.
83
- */
84
- search(contentId: string, pattern: string, maxResults?: number): Promise<SearchMatch[] | null>;
85
- /**
86
- * Surgical string replacement within a content entry.
87
- * Fails if old_str is not found or appears more than once (ambiguous).
88
- *
89
- * Uses layered matching: exact → line-number-stripped → CRLF-normalized → trailing-whitespace-trimmed.
90
- * On failure, returns diagnostic context showing nearby content to help the agent self-correct.
91
- *
92
- * @param contentId - The content entry ID.
93
- * @param oldStr - Exact string to find.
94
- * @param newStr - Replacement string.
95
- * @returns Edit result with diff and affected line info.
96
- */
97
- strReplace(contentId: string, oldStr: string, newStr: string): Promise<EditResult>;
98
- /**
99
- * Overwrite content for an existing entry, preserving its name/source/type.
100
- * @param contentId - The content entry ID.
101
- * @param content - New content to write.
102
- * @throws If content ID is not found.
103
- */
104
- write(contentId: string, content: string): Promise<void>;
105
- /**
106
- * List all content entries in this conversation's store.
107
- * @returns Array of metadata for all entries.
108
- */
109
- list(): Promise<ContentMetadata[]>;
110
- /**
111
- * Get the raw content string for a content entry, without line-number formatting.
112
- * Resets TTL on access. Used by code edit wrapper to retrieve stored code for execution.
113
- *
114
- * @param contentId - The content entry ID.
115
- * @returns Raw content string, or null if not found/expired.
116
- */
117
- getRawContent(contentId: string): Promise<string | null>;
118
- /**
119
- * Delete a content entry.
120
- * @param contentId - The content entry ID.
121
- */
122
- delete(contentId: string): Promise<void>;
123
- /**
124
- * Reset TTL on both a content entry and the index.
125
- * Called on every access to keep active content alive.
126
- * @param contentId - The content entry ID.
127
- * @param stored - The stored entry to re-set (resets TTL via Keyv).
128
- */
129
- protected touchEntry(contentId: string, stored: StoredEntry): Promise<void>;
130
- /**
131
- * Retrieve the full stored entry (content + metadata) from Redis.
132
- * Returns null if the entry has expired or doesn't exist.
133
- */
134
- protected getStored(contentId: string): Promise<StoredEntry | null>;
135
- /**
136
- * Retrieve the conversation's content index from Redis.
137
- * The index maps content IDs to their metadata.
138
- */
139
- protected getIndex(): Promise<Record<string, ContentMetadata>>;
140
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * Utilities for measuring, classifying, and previewing content.
3
- * Used by the content_tool and MCP auto-caching (Phase 2) to decide
4
- * when content is "large" and how to summarize it for the LLM.
5
- */
6
- /** Content size measurements. */
7
- export interface ContentMeasurement {
8
- totalChars: number;
9
- totalLines: number;
10
- /** True if content exceeds the large-content threshold. */
11
- isLarge: boolean;
12
- }
13
- /** Detected content type. */
14
- export type ContentType = 'json_array' | 'json_object' | 'text' | 'mixed';
15
- /**
16
- * Measure content size and determine if it exceeds the large-content threshold.
17
- * @param text - The content to measure.
18
- * @returns Measurement with char count, line count, and large flag.
19
- */
20
- export declare function measureContent(text: string): ContentMeasurement;
21
- /**
22
- * Detect the structural type of content.
23
- * @param text - The content to classify.
24
- * @returns The detected type: 'json_array', 'json_object', 'text', or 'mixed'.
25
- */
26
- export declare function detectContentType(text: string): ContentType;
27
- /**
28
- * Generate a preview/summary of content for the LLM context.
29
- * For JSON arrays, shows the first N items. For text, truncates with an ellipsis.
30
- *
31
- * @param text - The full content to preview.
32
- * @param opts - Options controlling preview size.
33
- * @returns A truncated preview string.
34
- */
35
- export declare function generatePreview(text: string, opts?: {
36
- maxItems?: number;
37
- maxChars?: number;
38
- }): string;
@@ -1,24 +0,0 @@
1
- /**
2
- * @illuma-ai/agents/content — per-conversation content + artifact stores.
3
- *
4
- * Host-agnostic primitives for keeping large tool / agent output out of
5
- * the LLM context window:
6
- *
7
- * - {@link ContentStore} — ephemeral per-conversation cache (backed by
8
- * any caller-provided {@link Keyv} instance; recommended with
9
- * @keyv/redis for multi-instance deployments).
10
- * - {@link ArtifactStore} — extends {@link ContentStore} with
11
- * durable persistence via caller-provided {@link S3Strategy} and
12
- * {@link FileModel} adapters.
13
- * - {@link interceptMcpResult} — MCP tool-result auto-caching with
14
- * gate semantics (no-op when the agent can't dereference
15
- * `content_id`s).
16
- * - {@link measureContent} / {@link detectContentType} /
17
- * {@link generatePreview} — content classifiers shared by
18
- * consumers that need to decide when to store vs inline.
19
- */
20
- export { ContentStore, CONTENT_TTL_MS } from './ContentStore';
21
- export { ArtifactStore, sanitizeName, type S3Strategy, type FileModel, type Logger, } from './ArtifactStore';
22
- export { measureContent, detectContentType, generatePreview, type ContentMeasurement, type ContentType, } from './contentAnalyzer';
23
- export type { StoreEntry, StoredEntry, ContentMetadata, ReadResult, ReadAllResult, SearchMatch, EditResult, } from './types';
24
- export { interceptMcpResult, extractUiMarkers, buildCachedResponse, type AutoCacheContext, type AutoCacheResult, } from './mcpAutoCache';
@@ -1,89 +0,0 @@
1
- /**
2
- * MCP Auto-Caching Interceptor
3
- *
4
- * When an MCP tool returns a large text result (>50K chars / ~12.5K tokens),
5
- * stores it in the caller-provided {@link ContentStore} and returns a
6
- * compact metadata reference. The LLM then uses a `content_reader` tool
7
- * (read/search/list/info) to pull relevant pieces of the stored result
8
- * without burning tokens on the full payload.
9
- *
10
- * Gate: callers MUST pass `contentReaderEnabled: true` on the context —
11
- * otherwise the interceptor returns the original text unchanged, because
12
- * caching without a reader tool leaves the agent with a content_id it
13
- * cannot dereference.
14
- *
15
- * Design:
16
- * - Only text content is cached. Images and UI resources pass through.
17
- * - UI resource markers (\ui{...}) are preserved in the returned text.
18
- * - Artifacts (second element of the tuple) are never modified.
19
- * - Cached response is a compact one-liner (~30 tokens) — no preview blob.
20
- * - If the store write fails, degrades gracefully — returns original text.
21
- */
22
- import { ContentStore } from './ContentStore';
23
- import type { Logger } from './ArtifactStore';
24
- import type { ContentMeasurement } from './contentAnalyzer';
25
- /** Context for the auto-cache interceptor. */
26
- export interface AutoCacheContext {
27
- /**
28
- * Pre-constructed {@link ContentStore} instance scoped to the current
29
- * conversation. Caller owns the underlying cache lifecycle.
30
- */
31
- store: ContentStore;
32
- /** MCP server name (e.g. "sharepoint", "github"). */
33
- serverName: string;
34
- /** MCP tool name (e.g. "read_file", "search_code"). */
35
- toolName: string;
36
- /**
37
- * Whether the current agent has `content_reader` available. When false,
38
- * the interceptor passes the large text through unchanged — caching
39
- * without a reader tool leaves the agent with a content_id it cannot
40
- * dereference, which is worse than returning the raw text.
41
- */
42
- contentReaderEnabled: boolean;
43
- /**
44
- * Optional diagnostic echo. Typically the conversation ID so operators
45
- * can correlate the log line with upstream traces.
46
- */
47
- conversationId?: string;
48
- /** Optional logger; defaults to silence. */
49
- logger?: Logger;
50
- }
51
- /** Result of the auto-cache interception. */
52
- export interface AutoCacheResult {
53
- /** The (possibly modified) text content to return to the LLM. */
54
- text: string;
55
- /** Whether the content was cached. */
56
- cached: boolean;
57
- /** The content_id if cached. */
58
- contentId?: string;
59
- /** Content measurement data. */
60
- measurement?: ContentMeasurement;
61
- }
62
- /**
63
- * Extract all UI resource markers from text.
64
- * @param text - The text to scan.
65
- * @returns Array of marker strings (e.g. ['\\ui{abc123}', '\\ui{def456}'])
66
- */
67
- export declare function extractUiMarkers(text: string): string[];
68
- /**
69
- * Build a compact metadata reference for the cached content.
70
- * Keeps token usage minimal (~30 tokens) while giving the LLM all it needs
71
- * to access the data via content_tool.
72
- *
73
- * @param contentId - ContentStore entry ID.
74
- * @param measurement - Size data.
75
- * @param toolName - The MCP tool that produced the result.
76
- * @param uiMarkers - UI markers extracted from the original text.
77
- */
78
- export declare function buildCachedResponse(contentId: string, measurement: ContentMeasurement, toolName: string, uiMarkers: string[]): string;
79
- /**
80
- * Core auto-cache interceptor for MCP tool results.
81
- *
82
- * If the text exceeds the large-content threshold (50K chars), stores it
83
- * in ContentStore and returns a preview + content_id. Otherwise passes through.
84
- *
85
- * @param text - The text content from the MCP tool result.
86
- * @param context - MCP tool and conversation context.
87
- * @returns AutoCacheResult with possibly-modified text and caching metadata.
88
- */
89
- export declare function interceptMcpResult(text: string, context: AutoCacheContext): Promise<AutoCacheResult>;
@@ -1,75 +0,0 @@
1
- /**
2
- * Types for the per-conversation content store.
3
- * Content entries are ephemeral (Redis-backed, 5 min TTL) and used to keep
4
- * large tool results out of the LLM context window.
5
- */
6
- /** Input when storing new content. */
7
- export interface StoreEntry {
8
- /** Human-readable name (e.g. "Q1 Sales Report.xlsx") */
9
- name: string;
10
- /** MIME-like type: "text/plain", "application/json", "mcp_response", "artifact" */
11
- type: string;
12
- /** The raw content string */
13
- content: string;
14
- /** Origin identifier: "mcp:sharepoint", "artifact:msg123", "agent", etc. */
15
- source: string;
16
- /** Arbitrary extra data attached to the entry */
17
- metadata?: Record<string, unknown>;
18
- }
19
- /** Metadata returned by info() and list() — content is NOT included. */
20
- export interface ContentMetadata {
21
- id: string;
22
- name: string;
23
- type: string;
24
- source: string;
25
- totalLines: number;
26
- totalChars: number;
27
- createdAt: number;
28
- /** MongoDB File.file_id after persistence to S3 (set by ArtifactStore) */
29
- fileId?: string;
30
- /** Owner user ID (set by ArtifactStore for S3 path construction) */
31
- userId?: string;
32
- /** Conversation scope (set by ArtifactStore for S3 path construction) */
33
- conversationId?: string;
34
- /** True when the file exists in MongoDB but hasn't been ingested into ContentStore yet */
35
- needsIngestion?: boolean;
36
- }
37
- /** Result of a readLines() call. */
38
- export interface ReadResult {
39
- /** Formatted content with line numbers */
40
- content: string;
41
- startLine: number;
42
- endLine: number;
43
- totalLines: number;
44
- totalChars: number;
45
- /** True if there are more lines beyond endLine */
46
- truncated: boolean;
47
- }
48
- /** Result of a readAll() call — raw content without line-number formatting. */
49
- export interface ReadAllResult {
50
- /** Raw content string (no line-number prefixes) */
51
- content: string;
52
- totalLines: number;
53
- totalChars: number;
54
- }
55
- /** A single search match within content. */
56
- export interface SearchMatch {
57
- lineNumber: number;
58
- content: string;
59
- }
60
- /** Result of a strReplace() edit. */
61
- export interface EditResult {
62
- success: boolean;
63
- /** Human-readable diff snippet */
64
- diff: string;
65
- /** Line number where the replacement occurred */
66
- lineNumber: number;
67
- /** Number of lines affected by the edit */
68
- linesAffected: number;
69
- error?: string;
70
- }
71
- /** Internal shape stored in Redis for each content entry. */
72
- export interface StoredEntry {
73
- content: string;
74
- metadata: ContentMetadata;
75
- }
@@ -1,97 +0,0 @@
1
- import type { BaseMessage } from '@langchain/core/messages';
2
- import type * as t from '@/types';
3
- /**
4
- * Tracks the lifecycle of a spawned handoff child agent.
5
- */
6
- export type HandoffRecord = {
7
- /** Agent identity (destination agentId) — stable across multiple spawns of the same agent */
8
- id: string;
9
- /** Unique internal key for this specific spawn (agentId + monotonic counter) */
10
- spawnKey: string;
11
- /** Display name of the child agent */
12
- name: string;
13
- /** Task description / instructions passed to child */
14
- task: string;
15
- /** When the handoff was spawned */
16
- spawnedAt: number;
17
- /** Current status */
18
- status: 'pending' | 'running' | 'completed' | 'failed';
19
- /** The background promise executing the child subgraph */
20
- promise: Promise<t.BaseGraphState>;
21
- /** Resolved result text (populated on completion) */
22
- resultText?: string;
23
- /** Error message (populated on failure) */
24
- error?: string;
25
- /** Duration in ms (populated on completion/failure) */
26
- durationMs?: number;
27
- /** Number of messages in child's output */
28
- resultMessageCount?: number;
29
- };
30
- /**
31
- * Registry for async handoff execution.
32
- *
33
- * Enables the autonomous orchestration pattern:
34
- * 1. Orchestrator spawns children (non-blocking)
35
- * 2. Orchestrator stays alive to reason, spawn more, or check status
36
- * 3. Orchestrator collects results when ready
37
- *
38
- * Scoped per MultiAgentGraph instance — each orchestrator graph gets its own registry.
39
- */
40
- export declare class HandoffRegistry {
41
- private records;
42
- /** Monotonically increasing counter for unique spawn IDs */
43
- private spawnCounter;
44
- /**
45
- * Register a spawned handoff child.
46
- * The promise runs in the background — not awaited here.
47
- * Uses a unique key per spawn so the same agent can be spawned multiple times
48
- * across rounds without overwriting prior records.
49
- */
50
- spawn(params: {
51
- id: string;
52
- name: string;
53
- task: string;
54
- promise: Promise<t.BaseGraphState>;
55
- extractResult: (messages: BaseMessage[], agentId: string) => string;
56
- truncateResult: (text: string, maxChars: number) => string;
57
- maxResultChars: number;
58
- /** Callback when child completes (for SSE events) */
59
- onComplete?: (record: HandoffRecord) => void;
60
- }): void;
61
- /** List all pending (running) handoffs */
62
- listPending(): HandoffRecord[];
63
- /** List all completed handoffs (not yet collected) */
64
- listCompleted(): HandoffRecord[];
65
- /** List all handoffs regardless of status */
66
- listAll(): HandoffRecord[];
67
- /**
68
- * Get a handoff record by either its unique spawnKey or by agentId.
69
- * - Exact spawnKey match wins (O(1)).
70
- * - Falls back to the most recently spawned record for that agentId — matching
71
- * lookups by callers that only know the agent identity, not the spawn round.
72
- */
73
- get(idOrSpawnKey: string): HandoffRecord | undefined;
74
- /** Check if any handoffs are still running */
75
- hasPending(): boolean;
76
- /**
77
- * Wait for ALL pending handoffs to complete and return all records.
78
- * Records are NOT auto-cleared — caller removes collected records via remove().
79
- */
80
- waitForAll(): Promise<HandoffRecord[]>;
81
- /**
82
- * Wait for ANY pending handoff to complete.
83
- * Returns the newly completed record(s).
84
- */
85
- waitForAny(): Promise<HandoffRecord[]>;
86
- /**
87
- * Remove record(s) by spawnKey or agentId.
88
- * - Exact spawnKey match removes only that record.
89
- * - agentId match removes ALL records for that agent (covers callers that
90
- * want to forget everything tied to a given agent).
91
- */
92
- remove(idOrSpawnKey: string): void;
93
- /** Clear all records (for cleanup between graph invocations) */
94
- clear(): void;
95
- /** Number of total tracked handoffs */
96
- get size(): number;
97
- }
@@ -1,89 +0,0 @@
1
- /**
2
- * A2ACapabilityProvider — client-side adapter for consuming A2A-served
3
- * remote agents as capabilities.
4
- *
5
- * Same pattern as `MCPCapabilityProvider`: take a unified spec map,
6
- * speak the protocol (A2A JSON-RPC over HTTP), expose each skill as a
7
- * `Capability` / `StructuredTool`.
8
- *
9
- * Design:
10
- * - One `A2AClient` per remote spec, cached after first use.
11
- * - `fetchManifest()`:
12
- * for each remote, GET /.well-known/agent.json → emit one
13
- * Capability per advertised skill (or one per remote when
14
- * `flattenAsSingleTool` is set).
15
- * - `createRunnables()`:
16
- * each Capability becomes a StructuredTool whose invoke sends a
17
- * JSON-RPC `tasks/send` to the remote and returns the final
18
- * artifact's text.
19
- *
20
- * What the host supplies:
21
- * - `remotes`: unified spec map (normalized from whatever source).
22
- * - `getAuthHeaders?`: per-remote header resolver. Called at connect
23
- * time. OAuth / token refresh stays in the host.
24
- */
25
- import { type StructuredToolInterface } from '@langchain/core/tools';
26
- import { type Capability, type CapabilityFilter, type CapabilityProvider, type CredentialMap } from '@/providers/types';
27
- import { CAPABILITY_NAME_SEPARATOR, formatCapabilityName } from '@/providers/capabilityNaming';
28
- import type { A2AProviderConfig, A2ASkill } from './types';
29
- export declare class A2ACapabilityProvider implements CapabilityProvider {
30
- readonly providerId: string;
31
- private readonly config;
32
- private readonly logger;
33
- private readonly connections;
34
- constructor(config: A2AProviderConfig);
35
- fetchManifest(filter?: CapabilityFilter): Promise<Capability[]>;
36
- createRunnables(capabilities: Capability[], _credentials: CredentialMap): Promise<StructuredToolInterface[]>;
37
- /** Disconnect any cached clients. A2A is stateless over HTTP so this
38
- * is effectively a cache clear — no sockets to close. */
39
- close(): Promise<void>;
40
- private ensureConnection;
41
- private resolveAuthHeaders;
42
- private cardToCapabilities;
43
- private capabilityMatchesFilter;
44
- private buildProxyTool;
45
- }
46
- export { CAPABILITY_NAME_SEPARATOR, formatCapabilityName };
47
- /**
48
- * Parse a capability name produced by this provider, returning A2A-specific
49
- * field names (`remoteName` / `skillId`). Thin adapter over the shared
50
- * `parseCapabilityName` — kept local so callers see the A2A vocabulary.
51
- */
52
- export declare function parseCapabilityName(name: string): {
53
- remoteName: string;
54
- skillId?: string;
55
- } | null;
56
- /** Derive a Capability from a skill entry on the agent card. */
57
- export declare function skillToCapability(remoteName: string, skill: A2ASkill): Capability;
58
- /**
59
- * Default input schema for A2A capabilities. Every invocation is a text
60
- * message — we don't try to infer a per-skill input shape because the
61
- * A2A spec's skill entries don't include a parameter schema.
62
- */
63
- export declare const MESSAGE_INPUT_SCHEMA: {
64
- readonly type: "object";
65
- readonly properties: {
66
- readonly message: {
67
- readonly type: "string";
68
- readonly description: "Instruction or question to send to the remote agent as a user message.";
69
- };
70
- };
71
- readonly required: readonly ["message"];
72
- };
73
- /**
74
- * Coerce arbitrary LLM-supplied input into a valid A2A message. If the
75
- * input is a string, wraps it directly. If it's `{ message: "..." }`,
76
- * uses `message`. Otherwise JSON-stringifies so the agent receives
77
- * something it can try to interpret.
78
- *
79
- * When a skill id is known, it's prepended to the message text so the
80
- * remote agent can route — some A2A implementations use this, others
81
- * ignore it, it's best-effort.
82
- */
83
- export declare function coerceInputToA2AMessage(input: unknown, skillId?: string): {
84
- role: 'user';
85
- parts: Array<{
86
- type: 'text';
87
- text: string;
88
- }>;
89
- };
@@ -1,47 +0,0 @@
1
- /**
2
- * A2A HTTP client — thin wrappers for the two operations the provider
3
- * needs: fetching the agent card and sending JSON-RPC task requests.
4
- *
5
- * Uses axios (already in deps) via the shared httpClient utility so
6
- * proxy config + headers work consistently with the tools-server provider.
7
- */
8
- import type { A2AAgentCard, A2ATask, A2ATaskParams } from './types';
9
- /** Options for constructing a single-remote A2A client. */
10
- export interface A2AClientOptions {
11
- baseUrl: string;
12
- headers?: Record<string, string>;
13
- timeoutMs?: number;
14
- cardPath?: string;
15
- rpcPath?: string;
16
- }
17
- /**
18
- * Lightweight single-remote A2A client. One instance per remote; the
19
- * provider builds one per spec entry and caches them.
20
- */
21
- export declare class A2AClient {
22
- private readonly http;
23
- private readonly cardPath;
24
- private readonly rpcPath;
25
- constructor(opts: A2AClientOptions);
26
- /** GET /.well-known/agent.json (or the configured override). */
27
- fetchAgentCard(): Promise<A2AAgentCard>;
28
- /**
29
- * POST a JSON-RPC `tasks/send` request and return the resulting Task.
30
- * The caller supplies the params (id, sessionId, message); this helper
31
- * wraps it in the JSON-RPC envelope, dispatches, and unwraps.
32
- */
33
- sendTask(params: A2ATaskParams): Promise<A2ATask>;
34
- /** Low-level JSON-RPC dispatcher — exposed for tests / advanced callers. */
35
- rpc<P, R>(method: string, params: P): Promise<R>;
36
- }
37
- /**
38
- * Generate a short opaque id for JSON-RPC requests. Not cryptographic —
39
- * just unique enough to pair request/response in logs.
40
- */
41
- export declare function generateRpcId(): string;
42
- /**
43
- * Extract the plain-text output from a completed Task's artifacts. If
44
- * the task isn't `completed`, throws. If there are no text parts, returns
45
- * an empty string rather than null so callers always get a string.
46
- */
47
- export declare function extractTaskText(task: A2ATask): string;
@@ -1,18 +0,0 @@
1
- /**
2
- * Environment-driven defaults + default logger for the A2A provider.
3
- *
4
- * Mirrors the MCP provider's config.ts so the two providers have the same
5
- * override story for hosts.
6
- */
7
- import type { A2ALogger } from './types';
8
- /**
9
- * Read env values with fallbacks. Evaluated lazily so tests that mutate
10
- * process.env get the current value.
11
- */
12
- export declare function getA2AEnvDefaults(): {
13
- clientName: string;
14
- clientVersion: string;
15
- timeoutMs: number;
16
- };
17
- /** Console-routed default logger. */
18
- export declare const consoleLogger: A2ALogger;
@@ -1,6 +0,0 @@
1
- export { A2ACapabilityProvider } from './A2ACapabilityProvider';
2
- export { CAPABILITY_NAME_SEPARATOR, formatCapabilityName, parseCapabilityName, skillToCapability, coerceInputToA2AMessage, MESSAGE_INPUT_SCHEMA, } from './A2ACapabilityProvider';
3
- export { A2AClient, extractTaskText, generateRpcId } from './client';
4
- export type { A2AClientOptions } from './client';
5
- export { consoleLogger as a2aConsoleLogger, getA2AEnvDefaults } from './config';
6
- export type { A2AAgentCard, A2ACardCapabilities, A2ALogger, A2AMessage, A2AProviderConfig, A2ARemoteSpec, A2ASkill, A2ATask, A2ATaskParams, A2ATaskState, A2ATaskStatus, JsonRpcRequest, JsonRpcResponse, JsonRpcSuccess, JsonRpcErrorResponse, } from './types';