@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
@@ -0,0 +1,320 @@
1
+ import type { BaseMessage } from '@langchain/core/messages';
2
+ /**
3
+ * Closed set of hook lifecycle events supported by the hooks system.
4
+ *
5
+ * These mirror the subset of Claude Code's event surface that makes sense
6
+ * for a library context (no filesystem/CLI-specific events). See
7
+ * `docs/hooks-design-report.md` §3.2 for the mapping to existing
8
+ * `@librechat/agents` emission points.
9
+ */
10
+ export declare const HOOK_EVENTS: readonly ["RunStart", "UserPromptSubmit", "PreToolUse", "PostToolUse", "PostToolUseFailure", "PermissionDenied", "SubagentStart", "SubagentStop", "Stop", "StopFailure", "PreCompact", "PostCompact"];
11
+ export type HookEvent = (typeof HOOK_EVENTS)[number];
12
+ /** Tool-gating decision; executeHooks folds with `deny > ask > allow` precedence. */
13
+ export type ToolDecision = 'allow' | 'deny' | 'ask';
14
+ /** Stop-loop decision; `block` means "do not stop, run another turn". Any `block` wins. */
15
+ export type StopDecision = 'continue' | 'block';
16
+ /**
17
+ * Fields shared by every `HookInput`. Discriminated by `hook_event_name`.
18
+ *
19
+ * - `runId` identifies the current agent run and is always present.
20
+ * - `threadId` identifies the conversation thread when the host has one.
21
+ * - `agentId` is only set when the hook fires inside a subagent scope.
22
+ */
23
+ export interface BaseHookInput {
24
+ runId: string;
25
+ threadId?: string;
26
+ agentId?: string;
27
+ }
28
+ export interface RunStartHookInput extends BaseHookInput {
29
+ hook_event_name: 'RunStart';
30
+ messages: BaseMessage[];
31
+ }
32
+ export interface UserPromptSubmitHookInput extends BaseHookInput {
33
+ hook_event_name: 'UserPromptSubmit';
34
+ prompt: string;
35
+ attachments?: BaseMessage[];
36
+ }
37
+ /**
38
+ * Fires before a tool is invoked. Hook may return `deny`/`ask`/`allow` and/or
39
+ * an `updatedInput` that replaces the tool arguments before invocation.
40
+ *
41
+ * `toolInput` is intentionally typed as `Record<string, unknown>` because the
42
+ * SDK is tool-agnostic — concrete tool argument shapes are only known at the
43
+ * call site and are narrowed by the host. This is the one escape hatch in
44
+ * the hook type system.
45
+ */
46
+ export interface PreToolUseHookInput extends BaseHookInput {
47
+ hook_event_name: 'PreToolUse';
48
+ toolName: string;
49
+ toolInput: Record<string, unknown>;
50
+ toolUseId: string;
51
+ stepId?: string;
52
+ /**
53
+ * Number of times this tool has been invoked in prior batches within the
54
+ * current run. Within a single batch of parallel calls, all calls to the
55
+ * same tool share the same turn value — per-call discrimination within a
56
+ * batch is not supported in v1.
57
+ */
58
+ turn?: number;
59
+ }
60
+ export interface PostToolUseHookInput extends BaseHookInput {
61
+ hook_event_name: 'PostToolUse';
62
+ toolName: string;
63
+ toolInput: Record<string, unknown>;
64
+ toolOutput: unknown;
65
+ toolUseId: string;
66
+ stepId?: string;
67
+ turn?: number;
68
+ }
69
+ export interface PostToolUseFailureHookInput extends BaseHookInput {
70
+ hook_event_name: 'PostToolUseFailure';
71
+ toolName: string;
72
+ toolInput: Record<string, unknown>;
73
+ toolUseId: string;
74
+ error: string;
75
+ stepId?: string;
76
+ turn?: number;
77
+ }
78
+ export interface PermissionDeniedHookInput extends BaseHookInput {
79
+ hook_event_name: 'PermissionDenied';
80
+ toolName: string;
81
+ toolInput: Record<string, unknown>;
82
+ toolUseId: string;
83
+ reason: string;
84
+ }
85
+ export interface SubagentStartHookInput extends BaseHookInput {
86
+ hook_event_name: 'SubagentStart';
87
+ parentAgentId?: string;
88
+ agentId: string;
89
+ agentType: string;
90
+ inputs: BaseMessage[];
91
+ }
92
+ export interface SubagentStopHookInput extends BaseHookInput {
93
+ hook_event_name: 'SubagentStop';
94
+ agentId: string;
95
+ agentType: string;
96
+ messages: BaseMessage[];
97
+ }
98
+ export interface StopHookInput extends BaseHookInput {
99
+ hook_event_name: 'Stop';
100
+ messages: BaseMessage[];
101
+ stopReason?: string;
102
+ stopHookActive: boolean;
103
+ }
104
+ export interface StopFailureHookInput extends BaseHookInput {
105
+ hook_event_name: 'StopFailure';
106
+ error: string;
107
+ lastAssistantMessage?: BaseMessage;
108
+ }
109
+ export interface PreCompactHookInput extends BaseHookInput {
110
+ hook_event_name: 'PreCompact';
111
+ messagesBeforeCount: number;
112
+ /**
113
+ * What triggered compaction. Matches `SummarizationTrigger.type` from the
114
+ * agent's summarization config. `'default'` means no trigger was
115
+ * configured and compaction fired because messages were pruned.
116
+ */
117
+ trigger: 'token_ratio' | 'remaining_tokens' | 'messages_to_refine' | 'default' | (string & {});
118
+ }
119
+ export interface PostCompactHookInput extends BaseHookInput {
120
+ hook_event_name: 'PostCompact';
121
+ summary: string;
122
+ /**
123
+ * Number of messages remaining after compaction. The summarize node
124
+ * returns a `removeAll` signal that clears all messages from state;
125
+ * the summary itself is injected into the system prompt, not as a
126
+ * message. This is `0` at the point of hook dispatch.
127
+ */
128
+ messagesAfterCount: number;
129
+ }
130
+ /** Discriminated union of every hook input shape. */
131
+ export type HookInput = RunStartHookInput | UserPromptSubmitHookInput | PreToolUseHookInput | PostToolUseHookInput | PostToolUseFailureHookInput | PermissionDeniedHookInput | SubagentStartHookInput | SubagentStopHookInput | StopHookInput | StopFailureHookInput | PreCompactHookInput | PostCompactHookInput;
132
+ /** Compile-time map from event name to its input shape. */
133
+ export type HookInputByEvent = {
134
+ RunStart: RunStartHookInput;
135
+ UserPromptSubmit: UserPromptSubmitHookInput;
136
+ PreToolUse: PreToolUseHookInput;
137
+ PostToolUse: PostToolUseHookInput;
138
+ PostToolUseFailure: PostToolUseFailureHookInput;
139
+ PermissionDenied: PermissionDeniedHookInput;
140
+ SubagentStart: SubagentStartHookInput;
141
+ SubagentStop: SubagentStopHookInput;
142
+ Stop: StopHookInput;
143
+ StopFailure: StopFailureHookInput;
144
+ PreCompact: PreCompactHookInput;
145
+ PostCompact: PostCompactHookInput;
146
+ };
147
+ /**
148
+ * Fields common to every hook output. Hooks that have nothing to say simply
149
+ * return `{}` (or omit the fields below).
150
+ */
151
+ export interface BaseHookOutput {
152
+ /** Context string to inject into the conversation. Accumulated across hooks. */
153
+ additionalContext?: string;
154
+ /** True to prevent the next model turn. Any hook can set this. */
155
+ preventContinuation?: boolean;
156
+ /** Reason reported alongside `preventContinuation`. */
157
+ stopReason?: string;
158
+ }
159
+ export type RunStartHookOutput = BaseHookOutput;
160
+ export interface UserPromptSubmitHookOutput extends BaseHookOutput {
161
+ decision?: ToolDecision;
162
+ reason?: string;
163
+ }
164
+ export interface PreToolUseHookOutput extends BaseHookOutput {
165
+ decision?: ToolDecision;
166
+ reason?: string;
167
+ /**
168
+ * Replacement tool input. Merged into the pending tool call by the host.
169
+ *
170
+ * When multiple hooks set `updatedInput` within a single `executeHooks`
171
+ * call, the last writer in registration order wins (outer loop: matcher
172
+ * registration order; inner loop: hook position within the matcher). The
173
+ * winner is deterministic — `Promise.all` preserves input-array order.
174
+ * Consumers that need a single authoritative rewrite should still scope
175
+ * `updatedInput` to one hook per matcher to avoid confusing precedence.
176
+ */
177
+ updatedInput?: Record<string, unknown>;
178
+ }
179
+ export interface PostToolUseHookOutput extends BaseHookOutput {
180
+ /**
181
+ * Replacement tool output. Flows through the aggregated result so the
182
+ * host can substitute it before appending the tool result message.
183
+ * Ordering semantics match `PreToolUseHookOutput.updatedInput`:
184
+ * last-writer-wins in registration order.
185
+ */
186
+ updatedOutput?: unknown;
187
+ }
188
+ export type PostToolUseFailureHookOutput = BaseHookOutput;
189
+ export type PermissionDeniedHookOutput = BaseHookOutput;
190
+ export interface SubagentStartHookOutput extends BaseHookOutput {
191
+ decision?: ToolDecision;
192
+ reason?: string;
193
+ }
194
+ export type SubagentStopHookOutput = BaseHookOutput;
195
+ export interface StopHookOutput extends BaseHookOutput {
196
+ decision?: StopDecision;
197
+ reason?: string;
198
+ }
199
+ export type StopFailureHookOutput = BaseHookOutput;
200
+ export type PreCompactHookOutput = BaseHookOutput;
201
+ export type PostCompactHookOutput = BaseHookOutput;
202
+ /** Compile-time map from event name to its output shape. */
203
+ export type HookOutputByEvent = {
204
+ RunStart: RunStartHookOutput;
205
+ UserPromptSubmit: UserPromptSubmitHookOutput;
206
+ PreToolUse: PreToolUseHookOutput;
207
+ PostToolUse: PostToolUseHookOutput;
208
+ PostToolUseFailure: PostToolUseFailureHookOutput;
209
+ PermissionDenied: PermissionDeniedHookOutput;
210
+ SubagentStart: SubagentStartHookOutput;
211
+ SubagentStop: SubagentStopHookOutput;
212
+ Stop: StopHookOutput;
213
+ StopFailure: StopFailureHookOutput;
214
+ PreCompact: PreCompactHookOutput;
215
+ PostCompact: PostCompactHookOutput;
216
+ };
217
+ /** Superset output shape used by the executor's fold loop. */
218
+ export type HookOutput = RunStartHookOutput | UserPromptSubmitHookOutput | PreToolUseHookOutput | PostToolUseHookOutput | PostToolUseFailureHookOutput | PermissionDeniedHookOutput | SubagentStartHookOutput | SubagentStopHookOutput | StopHookOutput | StopFailureHookOutput | PreCompactHookOutput | PostCompactHookOutput;
219
+ /**
220
+ * A hook callback is a plain async function registered against a specific
221
+ * event. The `signal` is always supplied by `executeHooks` and combines the
222
+ * batch's parent signal with the per-hook timeout — callbacks that perform
223
+ * long-running work should observe it.
224
+ */
225
+ export type HookCallback<E extends HookEvent = HookEvent> = (input: HookInputByEvent[E], signal: AbortSignal) => HookOutputByEvent[E] | Promise<HookOutputByEvent[E]>;
226
+ /**
227
+ * A matcher groups one or more callbacks under a shared regex filter and
228
+ * shared timeout/once/internal flags. The generic `E` ties the callback
229
+ * types to the event the matcher is registered against.
230
+ */
231
+ export interface HookMatcher<E extends HookEvent = HookEvent> {
232
+ /**
233
+ * Regex pattern matched against the event's primary query string (e.g.
234
+ * the tool name for `PreToolUse`, the agent type for `SubagentStart`).
235
+ *
236
+ * Omitted or empty means "always match". For events that do not supply a
237
+ * query string (`RunStart`, `Stop`, etc.), only wildcard matchers fire —
238
+ * a non-empty pattern on such events will never match.
239
+ *
240
+ * Patterns are treated as trusted input: `executeHooks` compiles them
241
+ * with `new RegExp(pattern)` without any sandbox, and a pathological
242
+ * pattern can block the event loop. Host registration code is expected
243
+ * to validate or length-bound patterns that originate from user input.
244
+ */
245
+ pattern?: string;
246
+ /** Callbacks that fire when the matcher hits. Executed in parallel. */
247
+ hooks: HookCallback<E>[];
248
+ /** Per-matcher timeout in ms. Defaults to the executor's batch timeout. */
249
+ timeout?: number;
250
+ /**
251
+ * Atomically remove the matcher before its first dispatch.
252
+ *
253
+ * `executeHooks` claims `once: true` matchers synchronously — between
254
+ * `getMatchers` and its first `await` — so two concurrent calls cannot
255
+ * both dispatch the same matcher. Whichever call runs its sync prefix
256
+ * first wins the matcher; the other sees an empty bucket.
257
+ *
258
+ * Semantics are "at most one dispatch, ever" — if every hook in the
259
+ * matcher throws, the matcher is still gone. Use `once` for
260
+ * fire-and-forget bootstrapping (registration, telemetry, setup). Hosts
261
+ * that need retry semantics should register a normal matcher and
262
+ * self-unregister via the callback returned from `registry.register`.
263
+ */
264
+ once?: boolean;
265
+ /** Internal hooks are excluded from telemetry and non-fatal error logging. */
266
+ internal?: boolean;
267
+ }
268
+ /**
269
+ * Storage shape for matchers keyed by event. Each event's matcher list is
270
+ * a generic array parameterized by that event type, so lookup via
271
+ * `HooksByEvent[E]` preserves type-safe callback signatures.
272
+ */
273
+ export type HooksByEvent = {
274
+ [E in HookEvent]?: HookMatcher<E>[];
275
+ };
276
+ /**
277
+ * Aggregated result of a single `executeHooks` call. Fields are populated
278
+ * according to the fold rules in `executeHooks.ts`.
279
+ */
280
+ export interface AggregatedHookResult {
281
+ /** Folded tool-gating decision; `deny > ask > allow`. */
282
+ decision?: ToolDecision;
283
+ /** Folded stop decision; any `block` wins. */
284
+ stopDecision?: StopDecision;
285
+ /** Reason from the hook that set the winning decision. */
286
+ reason?: string;
287
+ /**
288
+ * Replacement tool input from a `PreToolUse` hook.
289
+ *
290
+ * Last-writer-wins in **registration order**: `executeHooks` uses
291
+ * `Promise.all`, which preserves input-array order, so the fold iterates
292
+ * outcomes in the same order they were pushed — outer loop over matchers
293
+ * as they sit in the registry, inner loop over each matcher's `hooks`
294
+ * array. The winner is therefore deterministic but may not match the
295
+ * order in which hooks actually completed. Consumers that want a single
296
+ * authoritative rewrite should still register one `updatedInput`-setting
297
+ * hook per matcher to avoid subtle precedence bugs.
298
+ */
299
+ updatedInput?: Record<string, unknown>;
300
+ /**
301
+ * Replacement tool output from a `PostToolUse` hook.
302
+ *
303
+ * Same last-writer-wins-in-registration-order semantics as
304
+ * `updatedInput`. Present only when at least one hook set it; `undefined`
305
+ * means "use the original tool output".
306
+ */
307
+ updatedOutput?: unknown;
308
+ /** Accumulated `additionalContext` strings from every hook, in order. */
309
+ additionalContexts: string[];
310
+ /** True if any hook returned `preventContinuation`. */
311
+ preventContinuation?: boolean;
312
+ /**
313
+ * Reason recorded alongside `preventContinuation`. First winner wins:
314
+ * once a hook sets both flags, later hooks that also set
315
+ * `preventContinuation` do not overwrite the reason.
316
+ */
317
+ stopReason?: string;
318
+ /** Error messages from hooks that threw; always present (possibly empty). */
319
+ errors: string[];
320
+ }
@@ -7,6 +7,13 @@ export type { GuardrailTraceData, GuardrailOutcome, } from '@illuma-ai/observabi
7
7
  export * from './graphs';
