@illuma-ai/agents 1.5.1 → 2.1.1

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 (319) hide show
  1. package/README.md +0 -62
  2. package/dist/cjs/agents/AgentContext.cjs +160 -259
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  4. package/dist/cjs/common/enum.cjs +12 -12
  5. package/dist/cjs/common/enum.cjs.map +1 -1
  6. package/dist/cjs/graphs/Graph.cjs +30 -13
  7. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  8. package/dist/cjs/graphs/MultiAgentGraph.cjs +1 -1
  9. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  10. package/dist/cjs/graphs/phases/memoryFlushPhase.cjs +1 -1
  11. package/dist/cjs/graphs/phases/memoryFlushPhase.cjs.map +1 -1
  12. package/dist/cjs/hooks/HookRegistry.cjs +1 -1
  13. package/dist/cjs/hooks/HookRegistry.cjs.map +1 -1
  14. package/dist/cjs/hooks/matchers.cjs +2 -2
  15. package/dist/cjs/hooks/matchers.cjs.map +1 -1
  16. package/dist/cjs/hooks/types.cjs +1 -1
  17. package/dist/cjs/hooks/types.cjs.map +1 -1
  18. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +1 -5
  19. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  20. package/dist/cjs/llm/bedrock/index.cjs +33 -61
  21. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  22. package/dist/cjs/llm/openai/index.cjs +1 -1
  23. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  24. package/dist/cjs/llm/openai/utils/index.cjs +10 -27
  25. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  26. package/dist/cjs/main.cjs +3 -84
  27. package/dist/cjs/main.cjs.map +1 -1
  28. package/dist/cjs/memory/citations.cjs +4 -4
  29. package/dist/cjs/memory/citations.cjs.map +1 -1
  30. package/dist/cjs/memory/constants.cjs +17 -17
  31. package/dist/cjs/memory/constants.cjs.map +1 -1
  32. package/dist/cjs/memory/mmr.cjs +1 -1
  33. package/dist/cjs/memory/mmr.cjs.map +1 -1
  34. package/dist/cjs/memory/paths.cjs +1 -1
  35. package/dist/cjs/memory/paths.cjs.map +1 -1
  36. package/dist/cjs/memory/recallTracking.cjs +3 -3
  37. package/dist/cjs/memory/recallTracking.cjs.map +1 -1
  38. package/dist/cjs/memory/temporalDecay.cjs +2 -2
  39. package/dist/cjs/memory/temporalDecay.cjs.map +1 -1
  40. package/dist/cjs/messages/cache.cjs +0 -89
  41. package/dist/cjs/messages/cache.cjs.map +1 -1
  42. package/dist/cjs/messages/format.cjs +13 -71
  43. package/dist/cjs/messages/format.cjs.map +1 -1
  44. package/dist/cjs/tools/BashExecutor.cjs +11 -21
  45. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  46. package/dist/cjs/tools/CodeExecutor.cjs +13 -41
  47. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  48. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +11 -16
  49. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  50. package/dist/cjs/tools/ToolNode.cjs +78 -13
  51. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  52. package/dist/cjs/tools/memory/memoryAppendTool.cjs +1 -1
  53. package/dist/cjs/tools/memory/memoryAppendTool.cjs.map +1 -1
  54. package/dist/cjs/tools/memory/memoryGetTool.cjs +2 -2
  55. package/dist/cjs/tools/memory/memoryGetTool.cjs.map +1 -1
  56. package/dist/cjs/tools/memory/memorySearchTool.cjs +3 -3
  57. package/dist/cjs/tools/memory/memorySearchTool.cjs.map +1 -1
  58. package/dist/cjs/tools/memory/shared.cjs +1 -1
  59. package/dist/cjs/tools/memory/shared.cjs.map +1 -1
  60. package/dist/cjs/tools/search/search.cjs +3 -11
  61. package/dist/cjs/tools/search/search.cjs.map +1 -1
  62. package/dist/cjs/tools/search/tool.cjs +4 -28
  63. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  64. package/dist/cjs/tools/search/utils.cjs +3 -10
  65. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  66. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +48 -0
  67. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  68. package/dist/cjs/types/graph.cjs.map +1 -1
  69. package/dist/esm/agents/AgentContext.mjs +160 -259
  70. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  71. package/dist/esm/common/enum.mjs +12 -12
  72. package/dist/esm/common/enum.mjs.map +1 -1
  73. package/dist/esm/graphs/Graph.mjs +30 -13
  74. package/dist/esm/graphs/Graph.mjs.map +1 -1
  75. package/dist/esm/graphs/MultiAgentGraph.mjs +1 -1
  76. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  77. package/dist/esm/graphs/phases/memoryFlushPhase.mjs +1 -1
  78. package/dist/esm/graphs/phases/memoryFlushPhase.mjs.map +1 -1
  79. package/dist/esm/hooks/HookRegistry.mjs +1 -1
  80. package/dist/esm/hooks/HookRegistry.mjs.map +1 -1
  81. package/dist/esm/hooks/matchers.mjs +2 -2
  82. package/dist/esm/hooks/matchers.mjs.map +1 -1
  83. package/dist/esm/hooks/types.mjs +1 -1
  84. package/dist/esm/hooks/types.mjs.map +1 -1
  85. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +1 -5
  86. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  87. package/dist/esm/llm/bedrock/index.mjs +34 -61
  88. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  89. package/dist/esm/llm/openai/index.mjs +1 -1
  90. package/dist/esm/llm/openai/index.mjs.map +1 -1
  91. package/dist/esm/llm/openai/utils/index.mjs +10 -27
  92. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  93. package/dist/esm/main.mjs +1 -5
  94. package/dist/esm/main.mjs.map +1 -1
  95. package/dist/esm/memory/citations.mjs +4 -4
  96. package/dist/esm/memory/citations.mjs.map +1 -1
  97. package/dist/esm/memory/constants.mjs +17 -17
  98. package/dist/esm/memory/constants.mjs.map +1 -1
  99. package/dist/esm/memory/mmr.mjs +1 -1
  100. package/dist/esm/memory/mmr.mjs.map +1 -1
  101. package/dist/esm/memory/paths.mjs +1 -1
  102. package/dist/esm/memory/paths.mjs.map +1 -1
  103. package/dist/esm/memory/recallTracking.mjs +3 -3
  104. package/dist/esm/memory/recallTracking.mjs.map +1 -1
  105. package/dist/esm/memory/temporalDecay.mjs +2 -2
  106. package/dist/esm/memory/temporalDecay.mjs.map +1 -1
  107. package/dist/esm/messages/cache.mjs +0 -89
  108. package/dist/esm/messages/cache.mjs.map +1 -1
  109. package/dist/esm/messages/format.mjs +13 -71
  110. package/dist/esm/messages/format.mjs.map +1 -1
  111. package/dist/esm/tools/BashExecutor.mjs +12 -22
  112. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  113. package/dist/esm/tools/CodeExecutor.mjs +14 -41
  114. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  115. package/dist/esm/tools/ProgrammaticToolCalling.mjs +12 -17
  116. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  117. package/dist/esm/tools/ToolNode.mjs +78 -13
  118. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  119. package/dist/esm/tools/memory/memoryAppendTool.mjs +1 -1
  120. package/dist/esm/tools/memory/memoryAppendTool.mjs.map +1 -1
  121. package/dist/esm/tools/memory/memoryGetTool.mjs +2 -2
  122. package/dist/esm/tools/memory/memoryGetTool.mjs.map +1 -1
  123. package/dist/esm/tools/memory/memorySearchTool.mjs +3 -3
  124. package/dist/esm/tools/memory/memorySearchTool.mjs.map +1 -1
  125. package/dist/esm/tools/memory/shared.mjs +1 -1
  126. package/dist/esm/tools/memory/shared.mjs.map +1 -1
  127. package/dist/esm/tools/search/search.mjs +3 -11
  128. package/dist/esm/tools/search/search.mjs.map +1 -1
  129. package/dist/esm/tools/search/tool.mjs +4 -28
  130. package/dist/esm/tools/search/tool.mjs.map +1 -1
  131. package/dist/esm/tools/search/utils.mjs +3 -10
  132. package/dist/esm/tools/search/utils.mjs.map +1 -1
  133. package/dist/esm/tools/subagent/SubagentExecutor.mjs +48 -0
  134. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  135. package/dist/esm/types/graph.mjs.map +1 -1
  136. package/dist/types/agents/AgentContext.d.ts +25 -95
  137. package/dist/types/common/enum.d.ts +12 -12
  138. package/dist/types/graphs/Graph.d.ts +2 -2
  139. package/dist/types/graphs/phases/memoryFlushPhase.d.ts +2 -2
  140. package/dist/types/hooks/HookRegistry.d.ts +1 -1
  141. package/dist/types/hooks/matchers.d.ts +2 -2
  142. package/dist/types/hooks/types.d.ts +1 -1
  143. package/dist/types/index.d.ts +0 -1
  144. package/dist/types/llm/bedrock/index.d.ts +1 -54
  145. package/dist/types/llm/openai/index.d.ts +1 -1
  146. package/dist/types/memory/citations.d.ts +4 -4
  147. package/dist/types/memory/constants.d.ts +17 -17
  148. package/dist/types/memory/mmr.d.ts +3 -3
  149. package/dist/types/memory/paths.d.ts +1 -1
  150. package/dist/types/memory/temporalDecay.d.ts +2 -2
  151. package/dist/types/memory/types.d.ts +3 -3
  152. package/dist/types/messages/format.d.ts +2 -5
  153. package/dist/types/tools/CodeExecutor.d.ts +0 -6
  154. package/dist/types/tools/ToolNode.d.ts +3 -3
  155. package/dist/types/tools/memory/shared.d.ts +1 -1
  156. package/dist/types/tools/search/test.d.ts +1 -0
  157. package/dist/types/tools/search/types.d.ts +5 -99
  158. package/dist/types/tools/search/utils.d.ts +2 -2
  159. package/dist/types/tools/subagent/SubagentExecutor.d.ts +29 -0
  160. package/dist/types/types/graph.d.ts +30 -34
  161. package/dist/types/types/index.d.ts +0 -1
  162. package/dist/types/types/messages.d.ts +1 -1
  163. package/dist/types/types/run.d.ts +1 -3
  164. package/dist/types/types/tools.d.ts +5 -14
  165. package/package.json +1 -61
  166. package/src/agents/AgentContext.test.ts +176 -0
  167. package/src/agents/AgentContext.ts +179 -305
  168. package/src/agents/__tests__/AgentContext.test.ts +0 -632
  169. package/src/common/__tests__/enum.test.ts +1 -1
  170. package/src/common/enum.ts +12 -12
  171. package/src/graphs/Graph.ts +32 -13
  172. package/src/graphs/MultiAgentGraph.ts +1 -1
  173. package/src/graphs/gapFeatures.test.ts +1 -1
  174. package/src/graphs/phases/__tests__/memoryFlushPhase.test.ts +1 -1
  175. package/src/graphs/phases/memoryFlushPhase.ts +2 -2
  176. package/src/hooks/HookRegistry.ts +1 -1
  177. package/src/hooks/index.ts +1 -1
  178. package/src/hooks/matchers.ts +2 -2
  179. package/src/hooks/types.ts +1 -1
  180. package/src/index.ts +0 -6
  181. package/src/llm/anthropic/utils/message_inputs.ts +1 -10
  182. package/src/llm/bedrock/__tests__/bedrock-caching.test.ts +18 -166
  183. package/src/llm/bedrock/index.ts +41 -116
  184. package/src/llm/openai/index.ts +2 -2
  185. package/src/llm/openai/utils/index.ts +14 -31
  186. package/src/memory/citations.ts +4 -4
  187. package/src/memory/constants.ts +17 -17
  188. package/src/memory/mmr.ts +3 -3
  189. package/src/memory/paths.ts +1 -1
  190. package/src/memory/recallTracking.ts +3 -3
  191. package/src/memory/temporalDecay.ts +2 -2
  192. package/src/memory/types.ts +3 -3
  193. package/src/messages/cache.test.ts +24 -62
  194. package/src/messages/cache.ts +0 -112
  195. package/src/messages/ensureThinkingBlock.test.ts +1 -1
  196. package/src/messages/format.ts +13 -92
  197. package/src/messages/formatAgentMessages.test.ts +1 -1
  198. package/src/scripts/subagent-configurable-inheritance.ts +263 -0
  199. package/src/scripts/subagent-event-driven-debug.ts +2 -2
  200. package/src/specs/anthropic.simple.test.ts +0 -61
  201. package/src/specs/prune.orphans.test.ts +1 -1
  202. package/src/tools/BashExecutor.ts +13 -37
  203. package/src/tools/CodeExecutor.ts +14 -59
  204. package/src/tools/ProgrammaticToolCalling.ts +14 -29
  205. package/src/tools/ToolNode.ts +75 -14
  206. package/src/tools/__tests__/CodeExecutor.test.ts +3 -3
  207. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -60
  208. package/src/tools/__tests__/SubagentExecutor.test.ts +157 -0
  209. package/src/tools/memory/memoryAppendTool.ts +1 -1
  210. package/src/tools/memory/memoryGetTool.ts +2 -2
  211. package/src/tools/memory/memorySearchTool.ts +3 -3
  212. package/src/tools/memory/shared.ts +1 -1
  213. package/src/tools/search/output.md +2775 -0
  214. package/src/tools/search/search.ts +2 -12
  215. package/src/tools/search/test.html +884 -0
  216. package/src/tools/search/test.md +643 -0
  217. package/src/tools/search/test.ts +159 -0
  218. package/src/tools/search/tool.ts +2 -36
  219. package/src/tools/search/types.ts +8 -133
  220. package/src/tools/search/utils.ts +5 -13
  221. package/src/tools/subagent/SubagentExecutor.ts +78 -0
  222. package/src/types/graph.ts +27 -34
  223. package/src/types/index.ts +0 -1
  224. package/src/types/messages.ts +1 -1
  225. package/src/types/run.ts +1 -3
  226. package/src/types/tools.ts +5 -14
  227. package/dist/cjs/langchain/google-common.cjs +0 -3
  228. package/dist/cjs/langchain/google-common.cjs.map +0 -1
  229. package/dist/cjs/langchain/index.cjs +0 -86
  230. package/dist/cjs/langchain/index.cjs.map +0 -1
  231. package/dist/cjs/langchain/language_models/chat_models.cjs +0 -3
  232. package/dist/cjs/langchain/language_models/chat_models.cjs.map +0 -1
  233. package/dist/cjs/langchain/messages/tool.cjs +0 -3
  234. package/dist/cjs/langchain/messages/tool.cjs.map +0 -1
  235. package/dist/cjs/langchain/messages.cjs +0 -51
  236. package/dist/cjs/langchain/messages.cjs.map +0 -1
  237. package/dist/cjs/langchain/openai.cjs +0 -3
  238. package/dist/cjs/langchain/openai.cjs.map +0 -1
  239. package/dist/cjs/langchain/prompts.cjs +0 -11
  240. package/dist/cjs/langchain/prompts.cjs.map +0 -1
  241. package/dist/cjs/langchain/runnables.cjs +0 -19
  242. package/dist/cjs/langchain/runnables.cjs.map +0 -1
  243. package/dist/cjs/langchain/tools.cjs +0 -23
  244. package/dist/cjs/langchain/tools.cjs.map +0 -1
  245. package/dist/cjs/langchain/utils/env.cjs +0 -11
  246. package/dist/cjs/langchain/utils/env.cjs.map +0 -1
  247. package/dist/cjs/llm/bedrock/cacheSupport.cjs +0 -55
  248. package/dist/cjs/llm/bedrock/cacheSupport.cjs.map +0 -1
  249. package/dist/cjs/tools/search/tavily-scraper.cjs +0 -189
  250. package/dist/cjs/tools/search/tavily-scraper.cjs.map +0 -1
  251. package/dist/cjs/tools/search/tavily-search.cjs +0 -372
  252. package/dist/cjs/tools/search/tavily-search.cjs.map +0 -1
  253. package/dist/cjs/types/agent-cache.cjs +0 -54
  254. package/dist/cjs/types/agent-cache.cjs.map +0 -1
  255. package/dist/esm/langchain/google-common.mjs +0 -2
  256. package/dist/esm/langchain/google-common.mjs.map +0 -1
  257. package/dist/esm/langchain/index.mjs +0 -5
  258. package/dist/esm/langchain/index.mjs.map +0 -1
  259. package/dist/esm/langchain/language_models/chat_models.mjs +0 -2
  260. package/dist/esm/langchain/language_models/chat_models.mjs.map +0 -1
  261. package/dist/esm/langchain/messages/tool.mjs +0 -2
  262. package/dist/esm/langchain/messages/tool.mjs.map +0 -1
  263. package/dist/esm/langchain/messages.mjs +0 -2
  264. package/dist/esm/langchain/messages.mjs.map +0 -1
  265. package/dist/esm/langchain/openai.mjs +0 -2
  266. package/dist/esm/langchain/openai.mjs.map +0 -1
  267. package/dist/esm/langchain/prompts.mjs +0 -2
  268. package/dist/esm/langchain/prompts.mjs.map +0 -1
  269. package/dist/esm/langchain/runnables.mjs +0 -2
  270. package/dist/esm/langchain/runnables.mjs.map +0 -1
  271. package/dist/esm/langchain/tools.mjs +0 -2
  272. package/dist/esm/langchain/tools.mjs.map +0 -1
  273. package/dist/esm/langchain/utils/env.mjs +0 -2
  274. package/dist/esm/langchain/utils/env.mjs.map +0 -1
  275. package/dist/esm/llm/bedrock/cacheSupport.mjs +0 -52
  276. package/dist/esm/llm/bedrock/cacheSupport.mjs.map +0 -1
  277. package/dist/esm/tools/search/tavily-scraper.mjs +0 -186
  278. package/dist/esm/tools/search/tavily-scraper.mjs.map +0 -1
  279. package/dist/esm/tools/search/tavily-search.mjs +0 -370
  280. package/dist/esm/tools/search/tavily-search.mjs.map +0 -1
  281. package/dist/esm/types/agent-cache.mjs +0 -52
  282. package/dist/esm/types/agent-cache.mjs.map +0 -1
  283. package/dist/types/langchain/google-common.d.ts +0 -1
  284. package/dist/types/langchain/index.d.ts +0 -8
  285. package/dist/types/langchain/language_models/chat_models.d.ts +0 -1
  286. package/dist/types/langchain/messages/tool.d.ts +0 -1
  287. package/dist/types/langchain/messages.d.ts +0 -2
  288. package/dist/types/langchain/openai.d.ts +0 -1
  289. package/dist/types/langchain/prompts.d.ts +0 -1
  290. package/dist/types/langchain/runnables.d.ts +0 -2
  291. package/dist/types/langchain/tools.d.ts +0 -2
  292. package/dist/types/langchain/utils/env.d.ts +0 -1
  293. package/dist/types/llm/bedrock/cacheSupport.d.ts +0 -35
  294. package/dist/types/tools/search/tavily-scraper.d.ts +0 -19
  295. package/dist/types/tools/search/tavily-search.d.ts +0 -4
  296. package/dist/types/tools/subagent/types.d.ts +0 -84
  297. package/dist/types/types/agent-cache.d.ts +0 -71
  298. package/src/agents/__tests__/AgentContext.cacheTtl.live.test.ts +0 -259
  299. package/src/agents/__tests__/AgentContext.crossAgentTier1.live.test.ts +0 -266
  300. package/src/agents/__tests__/AgentContext.crossUserCache.live.test.ts +0 -342
  301. package/src/langchain/google-common.ts +0 -1
  302. package/src/langchain/index.ts +0 -8
  303. package/src/langchain/language_models/chat_models.ts +0 -1
  304. package/src/langchain/messages/tool.ts +0 -5
  305. package/src/langchain/messages.ts +0 -21
  306. package/src/langchain/openai.ts +0 -1
  307. package/src/langchain/prompts.ts +0 -1
  308. package/src/langchain/runnables.ts +0 -7
  309. package/src/langchain/tools.ts +0 -8
  310. package/src/langchain/utils/env.ts +0 -1
  311. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -436
  312. package/src/llm/bedrock/cacheSupport.test.ts +0 -99
  313. package/src/llm/bedrock/cacheSupport.ts +0 -53
  314. package/src/tools/search/tavily-scraper.ts +0 -235
  315. package/src/tools/search/tavily-search.ts +0 -424
  316. package/src/tools/search/tavily.test.ts +0 -965
  317. package/src/tools/subagent/types.test.ts +0 -70
  318. package/src/tools/subagent/types.ts +0 -115
  319. package/src/types/agent-cache.ts +0 -74
