@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,3 +0,0 @@
1
- export { createArtifactTool, createContentReaderTool, ARTIFACT_TOOL_NAME, CONTENT_READER_NAME, ARTIFACT_WRITE_ACTIONS, CONTENT_READ_ACTIONS, } from './tool';
2
- export { artifactToolSchema, contentReaderSchema, type ArtifactToolInput, type ContentReaderInput, } from './schema';
3
- export type { ArtifactToolScope, ArtifactToolResult, ArtifactToolLogger, ArtifactToolBaseConfig, ArtifactToolConfig, ContentReaderToolConfig, ArtifactWriteHandlers, ContentReadHandlers, ContentIdResolver, WriteArgs, EditArgs, VerifyArgs, DeleteArgs, ReadArgs, SearchArgs, ListArgs, InfoArgs, } from './types';
@@ -1,63 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const ARTIFACT_WRITE_ACTIONS: readonly ["write", "edit", "verify", "delete"];
3
- export declare const CONTENT_READ_ACTIONS: readonly ["read", "search", "list", "info"];
4
- export declare const artifactToolSchema: z.ZodObject<{
5
- action: z.ZodEnum<["write", "edit", "verify", "delete"]>;
6
- content_id: z.ZodOptional<z.ZodString>;
7
- content: z.ZodOptional<z.ZodString>;
8
- name: z.ZodOptional<z.ZodString>;
9
- old_str: z.ZodOptional<z.ZodString>;
10
- new_str: z.ZodOptional<z.ZodString>;
11
- replace_all: z.ZodOptional<z.ZodBoolean>;
12
- }, "strip", z.ZodTypeAny, {
13
- action: "write" | "delete" | "edit" | "verify";
14
- content?: string | undefined;
15
- name?: string | undefined;
16
- old_str?: string | undefined;
17
- new_str?: string | undefined;
18
- content_id?: string | undefined;
19
- replace_all?: boolean | undefined;
20
- }, {
21
- action: "write" | "delete" | "edit" | "verify";
22
- content?: string | undefined;
23
- name?: string | undefined;
24
- old_str?: string | undefined;
25
- new_str?: string | undefined;
26
- content_id?: string | undefined;
27
- replace_all?: boolean | undefined;
28
- }>;
29
- export declare const contentReaderSchema: z.ZodObject<{
30
- action: z.ZodEnum<["read", "search", "list", "info"]>;
31
- content_id: z.ZodOptional<z.ZodString>;
32
- start_line: z.ZodOptional<z.ZodNumber>;
33
- end_line: z.ZodOptional<z.ZodNumber>;
34
- pattern: z.ZodOptional<z.ZodString>;
35
- flags: z.ZodOptional<z.ZodString>;
36
- context: z.ZodOptional<z.ZodNumber>;
37
- offset: z.ZodOptional<z.ZodNumber>;
38
- limit: z.ZodOptional<z.ZodNumber>;
39
- }, "strip", z.ZodTypeAny, {
40
- action: "read" | "search" | "info" | "list";
41
- pattern?: string | undefined;
42
- context?: number | undefined;
43
- flags?: string | undefined;
44
- content_id?: string | undefined;
45
- start_line?: number | undefined;
46
- end_line?: number | undefined;
47
- offset?: number | undefined;
48
- limit?: number | undefined;
49
- }, {
50
- action: "read" | "search" | "info" | "list";
51
- pattern?: string | undefined;
52
- context?: number | undefined;
53
- flags?: string | undefined;
54
- content_id?: string | undefined;
55
- start_line?: number | undefined;
56
- end_line?: number | undefined;
57
- offset?: number | undefined;
58
- limit?: number | undefined;
59
- }>;
60
- export declare const ARTIFACT_TOOL_NAME = "artifact_tool";
61
- export declare const CONTENT_READER_NAME = "content_reader";
62
- export type ArtifactToolInput = z.infer<typeof artifactToolSchema>;
63
- export type ContentReaderInput = z.infer<typeof contentReaderSchema>;
@@ -1,16 +0,0 @@
1
- /**
2
- * artifact_tool + content_reader library factories.
3
- *
4
- * The library owns the LangChain wiring (schema, description, response
5
- * shape) and the action dispatch; the runtime supplies a handler bundle
6
- * matching the `ArtifactWriteHandlers` / `ContentReadHandlers` interface.
7
- *
8
- * This keeps 800+ LOC of host-specific handler logic (S3 adapters, file
9
- * model CRUD, syntax checkers, line utils) out of the library while
10
- * still centralizing the tool surface every runtime shares.
11
- */
12
- import { DynamicStructuredTool } from '@langchain/core/tools';
13
- import type { ArtifactToolConfig, ContentReaderToolConfig } from './types';
14
- export declare function createArtifactTool(config: ArtifactToolConfig): DynamicStructuredTool;
15
- export declare function createContentReaderTool(config: ContentReaderToolConfig): DynamicStructuredTool;
16
- export { ARTIFACT_TOOL_NAME, CONTENT_READER_NAME, ARTIFACT_WRITE_ACTIONS, CONTENT_READ_ACTIONS, } from './schema';
@@ -1,127 +0,0 @@
1
- /**
2
- * Artifact-tool types. The library owns the LangChain wiring, schema, and
3
- * action dispatch. Runtime supplies an `ArtifactHandlers` bundle — one
4
- * function per action — so ranger reuses its existing handlers, CLI
5
- * supplies disk-backed ones, and A2A server supplies buffer-backed ones.
6
- *
7
- * Each handler receives:
8
- * - `args`: the parsed input (typed per action)
9
- * - `scope`: runtime-resolved scope identity (conversationId + userId
10
- * for ranger, agent-run-id for CLI, a2a-task-id for A2A)
11
- *
12
- * Each handler returns a `[llmText, toolArtifact]` tuple matching
13
- * LangChain's `content_and_artifact` response format.
14
- */
15
- export interface ArtifactToolScope {
16
- /**
17
- * Primary scope — whatever the runtime uses to silo artifacts per
18
- * session/run/conversation. Ranger uses `conversationId`; CLI uses
19
- * `agent-run-id` or `agent-id`; A2A uses `a2a-task-id`.
20
- */
21
- conversationId: string;
22
- /** Optional — present when the runtime has an authenticated user. */
23
- userId?: string;
24
- /** Free-form extension — runtimes can add their own fields. */
25
- [key: string]: unknown;
26
- }
27
- export type ArtifactToolResult = [llmText: string, artifact?: unknown];
28
- export interface WriteArgs {
29
- action: 'write';
30
- content_id?: string;
31
- content: string;
32
- name?: string;
33
- }
34
- export interface EditArgs {
35
- action: 'edit';
36
- content_id: string;
37
- old_str: string;
38
- new_str: string;
39
- replace_all?: boolean;
40
- }
41
- export interface VerifyArgs {
42
- action: 'verify';
43
- content_id: string;
44
- }
45
- export interface DeleteArgs {
46
- action: 'delete';
47
- content_id: string;
48
- }
49
- export interface ReadArgs {
50
- action: 'read';
51
- content_id: string;
52
- start_line?: number;
53
- end_line?: number;
54
- offset?: number;
55
- limit?: number;
56
- }
57
- export interface SearchArgs {
58
- action: 'search';
59
- content_id: string;
60
- pattern: string;
61
- flags?: string;
62
- context?: number;
63
- offset?: number;
64
- limit?: number;
65
- }
66
- export interface ListArgs {
67
- action: 'list';
68
- }
69
- export interface InfoArgs {
70
- action: 'info';
71
- content_id: string;
72
- }
73
- export type ArtifactWriteAction = WriteArgs | EditArgs | VerifyArgs | DeleteArgs;
74
- export type ArtifactReadAction = ReadArgs | SearchArgs | ListArgs | InfoArgs;
75
- /** Writer-surface handlers — invoked by `artifact_tool`. */
76
- export interface ArtifactWriteHandlers {
77
- write(args: WriteArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
78
- edit(args: EditArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
79
- verify(args: VerifyArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
80
- delete(args: DeleteArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
81
- }
82
- /** Reader-surface handlers — invoked by `content_reader`. */
83
- export interface ContentReadHandlers {
84
- read(args: ReadArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
85
- search(args: SearchArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
86
- list(args: ListArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
87
- info(args: InfoArgs, scope: ArtifactToolScope): Promise<ArtifactToolResult>;
88
- }
89
- /**
90
- * Optional content_id self-healing: runtimes that want to let the LLM
91
- * pass nicknames (e.g., "Dashboard") instead of canonical IDs implement
92
- * this. Library falls through when unset.
93
- */
94
- export interface ContentIdResolver {
95
- resolve(id: string, scope: ArtifactToolScope): Promise<{
96
- resolvedId: string;
97
- resolvedName?: string;
98
- } | null>;
99
- }
100
- export interface ArtifactToolLogger {
101
- debug: (msg: string, ...args: unknown[]) => void;
102
- info: (msg: string, ...args: unknown[]) => void;
103
- warn: (msg: string, ...args: unknown[]) => void;
104
- error: (msg: string, ...args: unknown[]) => void;
105
- }
106
- export interface ArtifactToolBaseConfig {
107
- /**
108
- * Resolves the runtime scope from the LangChain `config` object on each
109
- * invocation. Ranger pulls `conversationId` + `userId` from request
110
- * metadata; CLI pulls `agent-run-id` from its runner context.
111
- */
112
- getScope: (config: unknown) => ArtifactToolScope | null;
113
- resolver?: ContentIdResolver;
114
- logger?: ArtifactToolLogger;
115
- /**
116
- * Description override. Host can inject brand-specific guidance
117
- * (e.g., ranger's HTML branding mandate, TSX style rules). Defaults
118
- * to a generic description appropriate for any runtime.
119
- */
120
- descriptionOverride?: string;
121
- }
122
- export interface ArtifactToolConfig extends ArtifactToolBaseConfig {
123
- handlers: ArtifactWriteHandlers;
124
- }
125
- export interface ContentReaderToolConfig extends ArtifactToolBaseConfig {
126
- handlers: ContentReadHandlers;
127
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Default result formatters.
3
- *
4
- * - `plainTextFormatter`: CLI / A2A / generic output. No citation anchors.
5
- * - `citationAnchorFormatter`: ranger-style `\ue202turn0fileN` anchors with
6
- * a monotonic `sourceOffset` so multi-call turns stay globally unique.
7
- *
8
- * Runtimes can supply their own `FileSearchResultFormatter` to override.
9
- */
10
- import type { FileSearchResultFormatter, FileSearchFile, RagChunk } from './types';
11
- export declare const plainTextFormatter: FileSearchResultFormatter;
12
- export interface CitationAnchorFormatterOptions {
13
- /** Tool name used in the `file_search` artifact wrapper. Defaults to `'file_search'`. */
14
- toolName?: string;
15
- /**
16
- * Monotonic counter for source indices within a turn. Pass the SAME
17
- * function to the formatter across multiple calls in the same turn so
18
- * anchors stay globally unique.
19
- */
20
- getSourceOffset?: () => number;
21
- /** Called after formatting to advance the offset. */
22
- advanceSourceOffset?: (by: number) => void;
23
- }
24
- export declare function createCitationAnchorFormatter(opts?: CitationAnchorFormatterOptions): FileSearchResultFormatter;
25
- export type { FileSearchResultFormatter, FileSearchFile, RagChunk };
@@ -1,5 +0,0 @@
1
- export { createFileSearchTool, FileSearchToolName } from './tool';
2
- export { HttpRagClient, getRagBaseUrl, RAG_API_URL_ENV, type HttpRagClientOptions, } from './ragClient';
3
- export { plainTextFormatter, createCitationAnchorFormatter, type CitationAnchorFormatterOptions, } from './formatter';
4
- export { fileSearchInputSchema, type FileSearchInput } from './schema';
5
- export type { FileSearchFile, RagChunk, RagClient, RagQueryParams, FileSearchResultFormatter, FileSearchToolCallbacks, FileSearchToolConfig, FileSearchToolLogger, } from './types';
@@ -1,32 +0,0 @@
1
- /**
2
- * Default HTTP RAG client. Posts to `${baseUrl}/query` with the shape
3
- * rag_api expects (`{ file_id, query, k, entity_id? }`). Runtimes that
4
- * use a different vector backend implement their own `RagClient`.
5
- *
6
- * Auth is runtime-provided per call (via `authHeaders` on the params) so
7
- * short-lived tokens can be minted per request without the client
8
- * caching stale credentials.
9
- */
10
- import type { RagClient, RagQueryParams, RagChunk, FileSearchToolLogger } from './types';
11
- export declare const RAG_API_URL_ENV = "RAG_API_URL";
12
- /** Resolve base URL at call time so env-var changes propagate. */
13
- export declare function getRagBaseUrl(override?: string): string;
14
- export interface HttpRagClientOptions {
15
- /** Base URL of the RAG service (no trailing slash). Falls back to env. */
16
- baseUrl?: string;
17
- /** Default headers sent on every request (e.g., a static API key). */
18
- defaultHeaders?: Record<string, string>;
19
- /** Default timeout if params don't override. Default 15_000. */
20
- defaultTimeoutMs?: number;
21
- logger?: FileSearchToolLogger;
22
- }
23
- export declare class HttpRagClient implements RagClient {
24
- private readonly baseUrlOverride?;
25
- private readonly defaultHeaders;
26
- private readonly defaultTimeoutMs;
27
- private readonly logger?;
28
- constructor(opts?: HttpRagClientOptions);
29
- query(params: RagQueryParams): Promise<RagChunk[]>;
30
- /** Convert rag_api's tuple format into the library's normalized shape. */
31
- private normalize;
32
- }
@@ -1,13 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const fileSearchInputSchema: z.ZodObject<{
3
- query: z.ZodString;
4
- target_files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5
- }, "strip", z.ZodTypeAny, {
6
- query: string;
7
- target_files?: string[] | undefined;
8
- }, {
9
- query: string;
10
- target_files?: string[] | undefined;
11
- }>;
12
- export type FileSearchInput = z.infer<typeof fileSearchInputSchema>;
13
- export declare const FileSearchToolName = "file_search";
@@ -1,18 +0,0 @@
1
- /**
2
- * file_search tool factory — library-native equivalent of the CodeExecutor
3
- * pattern. Runtimes supply a `RagClient`, the file list for this turn, and
4
- * an optional formatter (ranger uses citation anchors; CLI/A2A use plain
5
- * text).
6
- *
7
- * The tool itself:
8
- * 1. Accepts `{ query, target_files? }` from the LLM.
9
- * 2. Filters files by `target_files` substring match when provided.
10
- * 3. Queries each file in bounded concurrent batches.
11
- * 4. Enforces per-file timeouts (failures isolated per file).
12
- * 5. Flattens chunks, deprioritizes stale-turn files, caps results.
13
- * 6. Hands formatted output to the runtime's formatter for final shape.
14
- */
15
- import { DynamicStructuredTool } from '@langchain/core/tools';
16
- import type { FileSearchToolConfig } from './types';
17
- export declare function createFileSearchTool(config: FileSearchToolConfig): DynamicStructuredTool;
18
- export { FileSearchToolName } from './schema';
@@ -1,139 +0,0 @@
1
- /**
2
- * File-search tool types. Mirrors the web_search / code_executor split —
3
- * the library owns tool logic; the host supplies a `RagClient` + config
4
- * shaped to its own deployment (auth strategy, scope identity, file set).
5
- */
6
- export interface FileSearchFile {
7
- /** Stable identifier within the RAG backend. */
8
- file_id: string;
9
- /** Human-readable name surfaced in tool results and prompts. */
10
- filename: string;
11
- /**
12
- * Hint that this file arrived on the *current* conversation turn (as
13
- * opposed to an earlier turn). Hosts that don't distinguish leave this
14
- * undefined; the formatter deprioritizes older files when set.
15
- */
16
- isCurrentMessage?: boolean;
17
- }
18
- /**
19
- * A single chunk returned by the RAG backend for a query.
20
- * Shape is normalized here so the library stays independent of any
21
- * specific RAG service's response format — the `RagClient` is responsible
22
- * for translating the backend response into this shape.
23
- */
24
- export interface RagChunk {
25
- file_id: string;
26
- page_content: string;
27
- distance: number;
28
- metadata?: Record<string, unknown>;
29
- }
30
- export interface RagQueryParams {
31
- file_id: string;
32
- query: string;
33
- /** Top-K chunks to return per file. Default 10. */
34
- k?: number;
35
- /** Optional tenant/entity ID — forwarded to the backend verbatim. */
36
- entity_id?: string;
37
- /**
38
- * Scope identifier. Hosts use this for per-tenant isolation in the RAG
39
- * backend (ranger → userId, cli → agentId, a2a → task-id).
40
- */
41
- scope?: string;
42
- /**
43
- * Per-request auth headers — the host builds these (e.g., ranger sends
44
- * `Authorization: Bearer <short-lived-JWT-for-userId>`). Allows
45
- * different runtimes to use different auth strategies without the
46
- * library knowing.
47
- */
48
- authHeaders?: Record<string, string>;
49
- /** Optional per-call timeout override. */
50
- timeoutMs?: number;
51
- }
52
- /**
53
- * Pluggable RAG backend. Runtimes provide an implementation that speaks
54
- * to whatever vector DB / search service they've deployed (rag_api is the
55
- * default; azure search, pinecone, etc. are valid alternates).
56
- */
57
- export interface RagClient {
58
- query(params: RagQueryParams): Promise<RagChunk[]>;
59
- }
60
- /**
61
- * Formatter callback that shapes raw chunks into the runtime's preferred
62
- * presentation. Ranger uses citation anchors (`\ue202turn0fileN`), CLI
63
- * uses plain text, A2A server can return structured parts.
64
- */
65
- export interface FileSearchResultFormatter {
66
- format(chunks: Array<RagChunk & {
67
- filename: string;
68
- isCurrentMessage: boolean;
69
- }>, context: {
70
- /**
71
- * Monotonic call index within a single turn. Ranger uses this to
72
- * keep citation source indices globally unique across multiple
73
- * file_search invocations.
74
- */
75
- callIndex: number;
76
- /** Same files list the factory was seeded with (for lookups). */
77
- files: FileSearchFile[];
78
- }): {
79
- /** Message returned to the LLM (content). */
80
- message: string;
81
- /** Optional artifact payload (sources, metadata) returned alongside. */
82
- artifact?: unknown;
83
- };
84
- }
85
- export interface FileSearchToolCallbacks {
86
- /**
87
- * Fires when a RAG query completes successfully for one file. Hosts can
88
- * use this for telemetry, streaming UI updates, etc.
89
- */
90
- onFileQueried?: (file: FileSearchFile, chunkCount: number) => void;
91
- /** Fires when a RAG query fails. Hosts can log or surface via UI. */
92
- onFileError?: (file: FileSearchFile, error: Error) => void;
93
- }
94
- export interface FileSearchToolLogger {
95
- debug: (msg: string, ...args: unknown[]) => void;
96
- info: (msg: string, ...args: unknown[]) => void;
97
- warn: (msg: string, ...args: unknown[]) => void;
98
- error: (msg: string, ...args: unknown[]) => void;
99
- }
100
- export interface FileSearchToolConfig {
101
- /** The RAG backend client. Required. */
102
- ragClient: RagClient;
103
- /** Files the agent has access to this turn. Empty = tool self-reports so. */
104
- files: FileSearchFile[];
105
- /** Tenant/entity ID forwarded to the backend per-query. */
106
- entity_id?: string;
107
- /**
108
- * Per-turn scope identity. Most runtimes pin this once (userId/agentId);
109
- * if omitted, no scope is sent to the backend.
110
- */
111
- scope?: string;
112
- /**
113
- * Per-call auth header builder. Called on every tool invocation so
114
- * the host can mint fresh short-lived tokens (ranger's JWT pattern).
115
- * When omitted, no auth headers are sent.
116
- */
117
- getAuthHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
118
- /**
119
- * Result formatter. When omitted, the default plain-text formatter is
120
- * used (suitable for CLI/A2A runtimes that don't need citation anchors).
121
- */
122
- formatter?: FileSearchResultFormatter;
123
- /** Per-file query timeout in ms. Default 15_000. */
124
- queryTimeoutMs?: number;
125
- /**
126
- * Max concurrent in-flight RAG queries. Protects HTTP connection pools
127
- * under heavy file counts. Default 10.
128
- */
129
- concurrencyLimit?: number;
130
- /** Top-K chunks per file. Default 10. */
131
- topK?: number;
132
- /**
133
- * Cap on total chunks returned to the LLM after sorting. Default is
134
- * `max(10, filesCount * 3)`.
135
- */
136
- resultCap?: number;
137
- callbacks?: FileSearchToolCallbacks;
138
- logger?: FileSearchToolLogger;
139
- }
@@ -1,62 +0,0 @@
1
- /**
2
- * proxyTool — wraps a Capability into a LangChain StructuredTool that
3
- * dispatches execution to a remote backend (e.g., tools-server) over HTTP.
4
- *
5
- * The LLM sees this tool identically to a locally-implemented tool:
6
- * - same name
7
- * - same description
8
- * - same input schema (JSON Schema)
9
- * - same invoke(input) contract
10
- *
11
- * Under the hood, invoke() POSTs to the backend's execute endpoint with
12
- * the input and a caller-supplied credential map. The backend returns
13
- * { success, result, error, timing } which this wrapper unpacks.
14
- */
15
- import type { AxiosInstance } from 'axios';
16
- import { type StructuredToolInterface } from '@langchain/core/tools';
17
- import type { Capability, CredentialMap } from '@/providers/types';
18
- /** Shape of the backend's execute response. Matches tools-server. */
19
- export interface ExecuteResponse {
20
- success: boolean;
21
- result?: unknown;
22
- error?: string;
23
- timing?: {
24
- durationMs: number;
25
- };
26
- }
27
- /** Options passed to buildProxyTool. */
28
- export interface ProxyToolOptions {
29
- /** HTTP client configured with backend base URL + auth. */
30
- client: AxiosInstance;
31
- /**
32
- * Path template for execution. The literal `:name` is replaced with the
33
- * capability's name. Defaults to `/execute/:name` (tools-server convention).
34
- */
35
- executePath?: string;
36
- /**
37
- * Optional callback invoked on every execution — used for metrics,
38
- * telemetry, debug logging. Errors in the hook are swallowed.
39
- */
40
- onExecute?: (ctx: ExecuteCallbackContext) => void;
41
- /**
42
- * Optional per-invocation auth header builder. Called on every tool
43
- * invocation before POSTing; returned headers are merged into the
44
- * request alongside the base client's headers. Typical use: pass a
45
- * freshly minted per-user JWT for admin-gated tools.
46
- */
47
- getAuthHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
48
- }
49
- export interface ExecuteCallbackContext {
50
- capabilityName: string;
51
- input: unknown;
52
- response?: ExecuteResponse;
53
- error?: Error;
54
- durationMs: number;
55
- }
56
- /**
57
- * Build a StructuredTool that proxies to a remote backend.
58
- *
59
- * The credentialMap is baked into the closure — callers that need
60
- * per-invocation credential rotation should rebuild the tool.
61
- */
62
- export declare function buildProxyTool(capability: Capability, credentials: CredentialMap, options: ProxyToolOptions): StructuredToolInterface;
@@ -1,99 +0,0 @@
1
- /**
2
- * Child-agent context preparation utilities.
3
- *
4
- * When a parent agent invokes a child agent — via handoff, sequence edge,
5
- * or scoped subgraph — the child cannot just receive `state.messages`
6
- * verbatim. The parent's conversation contains tool_use/tool_result blocks
7
- * that are (a) often incompatible with the child's tool registry, and
8
- * (b) actively harmful to the child's ability to reason cleanly about its
9
- * own task (noise → schema confusion → malformed tool_use).
10
- *
11
- * This module provides the two canonical strategies, extracted from
12
- * `MultiAgentGraph` so they can be unit-tested in isolation and reused by
13
- * future sub-agent orchestrators:
14
- *
15
- * 1. `prepareHandoffMessages` — "cleaned parent history"
16
- * Used when the child still needs the orchestrator's context (it's
17
- * the handoff target). Drops orphaned tool_use, compacts paired
18
- * tool_use/tool_result into text summaries, and guarantees the tail
19
- * is a HumanMessage so Bedrock/VertexAI won't reject the conversation
20
- * with "assistant message prefill" errors.
21
- *
22
- * 2. `prepareIsolatedChildMessages` — "fresh session"
23
- * Used for downstream sequence-node children inside a scoped subgraph.
24
- * The child sees only the original user request plus a synthetic
25
- * HumanMessage summarizing the upstream agent's final text output and
26
- * directing the child to act. Raw upstream tool_use/tool_result blocks
27
- * are discarded.
28
- *
29
- * Both helpers are pure functions over message arrays — no I/O, no
30
- * LangGraph coupling — so they can be exercised by unit tests with
31
- * synthetic message fixtures.
32
- */
33
- import type { BaseMessage } from '@langchain/core/messages';
34
- /**
35
- * Prefix injected in front of a trailing AIMessage when we flip it to a
36
- * HumanMessage to satisfy provider "last message must be user" rules.
37
- */
38
- export declare const HANDOFF_TAIL_CONTEXT_PREFIX = "[Context from orchestrator]: ";
39
- /**
40
- * Directive task-framing wrapper for downstream scoped-subgraph children.
41
- *
42
- * Design notes — each line is load-bearing:
43
- * - "Prior step output" names the upstream role without leaking the
44
- * agent's internal id.
45
- * - "You MUST now perform..." replaces ambiguity with obligation.
46
- * - "system instructions" references the agent's stored system prompt
47
- * as the source of task definition — so operators can tune behavior
48
- * via data, not code.
49
- * - The tool-first clause prevents small/fast models from stalling on a
50
- * text-only acknowledgement when a tool action is expected.
51
- */
52
- export declare function buildIsolatedChildPrompt(upstreamText: string): string;
53
- /**
54
- * Prepare messages for a handoff child agent.
55
- *
56
- * Handles two problems that break Bedrock/Anthropic conversations:
57
- *
58
- * 1. **Orphaned tool_use**: The parent's AI message contains a `tool_use`
59
- * block for the handoff tool itself, with no matching `tool_result`.
60
- * Providers (Bedrock/Anthropic) reject this.
61
- *
62
- * 2. **Paired tool_use/tool_result in history**: The child may not have
63
- * the same tools as the parent. Bedrock requires `toolConfig` when any
64
- * tool_use/tool_result blocks exist in the history. Compacting these
65
- * into text summaries avoids the requirement and reduces context bloat.
66
- *
67
- * Also ensures the tail is a HumanMessage — some providers reject a
68
- * conversation that ends with an assistant message.
69
- *
70
- * @param messages - Current state messages from the parent
71
- * @returns A sanitized copy, safe to pass to any provider as the child's
72
- * input regardless of which tools the child has registered.
73
- */
74
- export declare function prepareHandoffMessages(messages: BaseMessage[]): BaseMessage[];
75
- /**
76
- * Build an ISOLATED message context for a downstream scoped-subgraph node.
77
- *
78
- * Unlike `prepareHandoffMessages` (which cleans up tool_use artifacts but
79
- * preserves most of the parent history), this helper produces a fresh
80
- * minimal context containing only:
81
- *
82
- * 1. The original user request (first HumanMessage in the history)
83
- * 2. A synthetic HumanMessage summarizing the upstream agent's final
84
- * text output and directing the downstream agent to act on it
85
- *
86
- * Tool_use / tool_result blocks from the upstream agent are discarded —
87
- * the downstream agent shouldn't reason about how the upstream agent did
88
- * its work, only about the result.
89
- *
90
- * This "fresh subagent session" pattern is the primary defense against
91
- * schema confusion / malformed tool_use JSON that occurs when downstream
92
- * models see a noisy upstream conversation.
93
- *
94
- * Defensive fallback: if the messages array contains neither a user
95
- * message nor a non-empty upstream AI message, return the input unchanged
96
- * so the caller still has something to invoke on. This only matters for
97
- * malformed state fixtures in tests.
98
- */
99
- export declare function prepareIsolatedChildMessages(messages: BaseMessage[]): BaseMessage[];