8
8
  export * from './tools/Calculator';
9
9
  export * from './tools/CodeExecutor';
10
+ export * from './tools/BashExecutor';
11
+ export * from './tools/BashProgrammaticToolCalling';
12
+ export * from './tools/ReadFile';
13
+ export * from './tools/SkillTool';
14
+ export * from './tools/skillCatalog';
15
+ export * from './tools/SubagentTool';
16
+ export * from './tools/subagent';
10
17
  export * from './tools/BrowserTools';
11
18
  export * from './tools/ProgrammaticToolCalling';
12
19
  export * from './tools/ToolSearch';
@@ -16,15 +23,7 @@ export * from './tools/schema';
16
23
  export * from './tools/handlers';
17
24
  export * from './tools/search';
18
25
  export * from './tools/memory';
19
- export * from './tools/fileSearch';
20
- export * from './tools/artifacts';
21
- export * from './tools/proxyTool';
22
- export * from './providers';
23
- export { ContentStore, CONTENT_TTL_MS } from './content/ContentStore';
24
- export { ArtifactStore, sanitizeName } from './content/ArtifactStore';
25
- export type { S3Strategy, FileModel, Logger as ContentLogger, } from './content/ArtifactStore';
26
- export { interceptMcpResult, extractUiMarkers, buildCachedResponse, } from './content/mcpAutoCache';
27
- export type { AutoCacheContext, AutoCacheResult } from './content/mcpAutoCache';
26
+ export * from './hooks';
28
27
  export * from './memory';