@@ -1,370 +0,0 @@
1
- import axios from 'axios';
2
-
3
- const DEFAULT_TAVILY_TIMEOUT = 15000;
4
- const TAVILY_COUNTRY_ALIASES = {
5
- ba: 'bosnia and herzegovina',
6
- cg: 'congo',
7
- cz: 'czech republic',
8
- gb: 'united kingdom',
9
- mm: 'myanmar',
10
- tr: 'turkey',
11
- tt: 'trinidad and tobago',
12
- uk: 'united kingdom',
13
- };
14
- const TAVILY_SUPPORTED_COUNTRIES = new Set([
15
- 'afghanistan',
16
- 'albania',
17
- 'algeria',
18
- 'andorra',
19
- 'angola',
20
- 'argentina',
21
- 'armenia',
22
- 'australia',
23
- 'austria',
24
- 'azerbaijan',
25
- 'bahamas',
26
- 'bahrain',
27
- 'bangladesh',
28
- 'barbados',
29
- 'belarus',
30
- 'belgium',
31
- 'belize',
32
- 'benin',
33
- 'bhutan',
34
- 'bolivia',
35
- 'bosnia and herzegovina',
36
- 'botswana',
37
- 'brazil',
38
- 'brunei',
39
- 'bulgaria',
40
- 'burkina faso',
41
- 'burundi',
42
- 'cambodia',
43
- 'cameroon',
44
- 'canada',
45
- 'cape verde',
46
- 'central african republic',
47
- 'chad',
48
- 'chile',
49
- 'china',
50
- 'colombia',
51
- 'comoros',
52
- 'congo',
53
- 'costa rica',
54
- 'croatia',
55
- 'cuba',
56
- 'cyprus',
57
- 'czech republic',
58
- 'denmark',
59
- 'djibouti',
60
- 'dominican republic',
61
- 'ecuador',
62
- 'egypt',
63
- 'el salvador',
64
- 'equatorial guinea',
65
- 'eritrea',
66
- 'estonia',
67
- 'ethiopia',
68
- 'fiji',
69
- 'finland',
70
- 'france',
71
- 'gabon',
72
- 'gambia',
73
- 'georgia',
74
- 'germany',
75
- 'ghana',
76
- 'greece',
77
- 'guatemala',
78
- 'guinea',
79
- 'haiti',
80
- 'honduras',
81
- 'hungary',
82
- 'iceland',
83
- 'india',
84
- 'indonesia',
85
- 'iran',
86
- 'iraq',
87
- 'ireland',
88
- 'israel',
89
- 'italy',
90
- 'jamaica',
91
- 'japan',
92
- 'jordan',
93
- 'kazakhstan',
94
- 'kenya',
95
- 'kuwait',
96
- 'kyrgyzstan',
97
- 'latvia',
98
- 'lebanon',
99
- 'lesotho',
100
- 'liberia',
101
- 'libya',
102
- 'liechtenstein',
103
- 'lithuania',
104
- 'luxembourg',
105
- 'madagascar',
106
- 'malawi',
107
- 'malaysia',
108
- 'maldives',
109
- 'mali',
110
- 'malta',
111
- 'mauritania',
112
- 'mauritius',
113
- 'mexico',
114
- 'moldova',
115
- 'monaco',
116
- 'mongolia',
117
- 'montenegro',
118
- 'morocco',
119
- 'mozambique',
120
- 'myanmar',
121
- 'namibia',
122
- 'nepal',
123
- 'netherlands',
124
- 'new zealand',
125
- 'nicaragua',
126
- 'niger',
127
- 'nigeria',
128
- 'north korea',
129
- 'north macedonia',
130
- 'norway',
131
- 'oman',
132
- 'pakistan',
133
- 'panama',
134
- 'papua new guinea',
135
- 'paraguay',
136
- 'peru',
137
- 'philippines',
138
- 'poland',
139
- 'portugal',
140
- 'qatar',
141
- 'romania',
142
- 'russia',
143
- 'rwanda',
144
- 'saudi arabia',
145
- 'senegal',
146
- 'serbia',
147
- 'singapore',
148
- 'slovakia',
149
- 'slovenia',
150
- 'somalia',
151
- 'south africa',
152
- 'south korea',
153
- 'south sudan',
154
- 'spain',
155
- 'sri lanka',
156
- 'sudan',
157
- 'sweden',
158
- 'switzerland',
159
- 'syria',
160
- 'taiwan',
161
- 'tajikistan',
162
- 'tanzania',
163
- 'thailand',
164
- 'togo',
165
- 'trinidad and tobago',
166
- 'tunisia',
167
- 'turkey',
168
- 'turkmenistan',
169
- 'uganda',
170
- 'ukraine',
171
- 'united arab emirates',
172
- 'united kingdom',
173
- 'united states',
174
- 'uruguay',
175
- 'uzbekistan',
176
- 'venezuela',
177
- 'vietnam',
178
- 'yemen',
179
- 'zambia',
180
- 'zimbabwe',
181
- ]);
182
- const TAVILY_REGION_NAMES = new Intl.DisplayNames(['en'], {
183
- type: 'region',
184
- });
185
- const normalizeTavilyCountryName = (country) => country
186
- .toLowerCase()
187
- .replace(/\s*\([^)]*\)/g, '')
188
- .replace(/\s*&\s*/g, ' and ')
189
- .normalize('NFD')
190
- .replace(/\p{Diacritic}/gu, '');
191
- const normalizeTavilyCountry = (country) => {
192
- const normalizedCountry = country?.trim().toLowerCase();
193
- if (normalizedCountry == null || normalizedCountry === '') {
194
- return undefined;
195
- }
196
- const countryAlias = TAVILY_COUNTRY_ALIASES[normalizedCountry];
197
- if (countryAlias != null) {
198
- return TAVILY_SUPPORTED_COUNTRIES.has(countryAlias)
199
- ? countryAlias
200
- : undefined;
201
- }
202
- if (/^[a-z]{2}$/.test(normalizedCountry)) {
203
- const regionName = TAVILY_REGION_NAMES.of(normalizedCountry.toUpperCase());
204
- if (regionName == null) {
205
- return undefined;
206
- }
207
- const countryName = normalizeTavilyCountryName(regionName);
208
- return TAVILY_SUPPORTED_COUNTRIES.has(countryName)
209
- ? countryName
210
- : undefined;
211
- }
212
- const countryName = normalizeTavilyCountryName(normalizedCountry);
213
- return TAVILY_SUPPORTED_COUNTRIES.has(countryName) ? countryName : undefined;
214
- };
215
- const normalizeTavilyTimeRange = (timeRange) => {
216
- switch (timeRange) {
217
- case 'h':
218
- case 'd':
219
- return 'day';
220
- case 'w':
221
- return 'week';
222
- case 'm':
223
- return 'month';
224
- case 'y':
225
- return 'year';
226
- case 'day':
227
- case 'week':
228
- case 'month':
229
- case 'year':
230
- return timeRange;
231
- default:
232
- return undefined;
233
- }
234
- };
235
- const getHostname = (link) => {
236
- try {
237
- return new URL(link).hostname;
238
- }
239
- catch {
240
- return link;
241
- }
242
- };
243
- const createTavilyAPI = (apiKey, apiUrl, options) => {
244
- const config = {
245
- apiKey: apiKey ?? process.env.TAVILY_API_KEY,
246
- apiUrl: apiUrl ??
247
- process.env.TAVILY_SEARCH_URL ??
248
- 'https://api.tavily.com/search',
249
- timeout: options?.timeout ?? DEFAULT_TAVILY_TIMEOUT,
250
- };
251
- if (config.apiKey == null || config.apiKey === '') {
252
- throw new Error('TAVILY_API_KEY is required for Tavily API');
253
- }
254
- const getSources = async ({ query, date, country, numResults = 8, type, news, }) => {
255
- if (!query.trim()) {
256
- return { success: false, error: 'Query cannot be empty' };
257
- }
258
- try {
259
- const timeRange = normalizeTavilyTimeRange(options?.timeRange) ??
260
- (date != null ? (normalizeTavilyTimeRange(date) ?? 'day') : undefined);
261
- const topic = news === true || type === 'news'
262
- ? 'news'
263
- : (options?.topic ?? 'general');
264
- const maxResults = options?.maxResults ?? numResults;
265
- const searchDepth = options?.searchDepth ?? 'basic';
266
- const payload = {
267
- query,
268
- search_depth: searchDepth,
269
- topic,
270
- max_results: Math.min(Math.max(1, maxResults), 20),
271
- };
272
- if (options?.safeSearch != null &&
273
- searchDepth !== 'fast' &&
274
- searchDepth !== 'ultra-fast') {
275
- payload.safe_search = options.safeSearch;
276
- }
277
- if (timeRange != null) {
278
- payload.time_range = timeRange;
279
- }
280
- const tavilyCountry = topic === 'general' ? normalizeTavilyCountry(country) : undefined;
281
- if (tavilyCountry != null) {
282
- payload.country = tavilyCountry;
283
- }
284
- if (type === 'images' || options?.includeImages) {
285
- payload.include_images = true;
286
- }
287
- if (options?.includeAnswer != null) {
288
- payload.include_answer = options.includeAnswer;
289
- }
290
- if (options?.includeRawContent != null) {
291
- payload.include_raw_content = options.includeRawContent;
292
- }
293
- if (options?.includeDomains != null &&
294
- options.includeDomains.length > 0) {
295
- payload.include_domains = options.includeDomains;
296
- }
297
- if (options?.excludeDomains != null &&
298
- options.excludeDomains.length > 0) {
299
- payload.exclude_domains = options.excludeDomains;
300
- }
301
- if (options?.includeImageDescriptions != null) {
302
- payload.include_image_descriptions = options.includeImageDescriptions;
303
- }
304
- if (options?.includeFavicon != null) {
305
- payload.include_favicon = options.includeFavicon;
306
- }
307
- if (options?.chunksPerSource != null && searchDepth === 'advanced') {
308
- payload.chunks_per_source = options.chunksPerSource;
309
- }
310
- const response = await axios.post(config.apiUrl, payload, {
311
- headers: {
312
- Authorization: `Bearer ${config.apiKey}`,
313
- 'Content-Type': 'application/json',
314
- },
315
- timeout: config.timeout,
316
- });
317
- const data = response.data;
318
- const organicResults = (data.results ?? []).map((result) => ({
319
- title: result.title ?? '',
320
- link: result.url ?? '',
321
- snippet: result.content ?? '',
322
- date: result.published_date,
323
- }));
324
- const imageResults = Array.isArray(data.images)
325
- ? data.images.slice(0, 6).reduce((acc, image) => {
326
- const imageUrl = typeof image === 'string' ? image : image.url;
327
- if (imageUrl == null || imageUrl === '') {
328
- return acc;
329
- }
330
- acc.push({
331
- imageUrl,
332
- title: typeof image === 'string' ? undefined : image.description,
333
- position: acc.length + 1,
334
- });
335
- return acc;
336
- }, [])
337
- : [];
338
- const newsResults = topic === 'news'
339
- ? organicResults.map((r) => ({
340
- title: r.title,
341
- link: r.link,
342
- snippet: r.snippet,
343
- date: r.date,
344
- source: getHostname(r.link),
345
- }))
346
- : [];
347
- const results = {
348
- organic: organicResults,
349
- images: imageResults,
350
- topStories: [],
351
- videos: [],
352
- news: newsResults,
353
- answerBox: data.answer != null ? { snippet: data.answer } : undefined,
354
- relatedSearches: [],
355
- };
356
- return { success: true, data: results };
357
- }
358
- catch (error) {
359
- const errorMessage = error instanceof Error ? error.message : String(error);
360
- return {
361
- success: false,
362
- error: `Tavily API request failed: ${errorMessage}`,
363
- };
364
- }
365
- };
366
- return { getSources };
367
- };
368
-
369
- export { createTavilyAPI };
370
- //# sourceMappingURL=tavily-search.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tavily-search.mjs","sources":["../../../../src/tools/search/tavily-search.ts"],"sourcesContent":["import axios from 'axios';\nimport type * as t from './types';\n\nconst DEFAULT_TAVILY_TIMEOUT = 15000;\n\nconst TAVILY_COUNTRY_ALIASES: Record<string, string> = {\n ba: 'bosnia and herzegovina',\n cg: 'congo',\n cz: 'czech republic',\n gb: 'united kingdom',\n mm: 'myanmar',\n tr: 'turkey',\n tt: 'trinidad and tobago',\n uk: 'united kingdom',\n};\n\nconst TAVILY_SUPPORTED_COUNTRIES = new Set([\n 'afghanistan',\n 'albania',\n 'algeria',\n 'andorra',\n 'angola',\n 'argentina',\n 'armenia',\n 'australia',\n 'austria',\n 'azerbaijan',\n 'bahamas',\n 'bahrain',\n 'bangladesh',\n 'barbados',\n 'belarus',\n 'belgium',\n 'belize',\n 'benin',\n 'bhutan',\n 'bolivia',\n 'bosnia and herzegovina',\n 'botswana',\n 'brazil',\n 'brunei',\n 'bulgaria',\n 'burkina faso',\n 'burundi',\n 'cambodia',\n 'cameroon',\n 'canada',\n 'cape verde',\n 'central african republic',\n 'chad',\n 'chile',\n 'china',\n 'colombia',\n 'comoros',\n 'congo',\n 'costa rica',\n 'croatia',\n 'cuba',\n 'cyprus',\n 'czech republic',\n 'denmark',\n 'djibouti',\n 'dominican republic',\n 'ecuador',\n 'egypt',\n 'el salvador',\n 'equatorial guinea',\n 'eritrea',\n 'estonia',\n 'ethiopia',\n 'fiji',\n 'finland',\n 'france',\n 'gabon',\n 'gambia',\n 'georgia',\n 'germany',\n 'ghana',\n 'greece',\n 'guatemala',\n 'guinea',\n 'haiti',\n 'honduras',\n 'hungary',\n 'iceland',\n 'india',\n 'indonesia',\n 'iran',\n 'iraq',\n 'ireland',\n 'israel',\n 'italy',\n 'jamaica',\n 'japan',\n 'jordan',\n 'kazakhstan',\n 'kenya',\n 'kuwait',\n 'kyrgyzstan',\n 'latvia',\n 'lebanon',\n 'lesotho',\n 'liberia',\n 'libya',\n 'liechtenstein',\n 'lithuania',\n 'luxembourg',\n 'madagascar',\n 'malawi',\n 'malaysia',\n 'maldives',\n 'mali',\n 'malta',\n 'mauritania',\n 'mauritius',\n 'mexico',\n 'moldova',\n 'monaco',\n 'mongolia',\n 'montenegro',\n 'morocco',\n 'mozambique',\n 'myanmar',\n 'namibia',\n 'nepal',\n 'netherlands',\n 'new zealand',\n 'nicaragua',\n 'niger',\n 'nigeria',\n 'north korea',\n 'north macedonia',\n 'norway',\n 'oman',\n 'pakistan',\n 'panama',\n 'papua new guinea',\n 'paraguay',\n 'peru',\n 'philippines',\n 'poland',\n 'portugal',\n 'qatar',\n 'romania',\n 'russia',\n 'rwanda',\n 'saudi arabia',\n 'senegal',\n 'serbia',\n 'singapore',\n 'slovakia',\n 'slovenia',\n 'somalia',\n 'south africa',\n 'south korea',\n 'south sudan',\n 'spain',\n 'sri lanka',\n 'sudan',\n 'sweden',\n 'switzerland',\n 'syria',\n 'taiwan',\n 'tajikistan',\n 'tanzania',\n 'thailand',\n 'togo',\n 'trinidad and tobago',\n 'tunisia',\n 'turkey',\n 'turkmenistan',\n 'uganda',\n 'ukraine',\n 'united arab emirates',\n 'united kingdom',\n 'united states',\n 'uruguay',\n 'uzbekistan',\n 'venezuela',\n 'vietnam',\n 'yemen',\n 'zambia',\n 'zimbabwe',\n]);\n\nconst TAVILY_REGION_NAMES = new Intl.DisplayNames(['en'], {\n type: 'region',\n});\n\nconst normalizeTavilyCountryName = (country: string): string =>\n country\n .toLowerCase()\n .replace(/\\s*\\([^)]*\\)/g, '')\n .replace(/\\s*&\\s*/g, ' and ')\n .normalize('NFD')\n .replace(/\\p{Diacritic}/gu, '');\n\nconst normalizeTavilyCountry = (country?: string): string | undefined => {\n const normalizedCountry = country?.trim().toLowerCase();\n if (normalizedCountry == null || normalizedCountry === '') {\n return undefined;\n }\n\n const countryAlias = TAVILY_COUNTRY_ALIASES[normalizedCountry];\n if (countryAlias != null) {\n return TAVILY_SUPPORTED_COUNTRIES.has(countryAlias)\n ? countryAlias\n : undefined;\n }\n\n if (/^[a-z]{2}$/.test(normalizedCountry)) {\n const regionName = TAVILY_REGION_NAMES.of(normalizedCountry.toUpperCase());\n if (regionName == null) {\n return undefined;\n }\n const countryName = normalizeTavilyCountryName(regionName);\n return TAVILY_SUPPORTED_COUNTRIES.has(countryName)\n ? countryName\n : undefined;\n }\n\n const countryName = normalizeTavilyCountryName(normalizedCountry);\n return TAVILY_SUPPORTED_COUNTRIES.has(countryName) ? countryName : undefined;\n};\n\nconst normalizeTavilyTimeRange = (\n timeRange?: t.TavilyTimeRangeInput\n): t.TavilyTimeRange | undefined => {\n switch (timeRange) {\n case 'h':\n case 'd':\n return 'day';\n case 'w':\n return 'week';\n case 'm':\n return 'month';\n case 'y':\n return 'year';\n case 'day':\n case 'week':\n case 'month':\n case 'year':\n return timeRange;\n default:\n return undefined;\n }\n};\n\nconst getHostname = (link: string): string => {\n try {\n return new URL(link).hostname;\n } catch {\n return link;\n }\n};\n\nexport const createTavilyAPI = (\n apiKey?: string,\n apiUrl?: string,\n options?: t.TavilySearchOptions\n): {\n getSources: (params: t.GetSourcesParams) => Promise<t.SearchResult>;\n} => {\n const config = {\n apiKey: apiKey ?? process.env.TAVILY_API_KEY,\n apiUrl:\n apiUrl ??\n process.env.TAVILY_SEARCH_URL ??\n 'https://api.tavily.com/search',\n timeout: options?.timeout ?? DEFAULT_TAVILY_TIMEOUT,\n };\n\n if (config.apiKey == null || config.apiKey === '') {\n throw new Error('TAVILY_API_KEY is required for Tavily API');\n }\n\n const getSources = async ({\n query,\n date,\n country,\n numResults = 8,\n type,\n news,\n }: t.GetSourcesParams): Promise<t.SearchResult> => {\n if (!query.trim()) {\n return { success: false, error: 'Query cannot be empty' };\n }\n\n try {\n const timeRange =\n normalizeTavilyTimeRange(options?.timeRange) ??\n (date != null ? (normalizeTavilyTimeRange(date) ?? 'day') : undefined);\n const topic =\n news === true || type === 'news'\n ? 'news'\n : (options?.topic ?? 'general');\n const maxResults = options?.maxResults ?? numResults;\n const searchDepth = options?.searchDepth ?? 'basic';\n\n const payload: t.TavilySearchPayload = {\n query,\n search_depth: searchDepth,\n topic,\n max_results: Math.min(Math.max(1, maxResults), 20),\n };\n\n if (\n options?.safeSearch != null &&\n searchDepth !== 'fast' &&\n searchDepth !== 'ultra-fast'\n ) {\n payload.safe_search = options.safeSearch;\n }\n if (timeRange != null) {\n payload.time_range = timeRange;\n }\n const tavilyCountry =\n topic === 'general' ? normalizeTavilyCountry(country) : undefined;\n if (tavilyCountry != null) {\n payload.country = tavilyCountry;\n }\n if (type === 'images' || options?.includeImages) {\n payload.include_images = true;\n }\n if (options?.includeAnswer != null) {\n payload.include_answer = options.includeAnswer;\n }\n if (options?.includeRawContent != null) {\n payload.include_raw_content = options.includeRawContent;\n }\n if (\n options?.includeDomains != null &&\n options.includeDomains.length > 0\n ) {\n payload.include_domains = options.includeDomains;\n }\n if (\n options?.excludeDomains != null &&\n options.excludeDomains.length > 0\n ) {\n payload.exclude_domains = options.excludeDomains;\n }\n if (options?.includeImageDescriptions != null) {\n payload.include_image_descriptions = options.includeImageDescriptions;\n }\n if (options?.includeFavicon != null) {\n payload.include_favicon = options.includeFavicon;\n }\n if (options?.chunksPerSource != null && searchDepth === 'advanced') {\n payload.chunks_per_source = options.chunksPerSource;\n }\n\n const response = await axios.post<t.TavilySearchResponse>(\n config.apiUrl,\n payload,\n {\n headers: {\n Authorization: `Bearer ${config.apiKey}`,\n 'Content-Type': 'application/json',\n },\n timeout: config.timeout,\n }\n );\n\n const data = response.data;\n\n const organicResults: t.OrganicResult[] = (data.results ?? []).map(\n (result: t.TavilySearchResult) => ({\n title: result.title ?? '',\n link: result.url ?? '',\n snippet: result.content ?? '',\n date: result.published_date,\n })\n );\n\n const imageResults: t.ImageResult[] = Array.isArray(data.images)\n ? data.images.slice(0, 6).reduce<t.ImageResult[]>((acc, image) => {\n const imageUrl = typeof image === 'string' ? image : image.url;\n if (imageUrl == null || imageUrl === '') {\n return acc;\n }\n acc.push({\n imageUrl,\n title: typeof image === 'string' ? undefined : image.description,\n position: acc.length + 1,\n });\n return acc;\n }, [])\n : [];\n\n const newsResults: t.NewsResult[] =\n topic === 'news'\n ? organicResults.map((r) => ({\n title: r.title,\n link: r.link,\n snippet: r.snippet,\n date: r.date,\n source: getHostname(r.link),\n }))\n : [];\n\n const results: t.SearchResultData = {\n organic: organicResults,\n images: imageResults,\n topStories: [],\n videos: [],\n news: newsResults,\n answerBox: data.answer != null ? { snippet: data.answer } : undefined,\n relatedSearches: [],\n };\n\n return { success: true, data: results };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n return {\n success: false,\n error: `Tavily API request failed: ${errorMessage}`,\n };\n }\n };\n\n return { getSources };\n};\n"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Agent system-message prompt-cache types.
3
- * ==========================================
4
- *
5
- * `@illuma-ai/agents` exposes a generic primitive — `system_cache_blocks` —
6
- * for composing a system message that gets explicit cache markers
7
- * (cachePoint on Bedrock, cache_control on Anthropic) at consumer-defined
8
- * boundaries. The library encodes each entry into the right wire format
9
- * for the active provider; consumers decide what content to put in each
10
- * block.
11
- *
12
- * Why this is generic rather than tier-named
13
- * ------------------------------------------------
14
- * Earlier iterations exposed `platform_instructions` and `cache_ttl:
15
- * { platform, agent }` — vocabulary borrowed from a specific consumer's
16
- * multi-tenant chat-platform mental model. That leaked one consumer's
17
- * domain into the library and made it confusing for other consumers
18
- * (CLI tools, desktop apps, gateways) which have no notion of
19
- * "platforms" or "agents".
20
- *
21
- * The current shape lets every consumer define their own cache-tier
22
- * organization without the library knowing or caring.
23
- *
24
- * Cache key composition
25
- * ---------------------
26
- * Both Anthropic and Bedrock hash the message bytes leading up to each
27
- * cache marker. So entry N's cache key is the concatenation of bytes
28
- * 0..N. Stable content (universal rules, framework docs) goes earlier;
29
- * volatile content (per-agent identity, per-tool docs) goes later. The
30
- * earlier entries get cross-tenant cache hits; the later entries get
31
- * narrower hits.
32
- *
33
- * Provider budget
34
- * ---------------
35
- * Bedrock's Converse API supports up to 4 cachePoint blocks per request.
36
- * The default tools-array cache strategy (see `IllumaBedrockConverse`)
37
- * uses up to 2 of those. So at most 2 entries should appear in
38
- * `system_cache_blocks` to leave budget for the trailing
39
- * `instructions` block. The library throws on more than 2.
40
- *
41
- * Anthropic supports up to 4 cache breakpoints per request workspace-wide;
42
- * the same constraint applies to keep tools + system within budget.
43
- */
44
- /**
45
- * Maximum number of `system_cache_blocks` entries the library accepts.
46
- * Higher than this would exceed Bedrock's 4-cachePoint budget once the
47
- * tools array and trailing `instructions` block are counted.
48
- */
49
- const MAX_SYSTEM_CACHE_BLOCKS = 2;
50
-
51
- export { MAX_SYSTEM_CACHE_BLOCKS };
52
- //# sourceMappingURL=agent-cache.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-cache.mjs","sources":["../../../src/types/agent-cache.ts"],"sourcesContent":["/**\n * Agent system-message prompt-cache types.\n * ==========================================\n *\n * `@illuma-ai/agents` exposes a generic primitive — `system_cache_blocks` —\n * for composing a system message that gets explicit cache markers\n * (cachePoint on Bedrock, cache_control on Anthropic) at consumer-defined\n * boundaries. The library encodes each entry into the right wire format\n * for the active provider; consumers decide what content to put in each\n * block.\n *\n * Why this is generic rather than tier-named\n * ------------------------------------------------\n * Earlier iterations exposed `platform_instructions` and `cache_ttl:\n * { platform, agent }` — vocabulary borrowed from a specific consumer's\n * multi-tenant chat-platform mental model. That leaked one consumer's\n * domain into the library and made it confusing for other consumers\n * (CLI tools, desktop apps, gateways) which have no notion of\n * \"platforms\" or \"agents\".\n *\n * The current shape lets every consumer define their own cache-tier\n * organization without the library knowing or caring.\n *\n * Cache key composition\n * ---------------------\n * Both Anthropic and Bedrock hash the message bytes leading up to each\n * cache marker. So entry N's cache key is the concatenation of bytes\n * 0..N. Stable content (universal rules, framework docs) goes earlier;\n * volatile content (per-agent identity, per-tool docs) goes later. The\n * earlier entries get cross-tenant cache hits; the later entries get\n * narrower hits.\n *\n * Provider budget\n * ---------------\n * Bedrock's Converse API supports up to 4 cachePoint blocks per request.\n * The default tools-array cache strategy (see `IllumaBedrockConverse`)\n * uses up to 2 of those. So at most 2 entries should appear in\n * `system_cache_blocks` to leave budget for the trailing\n * `instructions` block. The library throws on more than 2.\n *\n * Anthropic supports up to 4 cache breakpoints per request workspace-wide;\n * the same constraint applies to keep tools + system within budget.\n */\n\n/** Provider TTL hint applied to a cachePoint / cache_control marker. */\nexport type AgentCacheTTL = '5m' | '1h';\n\n/**\n * One cacheable system content block. Each entry produces a text block\n * followed by a provider-specific cache marker in the assembled system\n * message. Entries are emitted in array order — earlier = more stable\n * = wider cache key.\n */\nexport interface SystemCacheBlock {\n /**\n * Text payload. Caller is responsible for keeping this byte-stable\n * across requests that should share a cache entry. ANY change to\n * these bytes invalidates every cache key that includes this entry.\n */\n text: string;\n /**\n * Optional TTL hint for the cache marker. Defaults to '5m' when\n * omitted. '1h' costs more to write (2× base vs 1.25×) but survives\n * longer idle, which is the right tradeoff for low-traffic blocks.\n */\n ttl?: AgentCacheTTL;\n}\n\n/**\n * Maximum number of `system_cache_blocks` entries the library accepts.\n * Higher than this would exceed Bedrock's 4-cachePoint budget once the\n * tools array and trailing `instructions` block are counted.\n */\nexport const MAX_SYSTEM_CACHE_BLOCKS = 2;\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CG;AA0BH;;;;AAIG;AACI,MAAM,uBAAuB,GAAG;;;;"}
@@ -1 +0,0 @@
1
- export type { GoogleAIToolType } from '@langchain/google-common';
@@ -1,8 +0,0 @@
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';
@@ -1 +0,0 @@
1
- export type { BindToolsInput } from '@langchain/core/language_models/chat_models';
@@ -1 +0,0 @@
1
- export type { InvalidToolCall, ToolCall, ToolCallChunk, } from '@langchain/core/messages/tool';
@@ -1,2 +0,0 @@
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';
@@ -1 +0,0 @@
1
- export type { AzureOpenAIInput } from '@langchain/openai';
@@ -1 +0,0 @@
1
- export { PromptTemplate } from '@langchain/core/prompts';
@@ -1,2 +0,0 @@
1
- export { Runnable, RunnableLambda, RunnableSequence, } from '@langchain/core/runnables';
2
- export type { RunnableConfig } from '@langchain/core/runnables';
@@ -1,2 +0,0 @@
1
- export { DynamicStructuredTool, StructuredTool, Tool, tool, } from '@langchain/core/tools';
2
- export type { StructuredToolInterface } from '@langchain/core/tools';
@@ -1 +0,0 @@
1
- export { getEnvironmentVariable } from '@langchain/core/utils/env';
@@ -1,35 +0,0 @@
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 reference 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;
@@ -1,19 +0,0 @@
1
- import type * as t from './types';
2
- export declare class TavilyScraper implements t.BaseScraper {
3
- private apiKey;
4
- private apiUrl;
5
- private timeout;
6
- private payloadTimeout;
7
- private logger;
8
- private extractDepth;
9
- private includeImages;
10
- private includeFavicon;
11
- private format;
12
- constructor(config?: t.TavilyScraperConfig);
13
- scrapeUrl(url: string, options?: t.TavilyScrapeOptions): Promise<[string, t.TavilyScrapeResponse]>;
14
- scrapeUrls(urls: string[], options?: t.TavilyScrapeOptions): Promise<Array<[string, t.TavilyScrapeResponse]>>;
15
- private extractBatch;
16
- extractContent(response: t.TavilyScrapeResponse): [string, undefined | t.References];
17
- extractMetadata(response: t.TavilyScrapeResponse): t.GenericScrapeMetadata;
18
- }
19
- export declare const createTavilyScraper: (config?: t.TavilyScraperConfig) => TavilyScraper;
@@ -1,4 +0,0 @@
1
- import type * as t from './types';
2
- export declare const createTavilyAPI: (apiKey?: string, apiUrl?: string, options?: t.TavilySearchOptions) => {
3
- getSources: (params: t.GetSourcesParams) => Promise<t.SearchResult>;
4
- };
@@ -1,84 +0,0 @@
1
- /**
2
- * Shared types for the subagent file-passing pipeline.
3
- *
4
- * Single source of truth for:
5
- * - the `file_ids` shape carried on the `subagent` tool's input schema
6
- * - the manifest line format the host renders into the supervisor's
7
- * trailing user-message channel (cache-stable, never the system block)
8
- * - the resolver hook signature host applications implement to map
9
- * parent-side `file_id`s into the child's `tool_resources` + first
10
- * HumanMessage context blocks
11
- *
12
- * Keeping these in one place lets the lib, the host, and tests all
13
- * reference the SAME constants — drift would silently break selective
14
- * file passing (parent claims a file is available, child gets `null`).
15
- */
16
- /**
17
- * One entry in the parent's file manifest. The host serializes an array of
18
- * these into a short newline-delimited block that lives in the supervisor's
19
- * trailing user-message channel — see `MANIFEST_PREFIX` /
20
- * `formatFileManifest` for the canonical line format.
21
- */
22
- export interface SubagentFileManifestEntry {
23
- /** Stable file ID. Parent's LLM passes this back via `subagent({ file_ids })`. */
24
- file_id: string;
25
- /** Display name, used in the manifest line. */
26
- name: string;
27
- /** MIME type. Optional — only included in the manifest when present. */
28
- type?: string;
29
- /** Size in bytes. Optional — formatted for human readability when present. */
30
- size?: number;
31
- }
32
- /** Header line that begins every parent file manifest block. */
33
- export declare const MANIFEST_PREFIX = "Files available for delegation:";
34
- /**
35
- * Format a single manifest entry as a `- key: value, key: value, ...` line.
36
- * Pure function — keeps the format consistent across host injection paths
37
- * and test assertions.
38
- */
39
- export declare function formatManifestEntry(entry: SubagentFileManifestEntry): string;
40
- /**
41
- * Format a full manifest block for injection below the cache breakpoint.
42
- * Returns `null` for empty input so callers can `if (block) push(block)`.
43
- */
44
- export declare function formatFileManifest(entries: readonly SubagentFileManifestEntry[]): string | null;
45
- /**
46
- * Result of resolving parent-side `file_ids` for a child subagent invocation.
47
- * Each field is shaped to slot directly into the child's runtime:
48
- * - `toolResources` is merged into the child's `agentInputs.tool_resources`
49
- * so file_search / execute_code tools see the file
50
- * - `messageContextBlocks` is prepended to the child's first HumanMessage
51
- * (alongside the supervisor's task description) so the child sees image
52
- * blocks for vision models and a short text reference for everything else
53
- */
54
- export interface ResolvedSubagentFiles {
55
- /**
56
- * Augmented tool_resources object merged into the child's `agentInputs`.
57
- * Shape matches `AgentToolResources` from the host (kept untyped here to
58
- * avoid pulling host types into the lib).
59
- */
60
- toolResources?: Record<string, unknown>;
61
- /**
62
- * Files the resolver successfully looked up. Forwarded verbatim into the
63
- * child's first message metadata for downstream attachment rendering.
64
- */
65
- attachments?: Array<Record<string, unknown>>;
66
- /**
67
- * LangChain `HumanMessage.content` blocks (text or image_url) that should
68
- * be prepended to the child's first message. Empty array for the common
69
- * case where files are referenced only via tool_resources.
70
- */
71
- messageContextBlocks?: Array<Record<string, unknown>>;
72
- }
73
- /**
74
- * Hook the host injects to resolve parent-side `file_id`s into child runtime
75
- * context. Called once per `subagent` tool invocation that includes
76
- * `file_ids`. Must be cheap on the empty-array path — the lib calls it for
77
- * every subagent dispatch.
78
- *
79
- * @param fileIds - ID strings the supervisor's LLM picked from the manifest.
80
- * @param childAgentId - ID assigned to the child for this invocation.
81
- * @returns Resolved file context for the child, or `undefined` when nothing
82
- * could be resolved (treated as a soft no-op — the child still runs).
83
- */
84
- export type ResolveSubagentFiles = (fileIds: string[], childAgentId: string) => Promise<ResolvedSubagentFiles | undefined>;