29
28
  export { MEMORY_FLUSH_SYSTEM_PROMPT } from './prompts/memoryFlushPrompt';
30
29
  export { shouldFlushMemory, runMemoryFlush, } from './graphs/phases/memoryFlushPhase';
@@ -36,6 +35,7 @@ export * from './nodes';
36
35
  export * from './common';
37
36
  export * from './utils';
38
37
  export type * from './types';
38
+ export * from './langchain';
39
39
  export { CustomOpenAIClient } from './llm/openai';
40
40
  export { ChatOpenRouter } from './llm/openrouter';
41
41
  export type { OpenRouterReasoning, OpenRouterReasoningEffort, ChatOpenRouterCallOptions, } from './llm/openrouter';
@@ -0,0 +1 @@
1
+ export type { GoogleAIToolType } from '@langchain/google-common';
@@ -0,0 +1,8 @@
1
+ export * from './messages';
2
+ export * from './prompts';
3
+ export * from './runnables';
4
+ export * from './tools';
5
+ export * from './google-common';
6
+ export * from './language_models/chat_models';
7
+ export * from './messages/tool';
8
+ export * from './openai';
@@ -0,0 +1 @@
1
+ export type { BindToolsInput } from '@langchain/core/language_models/chat_models';
@@ -0,0 +1 @@
1
+ export type { InvalidToolCall, ToolCall, ToolCallChunk, } from '@langchain/core/messages/tool';
@@ -0,0 +1,2 @@
1
+ export { AIMessage, AIMessageChunk, BaseMessage, BaseMessageChunk, HumanMessage, SystemMessage, ToolMessage, getBufferString, isAIMessage, isBaseMessage, isToolMessage, } from '@langchain/core/messages';
2
+ export type { BaseMessageFields, MessageContent, MessageContentText, MessageContentImageUrl, UsageMetadata, } from '@langchain/core/messages';
@@ -0,0 +1 @@
1
+ export type { AzureOpenAIInput } from '@langchain/openai';
@@ -0,0 +1 @@
1
+ export { PromptTemplate } from '@langchain/core/prompts';
@@ -0,0 +1,2 @@
1
+ export { Runnable, RunnableLambda, RunnableSequence, } from '@langchain/core/runnables';
2
+ export type { RunnableConfig } from '@langchain/core/runnables';
@@ -0,0 +1,2 @@
1
+ export { DynamicStructuredTool, StructuredTool, Tool, tool, } from '@langchain/core/tools';
2
+ export type { StructuredToolInterface } from '@langchain/core/tools';
@@ -0,0 +1 @@
1
+ export { getEnvironmentVariable } from '@langchain/core/utils/env';
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Bedrock prompt-cache model support detection.
3
+ * ===============================================
4
+ *
5
+ * Bedrock prompt caching (via `cachePoint` blocks) is only supported on
6
+ * specific model families. Other families silently reject or ignore the
7
+ * markers. We maintain an allowlist instead of a substring heuristic so
8
+ * a future model with an unfortunate name (e.g. `llama-claude-killer`)
9
+ * doesn't accidentally match.
10
+ *
11
+ * Consumers can extend the allowlist with `bedrockCacheModelPatterns` in
12
+ * `clientOptions` for proprietary or pre-release model IDs not yet in
13
+ * the upstream library.
14
+ */
15
+ /**
16
+ * Default allowlist of Bedrock model ID patterns that support cachePoint.
17
+ * Sourced from AWS Bedrock documentation (verified against us-east-1
18
+ * 2026-05).
19
+ *
20
+ * Adding a new model: append a RegExp here AND add a regression test in
21
+ * `cacheSupport.test.ts` covering at least one full model ID for that
22
+ * family. Removing a model: do not remove without operator confirmation
23
+ * — silent removal would suddenly stop emitting cachePoint markers and
24
+ * regress cost savings.
25
+ */
26
+ export declare const DEFAULT_BEDROCK_CACHE_MODEL_PATTERNS: readonly RegExp[];
27
+ /**
28
+ * Returns true when the given Bedrock model ID belongs to a family that
29
+ * supports cachePoint blocks. `additionalPatterns` lets consumers extend
30
+ * the allowlist for models the library doesn't know about yet.
31
+ *
32
+ * @param modelId Bedrock model ID (e.g. `us.anthropic.claude-sonnet-4-5-20250929-v1:0`)
33
+ * @param additionalPatterns Extra patterns from consumer config
34
+ */
35
+ export declare function isBedrockCacheSupported(modelId: string | undefined, additionalPatterns?: readonly RegExp[]): boolean;
@@ -41,18 +41,65 @@ import type { ChatBedrockConverseInput } from '@langchain/aws';
41
41
  * @see https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html
42
42
  */
43
43
  export type ServiceTierType = 'priority' | 'default' | 'flex' | 'reserved';
44
+ /**
45
+ * Tool cachePoint allocation strategy.
46
+ *
47
+ * - 'single': one cachePoint at the END of the tools array (whole array
48
+ * cached as one unit). Lightest budget use (1 cachePoint).
49
+ * - 'split': split tools into groups via `toolGroupSelector`. Each
50
+ * non-empty group gets its own cachePoint. Use when groups
51
+ * have different volatility (e.g. stable core tools vs
52
+ * volatile MCP tools). Costs more cachePoint budget.
53
+ * - 'none': no cachePoint on tools array. Use when tool definitions
54
+ * change every request anyway.
55
+ */
56
+ export type ToolCacheStrategy = 'single' | 'split' | 'none';
57
+ /**
58
+ * Group selector for `toolCacheStrategy: 'split'`. Receives the tool name
59
+ * and returns a stable group key — tools with the same key are grouped
60
+ * together. Group order in the output array follows first-encounter order.
61
+ */
62
+ export type ToolGroupSelector = (toolName: string) => string;
63
+ /**
64
+ * Default group selector — puts all tools in a single group named 'core'.
65
+ * Equivalent to 'single' strategy but explicit. Consumers override this
66
+ * to enable per-source grouping (e.g. ranger uses `_mcp_` substring to
67
+ * separate core from MCP tools).
68
+ */
69
+ export declare const DEFAULT_TOOL_GROUP_SELECTOR: ToolGroupSelector;
44
70
  /**
45
71
  * Extended input interface with additional features:
46
72
  * - promptCache: Enable Bedrock prompt caching for tool definitions
47
73
  * - applicationInferenceProfile: Use an inference profile ARN instead of model ID
48
74
  * - serviceTier: Specify service tier (Priority, Standard, Flex, Reserved)
75
+ * - toolCacheStrategy: How to allocate cachePoints across tools array
76
+ * - toolGroupSelector: Group key resolver for the 'split' strategy
49
77
  */
50
78
  export interface IllumaBedrockConverseInput extends ChatBedrockConverseInput {
51
79
  /**
52
80
  * Enable Bedrock prompt caching for tool definitions.
53
- * When true, adds cachePoint markers to tools array.
81
+ * When true, adds cachePoint marker(s) to tools array per
82
+ * `toolCacheStrategy`. Defaults to 'single'.
54
83
  */
55
84
  promptCache?: boolean;
85
+ /**
86
+ * Tool cachePoint allocation. Defaults to 'single' — one cachePoint at
87
+ * the end of the tools array. Set to 'split' (with `toolGroupSelector`)
88
+ * when different tool groups have different volatility.
89
+ */
90
+ toolCacheStrategy?: ToolCacheStrategy;
91
+ /**
92
+ * Group selector for 'split' strategy. Receives a tool name, returns
93
+ * a stable group key. Defaults to a one-group selector (equivalent
94
+ * to 'single').
95
+ */
96
+ toolGroupSelector?: ToolGroupSelector;
97
+ /**
98
+ * Additional model ID patterns to consider Bedrock-cache-supported.
99
+ * Defaults are in `src/llm/bedrock/cacheSupport.ts`. Use this when
100
+ * AWS adds a new model family before the next library release.
101
+ */
102
+ bedrockCacheModelPatterns?: readonly RegExp[];
56
103
  /**
57
104
  * Application Inference Profile ARN to use for the model.
58
105
  * For example, "arn:aws:bedrock:eu-west-1:123456789102:application-inference-profile/fm16bt65tzgx"
@@ -90,6 +137,12 @@ export declare class IllumaBedrockConverse extends ChatBedrockConverse {
90
137
  applicationInferenceProfile?: string;
91
138
  /** Service tier for model invocation */
92
139
  serviceTier?: ServiceTierType;
140
+ /** Tool cachePoint allocation strategy. */
141
+ toolCacheStrategy: ToolCacheStrategy;
142
+ /** Group selector for 'split' strategy. */
143
+ toolGroupSelector: ToolGroupSelector;
144
+ /** Optional consumer extensions to the cache-supported model allowlist. */
145
+ bedrockCacheModelPatterns?: readonly RegExp[];
93
146
  constructor(fields?: IllumaBedrockConverseInput);
94
147
  static lc_name(): string;
95
148
  /**
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Position-based context pruning for tool results.
3
+ *
4
+ * Uses position-based age: the distance of a message
5
+ * from the conversation end as a fraction of total messages.
6
+ *
7
+ * Two degradation levels:
8
+ * - Soft-trim: Keep head + tail of tool result content, drop middle.
9
+ * - Hard-clear: Replace entire content with a placeholder.
10
+ *
11
+ * Messages in the "protected zone" (recent assistant turns, system/pre-first-human
12
+ * messages, and messages with image content) are never pruned.
13
+ */
14
+ import { type BaseMessage } from '@langchain/core/messages';
15
+ import type { ContextPruningConfig } from '@/types/graph';
16
+ import type { TokenCounter } from '@/types/run';
17
+ import type { ContextPruningSettings } from './contextPruningSettings';
18
+ export interface ContextPruningResult {
19
+ /** Number of messages that were soft-trimmed. */
20
+ softTrimmed: number;
21
+ /** Number of messages that were hard-cleared. */
22
+ hardCleared: number;
23
+ }
24
+ /**
25
+ * Applies position-based context pruning to tool result messages.
26
+ *
27
+ * Modifies messages in-place and updates indexTokenCountMap with recounted
28
+ * token values for modified messages.
29
+ *
30
+ * @param params.messages - The full message array (modified in-place).
31
+ * @param params.indexTokenCountMap - Token count map (updated in-place).
32
+ * @param params.tokenCounter - Function to recount tokens after modification.
33
+ * @param params.config - Partial context pruning config (merged with defaults).
34
+ * @returns Counts of soft-trimmed and hard-cleared messages.
35
+ */
36
+ export declare function applyContextPruning(params: {
37
+ messages: BaseMessage[];
38
+ indexTokenCountMap: Record<string, number | undefined>;
39
+ tokenCounter: TokenCounter;
40
+ config?: ContextPruningConfig;
41
+ resolvedSettings?: ContextPruningSettings;
42
+ }): ContextPruningResult;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Default settings for position-based context pruning.
3
+ *
4
+ * These are merged with user-provided overrides so any subset can be customized.
5
+ */
6
+ export interface ContextPruningSettings {
7
+ /** Whether position-based pruning is enabled. Default: false (opt-in). */
8
+ enabled: boolean;
9
+ /** Number of recent assistant turns to protect from pruning. Default: 3 */
10
+ keepLastAssistants: number;
11
+ /** Age ratio (0-1) at which soft-trim fires. Default: 0.3 */
12
+ softTrimRatio: number;
13
+ /** Age ratio (0-1) at which hard-clear fires. Default: 0.5 */
14
+ hardClearRatio: number;
15
+ /** Minimum tool result size (chars) before pruning applies. Default: 50000 */
16
+ minPrunableToolChars: number;
17
+ softTrim: {
18
+ /** Maximum total chars after soft-trim. Default: 4000 */
19
+ maxChars: number;
20
+ /** Head portion to keep. Default: 1500 */
21
+ headChars: number;
22
+ /** Tail portion to keep. Default: 1500 */
23
+ tailChars: number;
24
+ };
25
+ hardClear: {
26
+ /** Whether hard-clear is enabled. Default: true */
27
+ enabled: boolean;
28
+ /** Placeholder text for hard-cleared content. */
29
+ placeholder: string;
30
+ };
31
+ }
32
+ export declare const DEFAULT_CONTEXT_PRUNING_SETTINGS: ContextPruningSettings;
33
+ /**
34
+ * Merges user-provided partial overrides with the defaults.
35
+ */
36
+ export declare function resolveContextPruningSettings(overrides?: Partial<{
37
+ enabled?: boolean;
38
+ keepLastAssistants?: number;
39
+ softTrimRatio?: number;
40
+ hardClearRatio?: number;
41
+ minPrunableToolChars?: number;
42
+ softTrim?: Partial<ContextPruningSettings['softTrim']>;
43
+ hardClear?: Partial<ContextPruningSettings['hardClear']>;
44
+ }>): ContextPruningSettings;
@@ -83,6 +83,9 @@ interface LangChainMessage {
83
83
  * @returns - The formatted LangChain message.
84
84
  */
85
85
  export declare const formatFromLangChain: (message: LangChainMessage) => Record<string, any>;
86
+ interface FormatAgentMessagesOptions {
87
+ provider?: Providers;
88
+ }
86
89
  /**
87
90
  * Groups content parts by agent and formats them with agent labels
88
91
  * This preprocesses multi-agent content to prevent identity confusion
@@ -103,9 +106,14 @@ export declare const labelContentByAgent: (contentParts: MessageContentComplex[]
103
106
  * @param payload - The array of messages to format.
104
107
  * @param indexTokenCountMap - Optional map of message indices to token counts.
105
108
  * @param tools - Optional set of tool names that are allowed in the request.
109
+ * @param skills - Optional map of skill name to body for reconstructing skill HumanMessages.
110
+ * When SkillTool is invoked, the body is injected as a HumanMessage into LangGraph state
111
+ * but NOT persisted to conversation history. On follow-up runs the skill body is lost.
112
+ * Pass `skills` to reconstruct the HumanMessage at the right position after each skill
113
+ * ToolMessage. Upstream PRs #96 / #97.
106
114
  * @returns - Object containing formatted messages and updated indexTokenCountMap if provided.
107
115
  */
108
- export declare const formatAgentMessages: (payload: TPayload, indexTokenCountMap?: Record<number, number | undefined>, tools?: Set<string>) => {
116
+ export declare const formatAgentMessages: (payload: TPayload, indexTokenCountMap?: Record<number, number | undefined>, tools?: Set<string>, skills?: Map<string, string>, options?: FormatAgentMessagesOptions) => {
109
117
  messages: Array<HumanMessage | AIMessage | SystemMessage | ToolMessage>;
110
118
  indexTokenCountMap?: Record<number, number>;
111
119
  };
@@ -7,3 +7,5 @@ export * from './content';
7
7
  export * from './tools';
8
8
  export * from './summarize';
9
9
  export * from './dedup';
10
+ export * from './contextPruning';
11
+ export * from './contextPruningSettings';