@illuma-ai/agents 1.5.0 → 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 (424) hide show
  1. package/README.md +0 -62
  2. package/dist/cjs/agents/AgentContext.cjs +159 -258
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  4. package/dist/cjs/graphs/Graph.cjs +25 -8
  5. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  6. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +1 -5
  7. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  8. package/dist/cjs/llm/bedrock/index.cjs +33 -61
  9. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  10. package/dist/cjs/llm/openai/utils/index.cjs +10 -27
  11. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  12. package/dist/cjs/main.cjs +3 -84
  13. package/dist/cjs/main.cjs.map +1 -1
  14. package/dist/cjs/messages/cache.cjs +0 -89
  15. package/dist/cjs/messages/cache.cjs.map +1 -1
  16. package/dist/cjs/messages/format.cjs +10 -68
  17. package/dist/cjs/messages/format.cjs.map +1 -1
  18. package/dist/cjs/tools/BashExecutor.cjs +11 -21
  19. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  20. package/dist/cjs/tools/CodeExecutor.cjs +10 -37
  21. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  22. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +11 -16
  23. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  24. package/dist/cjs/tools/ToolNode.cjs +73 -8
  25. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  26. package/dist/cjs/tools/search/search.cjs +3 -11
  27. package/dist/cjs/tools/search/search.cjs.map +1 -1
  28. package/dist/cjs/tools/search/tool.cjs +4 -28
  29. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  30. package/dist/cjs/tools/search/utils.cjs +3 -10
  31. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  32. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +48 -0
  33. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  34. package/dist/cjs/types/graph.cjs.map +1 -1
  35. package/dist/esm/agents/AgentContext.mjs +159 -258
  36. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  37. package/dist/esm/graphs/Graph.mjs +25 -8
  38. package/dist/esm/graphs/Graph.mjs.map +1 -1
  39. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +1 -5
  40. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  41. package/dist/esm/llm/bedrock/index.mjs +34 -61
  42. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  43. package/dist/esm/llm/openai/utils/index.mjs +10 -27
  44. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  45. package/dist/esm/main.mjs +1 -5
  46. package/dist/esm/main.mjs.map +1 -1
  47. package/dist/esm/messages/cache.mjs +0 -89
  48. package/dist/esm/messages/cache.mjs.map +1 -1
  49. package/dist/esm/messages/format.mjs +10 -68
  50. package/dist/esm/messages/format.mjs.map +1 -1
  51. package/dist/esm/tools/BashExecutor.mjs +12 -22
  52. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  53. package/dist/esm/tools/CodeExecutor.mjs +11 -37
  54. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  55. package/dist/esm/tools/ProgrammaticToolCalling.mjs +12 -17
  56. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  57. package/dist/esm/tools/ToolNode.mjs +73 -8
  58. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  59. package/dist/esm/tools/search/search.mjs +3 -11
  60. package/dist/esm/tools/search/search.mjs.map +1 -1
  61. package/dist/esm/tools/search/tool.mjs +4 -28
  62. package/dist/esm/tools/search/tool.mjs.map +1 -1
  63. package/dist/esm/tools/search/utils.mjs +3 -10
  64. package/dist/esm/tools/search/utils.mjs.map +1 -1
  65. package/dist/esm/tools/subagent/SubagentExecutor.mjs +48 -0
  66. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  67. package/dist/esm/types/graph.mjs.map +1 -1
  68. package/dist/types/agents/AgentContext.d.ts +25 -95
  69. package/dist/types/index.d.ts +0 -1
  70. package/dist/types/llm/bedrock/index.d.ts +1 -54
  71. package/dist/types/messages/format.d.ts +1 -4
  72. package/dist/types/tools/CodeExecutor.d.ts +0 -6
  73. package/dist/types/tools/search/types.d.ts +5 -99
  74. package/dist/types/tools/search/utils.d.ts +2 -2
  75. package/dist/types/tools/subagent/SubagentExecutor.d.ts +29 -0
  76. package/dist/types/types/graph.d.ts +24 -27
  77. package/dist/types/types/index.d.ts +0 -1
  78. package/dist/types/types/run.d.ts +0 -2
  79. package/dist/types/types/tools.d.ts +0 -9
  80. package/package.json +1 -61
  81. package/src/agents/AgentContext.test.ts +176 -0
  82. package/src/agents/AgentContext.ts +178 -304
  83. package/src/agents/__tests__/AgentContext.test.ts +0 -632
  84. package/src/graphs/Graph.ts +27 -8
  85. package/src/index.ts +0 -6
  86. package/src/llm/anthropic/utils/message_inputs.ts +1 -10
  87. package/src/llm/bedrock/__tests__/bedrock-caching.test.ts +18 -166
  88. package/src/llm/bedrock/index.ts +41 -116
  89. package/src/llm/openai/utils/index.ts +14 -31
  90. package/src/messages/cache.test.ts +24 -62
  91. package/src/messages/cache.ts +0 -112
  92. package/src/messages/format.ts +10 -89
  93. package/src/scripts/subagent-configurable-inheritance.ts +263 -0
  94. package/src/specs/anthropic.simple.test.ts +0 -61
  95. package/src/tools/BashExecutor.ts +13 -37
  96. package/src/tools/CodeExecutor.ts +11 -55
  97. package/src/tools/ProgrammaticToolCalling.ts +14 -29
  98. package/src/tools/ToolNode.ts +69 -8
  99. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -60
  100. package/src/tools/__tests__/SubagentExecutor.test.ts +157 -0
  101. package/src/tools/search/search.ts +2 -12
  102. package/src/tools/search/tool.ts +2 -36
  103. package/src/tools/search/types.ts +8 -133
  104. package/src/tools/search/utils.ts +5 -13
  105. package/src/tools/subagent/SubagentExecutor.ts +78 -0
  106. package/src/types/graph.ts +21 -27
  107. package/src/types/index.ts +0 -1
  108. package/src/types/run.ts +0 -2
  109. package/src/types/tools.ts +0 -9
  110. package/dist/cjs/langchain/google-common.cjs +0 -3
  111. package/dist/cjs/langchain/google-common.cjs.map +0 -1
  112. package/dist/cjs/langchain/index.cjs +0 -86
  113. package/dist/cjs/langchain/index.cjs.map +0 -1
  114. package/dist/cjs/langchain/language_models/chat_models.cjs +0 -3
  115. package/dist/cjs/langchain/language_models/chat_models.cjs.map +0 -1
  116. package/dist/cjs/langchain/messages/tool.cjs +0 -3
  117. package/dist/cjs/langchain/messages/tool.cjs.map +0 -1
  118. package/dist/cjs/langchain/messages.cjs +0 -51
  119. package/dist/cjs/langchain/messages.cjs.map +0 -1
  120. package/dist/cjs/langchain/openai.cjs +0 -3
  121. package/dist/cjs/langchain/openai.cjs.map +0 -1
  122. package/dist/cjs/langchain/prompts.cjs +0 -11
  123. package/dist/cjs/langchain/prompts.cjs.map +0 -1
  124. package/dist/cjs/langchain/runnables.cjs +0 -19
  125. package/dist/cjs/langchain/runnables.cjs.map +0 -1
  126. package/dist/cjs/langchain/tools.cjs +0 -23
  127. package/dist/cjs/langchain/tools.cjs.map +0 -1
  128. package/dist/cjs/langchain/utils/env.cjs +0 -11
  129. package/dist/cjs/langchain/utils/env.cjs.map +0 -1
  130. package/dist/cjs/llm/bedrock/cacheSupport.cjs +0 -55
  131. package/dist/cjs/llm/bedrock/cacheSupport.cjs.map +0 -1
  132. package/dist/cjs/tools/search/tavily-scraper.cjs +0 -189
  133. package/dist/cjs/tools/search/tavily-scraper.cjs.map +0 -1
  134. package/dist/cjs/tools/search/tavily-search.cjs +0 -372
  135. package/dist/cjs/tools/search/tavily-search.cjs.map +0 -1
  136. package/dist/cjs/types/agent-cache.cjs +0 -53
  137. package/dist/cjs/types/agent-cache.cjs.map +0 -1
  138. package/dist/esm/langchain/google-common.mjs +0 -2
  139. package/dist/esm/langchain/google-common.mjs.map +0 -1
  140. package/dist/esm/langchain/index.mjs +0 -5
  141. package/dist/esm/langchain/index.mjs.map +0 -1
  142. package/dist/esm/langchain/language_models/chat_models.mjs +0 -2
  143. package/dist/esm/langchain/language_models/chat_models.mjs.map +0 -1
  144. package/dist/esm/langchain/messages/tool.mjs +0 -2
  145. package/dist/esm/langchain/messages/tool.mjs.map +0 -1
  146. package/dist/esm/langchain/messages.mjs +0 -2
  147. package/dist/esm/langchain/messages.mjs.map +0 -1
  148. package/dist/esm/langchain/openai.mjs +0 -2
  149. package/dist/esm/langchain/openai.mjs.map +0 -1
  150. package/dist/esm/langchain/prompts.mjs +0 -2
  151. package/dist/esm/langchain/prompts.mjs.map +0 -1
  152. package/dist/esm/langchain/runnables.mjs +0 -2
  153. package/dist/esm/langchain/runnables.mjs.map +0 -1
  154. package/dist/esm/langchain/tools.mjs +0 -2
  155. package/dist/esm/langchain/tools.mjs.map +0 -1
  156. package/dist/esm/langchain/utils/env.mjs +0 -2
  157. package/dist/esm/langchain/utils/env.mjs.map +0 -1
  158. package/dist/esm/llm/bedrock/cacheSupport.mjs +0 -52
  159. package/dist/esm/llm/bedrock/cacheSupport.mjs.map +0 -1
  160. package/dist/esm/tools/search/tavily-scraper.mjs +0 -186
  161. package/dist/esm/tools/search/tavily-scraper.mjs.map +0 -1
  162. package/dist/esm/tools/search/tavily-search.mjs +0 -370
  163. package/dist/esm/tools/search/tavily-search.mjs.map +0 -1
  164. package/dist/esm/types/agent-cache.mjs +0 -51
  165. package/dist/esm/types/agent-cache.mjs.map +0 -1
  166. package/dist/types/langchain/google-common.d.ts +0 -1
  167. package/dist/types/langchain/index.d.ts +0 -8
  168. package/dist/types/langchain/language_models/chat_models.d.ts +0 -1
  169. package/dist/types/langchain/messages/tool.d.ts +0 -1
  170. package/dist/types/langchain/messages.d.ts +0 -2
  171. package/dist/types/langchain/openai.d.ts +0 -1
  172. package/dist/types/langchain/prompts.d.ts +0 -1
  173. package/dist/types/langchain/runnables.d.ts +0 -2
  174. package/dist/types/langchain/tools.d.ts +0 -2
  175. package/dist/types/langchain/utils/env.d.ts +0 -1
  176. package/dist/types/llm/bedrock/cacheSupport.d.ts +0 -35
  177. package/dist/types/tools/search/tavily-scraper.d.ts +0 -19
  178. package/dist/types/tools/search/tavily-search.d.ts +0 -4
  179. package/dist/types/tools/subagent/types.d.ts +0 -84
  180. package/dist/types/types/agent-cache.d.ts +0 -70
  181. package/src/agents/AgentContext.js.map +0 -1
  182. package/src/agents/AgentContext.test.js.map +0 -1
  183. package/src/agents/__tests__/AgentContext.cacheTtl.live.test.ts +0 -259
  184. package/src/agents/__tests__/AgentContext.crossAgentTier1.live.test.ts +0 -264
  185. package/src/agents/__tests__/AgentContext.crossUserCache.live.test.ts +0 -342
  186. package/src/agents/__tests__/AgentContext.test.js.map +0 -1
  187. package/src/agents/__tests__/resolveStructuredOutputMode.test.js.map +0 -1
  188. package/src/common/enum.js.map +0 -1
  189. package/src/common/index.js.map +0 -1
  190. package/src/events.js.map +0 -1
  191. package/src/graphs/Graph.js.map +0 -1
  192. package/src/graphs/MultiAgentGraph.js.map +0 -1
  193. package/src/graphs/__tests__/structured-output.integration.test.js.map +0 -1
  194. package/src/graphs/__tests__/structured-output.test.js.map +0 -1
  195. package/src/graphs/contextManagement.e2e.test.js.map +0 -1
  196. package/src/graphs/contextManagement.test.js.map +0 -1
  197. package/src/graphs/handoffValidation.test.js.map +0 -1
  198. package/src/graphs/index.js.map +0 -1
  199. package/src/index.js.map +0 -1
  200. package/src/instrumentation.js.map +0 -1
  201. package/src/langchain/google-common.ts +0 -1
  202. package/src/langchain/index.ts +0 -8
  203. package/src/langchain/language_models/chat_models.ts +0 -1
  204. package/src/langchain/messages/tool.ts +0 -5
  205. package/src/langchain/messages.ts +0 -21
  206. package/src/langchain/openai.ts +0 -1
  207. package/src/langchain/prompts.ts +0 -1
  208. package/src/langchain/runnables.ts +0 -7
  209. package/src/langchain/tools.ts +0 -8
  210. package/src/langchain/utils/env.ts +0 -1
  211. package/src/llm/anthropic/index.js.map +0 -1
  212. package/src/llm/anthropic/types.js.map +0 -1
  213. package/src/llm/anthropic/utils/message_inputs.js.map +0 -1
  214. package/src/llm/anthropic/utils/message_outputs.js.map +0 -1
  215. package/src/llm/anthropic/utils/output_parsers.js.map +0 -1
  216. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -436
  217. package/src/llm/anthropic/utils/tools.js.map +0 -1
  218. package/src/llm/bedrock/__tests__/bedrock-caching.test.js.map +0 -1
  219. package/src/llm/bedrock/cacheSupport.test.ts +0 -99
  220. package/src/llm/bedrock/cacheSupport.ts +0 -53
  221. package/src/llm/bedrock/index.js.map +0 -1
  222. package/src/llm/bedrock/types.js.map +0 -1
  223. package/src/llm/bedrock/utils/index.js.map +0 -1
  224. package/src/llm/bedrock/utils/message_inputs.js.map +0 -1
  225. package/src/llm/bedrock/utils/message_outputs.js.map +0 -1
  226. package/src/llm/fake.js.map +0 -1
  227. package/src/llm/google/index.js.map +0 -1
  228. package/src/llm/google/types.js.map +0 -1
  229. package/src/llm/google/utils/common.js.map +0 -1
  230. package/src/llm/google/utils/tools.js.map +0 -1
  231. package/src/llm/google/utils/zod_to_genai_parameters.js.map +0 -1
  232. package/src/llm/openai/index.js.map +0 -1
  233. package/src/llm/openai/types.js.map +0 -1
  234. package/src/llm/openai/utils/index.js.map +0 -1
  235. package/src/llm/openai/utils/isReasoningModel.test.js.map +0 -1
  236. package/src/llm/openrouter/index.js.map +0 -1
  237. package/src/llm/openrouter/reasoning.test.js.map +0 -1
  238. package/src/llm/providers.js.map +0 -1
  239. package/src/llm/text.js.map +0 -1
  240. package/src/llm/vertexai/index.js.map +0 -1
  241. package/src/messages/__tests__/tools.test.js.map +0 -1
  242. package/src/messages/cache.js.map +0 -1
  243. package/src/messages/cache.test.js.map +0 -1
  244. package/src/messages/content.js.map +0 -1
  245. package/src/messages/content.test.js.map +0 -1
  246. package/src/messages/core.js.map +0 -1
  247. package/src/messages/ensureThinkingBlock.test.js.map +0 -1
  248. package/src/messages/format.js.map +0 -1
  249. package/src/messages/formatAgentMessages.test.js.map +0 -1
  250. package/src/messages/formatAgentMessages.tools.test.js.map +0 -1
  251. package/src/messages/formatMessage.test.js.map +0 -1
  252. package/src/messages/ids.js.map +0 -1
  253. package/src/messages/index.js.map +0 -1
  254. package/src/messages/labelContentByAgent.test.js.map +0 -1
  255. package/src/messages/prune.js.map +0 -1
  256. package/src/messages/reducer.js.map +0 -1
  257. package/src/messages/shiftIndexTokenCountMap.test.js.map +0 -1
  258. package/src/messages/summarize.js.map +0 -1
  259. package/src/messages/summarize.test.js.map +0 -1
  260. package/src/messages/tools.js.map +0 -1
  261. package/src/mockStream.js.map +0 -1
  262. package/src/prompts/collab.js.map +0 -1
  263. package/src/prompts/index.js.map +0 -1
  264. package/src/prompts/taskmanager.js.map +0 -1
  265. package/src/run.js.map +0 -1
  266. package/src/schemas/index.js.map +0 -1
  267. package/src/schemas/schema-preparation.test.js.map +0 -1
  268. package/src/schemas/validate.js.map +0 -1
  269. package/src/schemas/validate.test.js.map +0 -1
  270. package/src/scripts/abort.js.map +0 -1
  271. package/src/scripts/ant_web_search.js.map +0 -1
  272. package/src/scripts/ant_web_search_edge_case.js.map +0 -1
  273. package/src/scripts/ant_web_search_error_edge_case.js.map +0 -1
  274. package/src/scripts/args.js.map +0 -1
  275. package/src/scripts/bedrock-cache-debug.js.map +0 -1
  276. package/src/scripts/bedrock-content-aggregation-test.js.map +0 -1
  277. package/src/scripts/bedrock-merge-test.js.map +0 -1
  278. package/src/scripts/bedrock-parallel-tools-test.js.map +0 -1
  279. package/src/scripts/caching.js.map +0 -1
  280. package/src/scripts/cli.js.map +0 -1
  281. package/src/scripts/cli2.js.map +0 -1
  282. package/src/scripts/cli3.js.map +0 -1
  283. package/src/scripts/cli4.js.map +0 -1
  284. package/src/scripts/cli5.js.map +0 -1
  285. package/src/scripts/code_exec.js.map +0 -1
  286. package/src/scripts/code_exec_files.js.map +0 -1
  287. package/src/scripts/code_exec_multi_session.js.map +0 -1
  288. package/src/scripts/code_exec_ptc.js.map +0 -1
  289. package/src/scripts/code_exec_session.js.map +0 -1
  290. package/src/scripts/code_exec_simple.js.map +0 -1
  291. package/src/scripts/content.js.map +0 -1
  292. package/src/scripts/empty_input.js.map +0 -1
  293. package/src/scripts/handoff-test.js.map +0 -1
  294. package/src/scripts/image.js.map +0 -1
  295. package/src/scripts/memory.js.map +0 -1
  296. package/src/scripts/multi-agent-chain.js.map +0 -1
  297. package/src/scripts/multi-agent-conditional.js.map +0 -1
  298. package/src/scripts/multi-agent-document-review-chain.js.map +0 -1
  299. package/src/scripts/multi-agent-hybrid-flow.js.map +0 -1
  300. package/src/scripts/multi-agent-parallel-start.js.map +0 -1
  301. package/src/scripts/multi-agent-parallel.js.map +0 -1
  302. package/src/scripts/multi-agent-sequence.js.map +0 -1
  303. package/src/scripts/multi-agent-supervisor.js.map +0 -1
  304. package/src/scripts/multi-agent-test.js.map +0 -1
  305. package/src/scripts/parallel-asymmetric-tools-test.js.map +0 -1
  306. package/src/scripts/parallel-full-metadata-test.js.map +0 -1
  307. package/src/scripts/parallel-tools-test.js.map +0 -1
  308. package/src/scripts/programmatic_exec.js.map +0 -1
  309. package/src/scripts/programmatic_exec_agent.js.map +0 -1
  310. package/src/scripts/search.js.map +0 -1
  311. package/src/scripts/sequential-full-metadata-test.js.map +0 -1
  312. package/src/scripts/simple.js.map +0 -1
  313. package/src/scripts/single-agent-metadata-test.js.map +0 -1
  314. package/src/scripts/stream.js.map +0 -1
  315. package/src/scripts/test-custom-prompt-key.js.map +0 -1
  316. package/src/scripts/test-handoff-input.js.map +0 -1
  317. package/src/scripts/test-handoff-preamble.js.map +0 -1
  318. package/src/scripts/test-handoff-steering.js.map +0 -1
  319. package/src/scripts/test-multi-agent-list-handoff.js.map +0 -1
  320. package/src/scripts/test-parallel-agent-labeling.js.map +0 -1
  321. package/src/scripts/test-parallel-handoffs.js.map +0 -1
  322. package/src/scripts/test-thinking-handoff-bedrock.js.map +0 -1
  323. package/src/scripts/test-thinking-handoff.js.map +0 -1
  324. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.js.map +0 -1
  325. package/src/scripts/test-tool-before-handoff-role-order.js.map +0 -1
  326. package/src/scripts/test-tools-before-handoff.js.map +0 -1
  327. package/src/scripts/test_code_api.js.map +0 -1
  328. package/src/scripts/thinking-bedrock.js.map +0 -1
  329. package/src/scripts/thinking-vertexai.js.map +0 -1
  330. package/src/scripts/thinking.js.map +0 -1
  331. package/src/scripts/tool_search.js.map +0 -1
  332. package/src/scripts/tools.js.map +0 -1
  333. package/src/specs/agent-handoffs-bedrock.integration.test.js.map +0 -1
  334. package/src/specs/agent-handoffs.test.js.map +0 -1
  335. package/src/specs/anthropic.simple.test.js.map +0 -1
  336. package/src/specs/azure.simple.test.js.map +0 -1
  337. package/src/specs/cache.simple.test.js.map +0 -1
  338. package/src/specs/custom-event-await.test.js.map +0 -1
  339. package/src/specs/deepseek.simple.test.js.map +0 -1
  340. package/src/specs/emergency-prune.test.js.map +0 -1
  341. package/src/specs/moonshot.simple.test.js.map +0 -1
  342. package/src/specs/observability.integration.test.js.map +0 -1
  343. package/src/specs/openai.simple.test.js.map +0 -1
  344. package/src/specs/openrouter.simple.test.js.map +0 -1
  345. package/src/specs/prune.test.js.map +0 -1
  346. package/src/specs/reasoning.test.js.map +0 -1
  347. package/src/specs/spec.utils.js.map +0 -1
  348. package/src/specs/thinking-handoff.test.js.map +0 -1
  349. package/src/specs/thinking-prune.test.js.map +0 -1
  350. package/src/specs/token-distribution-edge-case.test.js.map +0 -1
  351. package/src/specs/token-memoization.test.js.map +0 -1
  352. package/src/specs/tokens.test.js.map +0 -1
  353. package/src/specs/tool-error.test.js.map +0 -1
  354. package/src/splitStream.js.map +0 -1
  355. package/src/splitStream.test.js.map +0 -1
  356. package/src/stream.js.map +0 -1
  357. package/src/stream.test.js.map +0 -1
  358. package/src/test/mockTools.js.map +0 -1
  359. package/src/tools/BrowserTools.js.map +0 -1
  360. package/src/tools/Calculator.js.map +0 -1
  361. package/src/tools/Calculator.test.js.map +0 -1
  362. package/src/tools/CodeExecutor.js.map +0 -1
  363. package/src/tools/ProgrammaticToolCalling.js.map +0 -1
  364. package/src/tools/StreamingToolCallBuffer.js.map +0 -1
  365. package/src/tools/ToolNode.js.map +0 -1
  366. package/src/tools/ToolSearch.js.map +0 -1
  367. package/src/tools/__tests__/BrowserTools.test.js.map +0 -1
  368. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.js.map +0 -1
  369. package/src/tools/__tests__/ProgrammaticToolCalling.test.js.map +0 -1
  370. package/src/tools/__tests__/StreamingToolCallBuffer.test.js.map +0 -1
  371. package/src/tools/__tests__/ToolApproval.test.js.map +0 -1
  372. package/src/tools/__tests__/ToolNode.recovery.test.js.map +0 -1
  373. package/src/tools/__tests__/ToolNode.session.test.js.map +0 -1
  374. package/src/tools/__tests__/ToolSearch.integration.test.js.map +0 -1
  375. package/src/tools/__tests__/ToolSearch.test.js.map +0 -1
  376. package/src/tools/__tests__/handlers.test.js.map +0 -1
  377. package/src/tools/__tests__/truncation-recovery.integration.test.js.map +0 -1
  378. package/src/tools/handlers.js.map +0 -1
  379. package/src/tools/schema.js.map +0 -1
  380. package/src/tools/search/anthropic.js.map +0 -1
  381. package/src/tools/search/content.js.map +0 -1
  382. package/src/tools/search/content.test.js.map +0 -1
  383. package/src/tools/search/firecrawl.js.map +0 -1
  384. package/src/tools/search/format.js.map +0 -1
  385. package/src/tools/search/highlights.js.map +0 -1
  386. package/src/tools/search/index.js.map +0 -1
  387. package/src/tools/search/jina-reranker.test.js.map +0 -1
  388. package/src/tools/search/rerankers.js.map +0 -1
  389. package/src/tools/search/schema.js.map +0 -1
  390. package/src/tools/search/search.js.map +0 -1
  391. package/src/tools/search/serper-scraper.js.map +0 -1
  392. package/src/tools/search/tavily-scraper.ts +0 -235
  393. package/src/tools/search/tavily-search.ts +0 -424
  394. package/src/tools/search/tavily.test.ts +0 -965
  395. package/src/tools/search/test.js.map +0 -1
  396. package/src/tools/search/tool.js.map +0 -1
  397. package/src/tools/search/types.js.map +0 -1
  398. package/src/tools/search/utils.js.map +0 -1
  399. package/src/tools/subagent/types.test.ts +0 -70
  400. package/src/tools/subagent/types.ts +0 -115
  401. package/src/types/agent-cache.ts +0 -73
  402. package/src/types/graph.js.map +0 -1
  403. package/src/types/graph.test.js.map +0 -1
  404. package/src/types/index.js.map +0 -1
  405. package/src/types/llm.js.map +0 -1
  406. package/src/types/messages.js.map +0 -1
  407. package/src/types/run.js.map +0 -1
  408. package/src/types/stream.js.map +0 -1
  409. package/src/types/tools.js.map +0 -1
  410. package/src/utils/contextAnalytics.js.map +0 -1
  411. package/src/utils/contextAnalytics.test.js.map +0 -1
  412. package/src/utils/events.js.map +0 -1
  413. package/src/utils/graph.js.map +0 -1
  414. package/src/utils/handlers.js.map +0 -1
  415. package/src/utils/index.js.map +0 -1
  416. package/src/utils/llm.js.map +0 -1
  417. package/src/utils/llmConfig.js.map +0 -1
  418. package/src/utils/logging.js.map +0 -1
  419. package/src/utils/misc.js.map +0 -1
  420. package/src/utils/run.js.map +0 -1
  421. package/src/utils/schema.js.map +0 -1
  422. package/src/utils/title.js.map +0 -1
  423. package/src/utils/tokens.js.map +0 -1
  424. package/src/utils/toonFormat.js.map +0 -1
@@ -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 ranger-specific\n * ------------------------------------------------\n * Earlier iterations exposed `platform_instructions` and `cache_ttl:\n * { platform, agent }` — vocabulary borrowed from a multi-tenant chat\n * platform's mental model. That leaked a specific consumer's domain into\n * the library and made it confusing for other consumers (CLI tools,\n * desktop apps, gateways) which have no notion of \"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCG;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 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;
@@ -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>;
@@ -1,70 +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 ranger-specific
13
- * ------------------------------------------------
14
- * Earlier iterations exposed `platform_instructions` and `cache_ttl:
15
- * { platform, agent }` — vocabulary borrowed from a multi-tenant chat
16
- * platform's mental model. That leaked a specific consumer's domain into
17
- * the library and made it confusing for other consumers (CLI tools,
18
- * desktop apps, gateways) which have no notion of "platforms" or "agents".
19
- *
20
- * The current shape lets every consumer define their own cache-tier
21
- * organization without the library knowing or caring.
22
- *
23
- * Cache key composition
24
- * ---------------------
25
- * Both Anthropic and Bedrock hash the message bytes leading up to each
26
- * cache marker. So entry N's cache key is the concatenation of bytes
27
- * 0..N. Stable content (universal rules, framework docs) goes earlier;
28
- * volatile content (per-agent identity, per-tool docs) goes later. The
29
- * earlier entries get cross-tenant cache hits; the later entries get
30
- * narrower hits.
31
- *
32
- * Provider budget
33
- * ---------------
34
- * Bedrock's Converse API supports up to 4 cachePoint blocks per request.
35
- * The default tools-array cache strategy (see `IllumaBedrockConverse`)
36
- * uses up to 2 of those. So at most 2 entries should appear in
37
- * `system_cache_blocks` to leave budget for the trailing
38
- * `instructions` block. The library throws on more than 2.
39
- *
40
- * Anthropic supports up to 4 cache breakpoints per request workspace-wide;
41
- * the same constraint applies to keep tools + system within budget.
42
- */
43
- /** Provider TTL hint applied to a cachePoint / cache_control marker. */
44
- export type AgentCacheTTL = '5m' | '1h';
45
- /**
46
- * One cacheable system content block. Each entry produces a text block
47
- * followed by a provider-specific cache marker in the assembled system
48
- * message. Entries are emitted in array order — earlier = more stable
49
- * = wider cache key.
50
- */
51
- export interface SystemCacheBlock {
52
- /**
53
- * Text payload. Caller is responsible for keeping this byte-stable
54
- * across requests that should share a cache entry. ANY change to
55
- * these bytes invalidates every cache key that includes this entry.
56
- */
57
- text: string;
58
- /**
59
- * Optional TTL hint for the cache marker. Defaults to '5m' when
60
- * omitted. '1h' costs more to write (2× base vs 1.25×) but survives
61
- * longer idle, which is the right tradeoff for low-traffic blocks.
62
- */
63
- ttl?: AgentCacheTTL;
64
- }
65
- /**
66
- * Maximum number of `system_cache_blocks` entries the library accepts.
67
- * Higher than this would exceed Bedrock's 4-cachePoint budget once the
68
- * tools array and trailing `instructions` block are counted.
69
- */
70
- export declare const MAX_SYSTEM_CACHE_BLOCKS = 2;
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentContext.js","sourceRoot":"","sources":["AgentContext.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentContext.test.js","sourceRoot":"","sources":["AgentContext.test.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,MAAM,UAAU,GAAkB;YAChC,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,SAAS,CAAC,MAAM;YAC1B,aAAa,EAAE;gBACb,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;QAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACtC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;gBACrE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACpD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;gBACjE,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,SAA+C;qBACxD;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;gBAClE,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,IAA0C;qBACnD;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;gBACrE,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC3B;yBACF;qBACF;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;gBAChD,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC3B;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,2DAA2D;YAC3D,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;gBACvF,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,iBAAiB,EAAE;wBACjB,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC3B;yBACF;qBACF;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;gBACnE,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,iBAAiB,EAAE;wBACjB,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC3B;yBACF;qBACF;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;gBAClE,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,iBAAiB,EAAE;wBACjB,OAAO,EAAE,IAAI;wBACb,YAAY;qBACb;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;gBACxF,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBAC1C;wBACD,IAAI,EAAE,aAAa;qBACpB;oBACD,iBAAiB,EAAE;wBACjB,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBAC1C;wBACD,IAAI,EAAE,aAAa;qBACpB;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;gBAC/D,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,iBAAiB,EAAE;wBACjB,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;yBACzC;wBACD,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,iBAAiB;wBAC9B,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;oBACvC,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBACzC;oBACD,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACzC,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;gBACzE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACpD,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;gBACxD,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE,EAA8B;iBACjD,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;gBACjE,MAAM,MAAM,GAAG;oBACb,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACxB;iBACF,CAAC;gBACF,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE,EAAE,MAAM,EAAE;iBAC7B,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;gBAC3E,MAAM,MAAM,GAAG;oBACb,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACzB;iBACF,CAAC;gBACF,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE,EAAE,MAAM,EAAE;iBAC7B,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;gBAC3C,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,IAAI,EAAE,gBAAgB;qBACvB;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAC5C,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;wBAClD,IAAI,EAAE,SAAS;qBAChB;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAC5C,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,WAAW,EAAE,uBAAuB;qBACrC;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;gBAClD,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;wBAC/D,WAAW,EAAE,iBAAiB;qBAC/B;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;gBAC1E,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;qBAC3C;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;gBAC/E,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;wBAC1C,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;gBAClE,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;wBAC1C,MAAM,EAAE,KAAK;qBACd;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,aAAa,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE;4BACd,oBAAoB,EAAE,IAAI;yBAC3B;wBACD,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAC5C,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBACrD;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,aAAa,EAAE,CAAC;gBACrD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;gBAC/C,MAAM,cAAc,GAAG;oBACrB,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACzC,CAAC;gBACF,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB,EAAE;wBAChB,MAAM,EAAE,cAAc;wBACtB,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,kBAAkB;qBAChC;iBACF,CAAC;gBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBAEpC,yCAAyC;gBACzC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACzD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAChD,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;gBACjE,MAAM,gBAAgB,GAA6B;oBACjD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC/B;wBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;qBACvB;oBACD,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,qBAAqB;oBAClC,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,IAAI;iBACb,CAAC;gBAEF,MAAM,MAAM,GAAkB;oBAC5B,GAAG,UAAU;oBACb,gBAAgB;iBACjB,CAAC;gBAEF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEhD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBACxC,MAAM,KAAK,GAAkC;oBAC3C,MAAM;oBACN,MAAM;oBACN,UAAU;iBACX,CAAC;gBAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAkB;wBAC5B,GAAG,UAAU;wBACb,gBAAgB,EAAE;4BAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC1B,IAAI;yBACL;qBACF,CAAC;oBACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAChD,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,MAAM,UAAU,GAAkB;YAChC,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,SAAS,CAAC,MAAM;YAC1B,aAAa,EAAE;gBACb,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;QAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAkB;gBAC5B,GAAG,UAAU;gBACb,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;aACzC,CAAC;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;YACzD,MAAM,MAAM,GAAkB;gBAC5B,GAAG,UAAU;gBACb,iBAAiB,EAAE,YAAY;aAChC,CAAC;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAkB;gBAC5B,GAAG,UAAU;gBACb,iBAAiB,EAAE,YAAY;aAChC,CAAC;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAkB,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1C,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,259 +0,0 @@
1
- /* eslint-disable no-console */
2
- /**
3
- * LIVE Bedrock cache TTL comparison: `5m` (default) vs `1h` (extended).
4
- *
5
- * Verifies:
6
- * 1. Bedrock SDK accepts `cachePoint: { type: 'default', ttl: '1h' }`
7
- * against `us.anthropic.claude-sonnet-4-5-20250929-v1:0`.
8
- * 2. Both TTLs create cache entries readable by subsequent calls.
9
- * 3. The `cacheWriteInputTokens` charged on cold-write is the same
10
- * structurally — pricing differs by ~60% but the SDK reports the
11
- * same field.
12
- *
13
- * What this CAN'T verify in a unit-runner timeframe:
14
- * - That a 1h cache actually survives >5 min of idle (would require a
15
- * >5-min sleep). Marked as a manual long-soak test instead.
16
- *
17
- * Run:
18
- * BEDROCK_AWS_REGION=us-east-1 \
19
- * BEDROCK_AWS_ACCESS_KEY_ID=... BEDROCK_AWS_SECRET_ACCESS_KEY=... \
20
- * npx jest src/agents/__tests__/AgentContext.cacheTtl.live.test.ts
21
- */
22
-
23
- import { config } from 'dotenv';
24
- config();
25
-
26
- import { HumanMessage, SystemMessage } from '@langchain/core/messages';
27
- import type { BaseMessage, AIMessage } from '@langchain/core/messages';
28
- import { IllumaBedrockConverse } from '@/llm/bedrock';
29
-
30
- const region =
31
- process.env.BEDROCK_AWS_REGION ??
32
- process.env.BEDROCK_AWS_DEFAULT_REGION ??
33
- process.env.AWS_REGION ??
34
- 'us-east-1';
35
- const accessKeyId =
36
- process.env.BEDROCK_AWS_ACCESS_KEY_ID ?? process.env.AWS_ACCESS_KEY_ID;
37
- const secretAccessKey =
38
- process.env.BEDROCK_AWS_SECRET_ACCESS_KEY ??
39
- process.env.AWS_SECRET_ACCESS_KEY;
40
-
41
- const haveBedrock =
42
- accessKeyId !== undefined &&
43
- accessKeyId !== '' &&
44
- secretAccessKey !== undefined &&
45
- secretAccessKey !== '';
46
-
47
- const describeFn = haveBedrock ? describe : describe.skip;
48
-
49
- /**
50
- * Build a unique-per-test stable prefix so we get a true cold-write on
51
- * the first call (not piggybacking on a cache populated by a prior test).
52
- * 80 rules × ~30 tokens ≈ 2400 tokens — above Bedrock's 1024-token
53
- * minimum cache write threshold.
54
- */
55
- const buildUniquePrefix = (suiteId: string): string => {
56
- const padding = Array.from({ length: 80 }, (_, i) =>
57
- `Rule ${i + 1} (${suiteId}): respond concisely; cite assumptions; treat all users with respect; never fabricate facts; if uncertain, say so explicitly.`
58
- ).join('\n');
59
- return `You are a helpful assistant for suite ${suiteId}.\n\n${padding}`;
60
- };
61
-
62
- interface UsageReadout {
63
- input_tokens: number;
64
- output_tokens: number;
65
- cache_read_input_tokens: number;
66
- cache_write_input_tokens: number;
67
- }
68
-
69
- /**
70
- * Build the system message manually with a chosen TTL, send it to
71
- * Bedrock, and return the cache-related usage from response_metadata.
72
- */
73
- async function callWithTtl({
74
- stableInstructions,
75
- ttl,
76
- query,
77
- }: {
78
- stableInstructions: string;
79
- ttl: '5m' | '1h';
80
- query: string;
81
- }): Promise<UsageReadout> {
82
- /* Build the system content array with the chosen TTL on the cachePoint.
83
- * This bypasses AgentContext.buildSystemRunnable so we can vary TTL
84
- * per-call deterministically. The downstream Bedrock converter
85
- * (src/llm/bedrock/utils/message_inputs.ts) passes cachePoint blocks
86
- * through to the Converse API as-is. */
87
- const systemMsg = new SystemMessage({
88
- content: [
89
- { type: 'text', text: stableInstructions },
90
- { cachePoint: { type: 'default', ttl } } as unknown as Record<
91
- string,
92
- unknown
93
- >,
94
- ],
95
- });
96
-
97
- const messages: BaseMessage[] = [systemMsg, new HumanMessage(query)];
98
-
99
- const llm = new IllumaBedrockConverse({
100
- model: 'us.anthropic.claude-sonnet-4-5-20250929-v1:0',
101
- region,
102
- credentials: {
103
- accessKeyId: accessKeyId as string,
104
- secretAccessKey: secretAccessKey as string,
105
- },
106
- promptCache: true,
107
- streaming: false,
108
- });
109
-
110
- const aiMessage = (await llm.invoke(messages)) as AIMessage;
111
-
112
- type RespMeta = {
113
- usage?: {
114
- inputTokens?: number;
115
- outputTokens?: number;
116
- cacheReadInputTokens?: number;
117
- cacheWriteInputTokens?: number;
118
- };
119
- };
120
- const u = ((aiMessage.response_metadata ?? {}) as RespMeta).usage ?? {};
121
-
122
- return {
123
- input_tokens: u.inputTokens ?? 0,
124
- output_tokens: u.outputTokens ?? 0,
125
- cache_read_input_tokens: u.cacheReadInputTokens ?? 0,
126
- cache_write_input_tokens: u.cacheWriteInputTokens ?? 0,
127
- };
128
- }
129
-
130
- describeFn('LIVE: Bedrock cache TTL — 5m vs 1h', () => {
131
- jest.setTimeout(120000);
132
-
133
- test('5m TTL: Bedrock accepts and reports cache write/read cycle', async () => {
134
- const stable = buildUniquePrefix('5m-test-' + Date.now());
135
-
136
- const cold = await callWithTtl({
137
- stableInstructions: stable,
138
- ttl: '5m',
139
- query: 'reply with the word OK',
140
- });
141
- const warm = await callWithTtl({
142
- stableInstructions: stable,
143
- ttl: '5m',
144
- query: 'reply with the word YES',
145
- });
146
-
147
- console.log('5m cold:', cold);
148
- console.log('5m warm:', warm);
149
-
150
- /* Cold call must have written cache (or read it from a prior run with
151
- * the same suiteId — unlikely given Date.now() in the suiteId). */
152
- const coldDidWork =
153
- cold.cache_write_input_tokens > 0 || cold.cache_read_input_tokens > 0;
154
- expect(coldDidWork).toBe(true);
155
-
156
- /* Warm call must read from cache. */
157
- expect(warm.cache_read_input_tokens).toBeGreaterThan(0);
158
- });
159
-
160
- test('1h TTL: Bedrock accepts and reports cache write/read cycle', async () => {
161
- const stable = buildUniquePrefix('1h-test-' + Date.now());
162
-
163
- const cold = await callWithTtl({
164
- stableInstructions: stable,
165
- ttl: '1h',
166
- query: 'reply with the word OK',
167
- });
168
- const warm = await callWithTtl({
169
- stableInstructions: stable,
170
- ttl: '1h',
171
- query: 'reply with the word YES',
172
- });
173
-
174
- console.log('1h cold:', cold);
175
- console.log('1h warm:', warm);
176
-
177
- const coldDidWork =
178
- cold.cache_write_input_tokens > 0 || cold.cache_read_input_tokens > 0;
179
- expect(coldDidWork).toBe(true);
180
-
181
- expect(warm.cache_read_input_tokens).toBeGreaterThan(0);
182
-
183
- /* When 1h cache write actually happens (i.e. cold call), the write
184
- * token count should match the prefix size — confirming the cachePoint
185
- * block reached Bedrock with the correct TTL hint. */
186
- if (cold.cache_write_input_tokens > 0) {
187
- expect(cold.cache_write_input_tokens).toBeGreaterThan(2000);
188
- }
189
- });
190
-
191
- test('1h cache survives across multiple read calls within window', async () => {
192
- /* Fire 3 reads back-to-back against a 1h-cached prefix — all must
193
- * hit the cache. (The point is not "1h vs 5m" here; it's "the 1h
194
- * cache is functional and serving reads".) */
195
- const stable = buildUniquePrefix('1h-multi-' + Date.now());
196
-
197
- /* Prime */
198
- await callWithTtl({
199
- stableInstructions: stable,
200
- ttl: '1h',
201
- query: 'prime',
202
- });
203
-
204
- /* Three sequential reads */
205
- const reads = await Promise.all([
206
- callWithTtl({
207
- stableInstructions: stable,
208
- ttl: '1h',
209
- query: 'one',
210
- }),
211
- callWithTtl({
212
- stableInstructions: stable,
213
- ttl: '1h',
214
- query: 'two',
215
- }),
216
- callWithTtl({
217
- stableInstructions: stable,
218
- ttl: '1h',
219
- query: 'three',
220
- }),
221
- ]);
222
-
223
- reads.forEach((r, i) => {
224
- console.log(
225
- `1h read ${i + 1}: cache_read=${r.cache_read_input_tokens}, ` +
226
- `write=${r.cache_write_input_tokens}, input=${r.input_tokens}`
227
- );
228
- });
229
-
230
- expect(reads.every((r) => r.cache_read_input_tokens > 0)).toBe(true);
231
- });
232
-
233
- /* Skipped by default — uncomment to run a long-soak test that proves
234
- * the 1h cache actually outlives the 5m default. Takes 6+ minutes. */
235
- test.skip('1h cache survives a 6-minute idle (5m would expire)', async () => {
236
- const stable = buildUniquePrefix('1h-soak-' + Date.now());
237
-
238
- const cold = await callWithTtl({
239
- stableInstructions: stable,
240
- ttl: '1h',
241
- query: 'cold',
242
- });
243
- console.log('1h soak cold:', cold);
244
-
245
- /* Wait > 5 minutes (default Bedrock TTL). */
246
- await new Promise((r) => setTimeout(r, 6 * 60 * 1000));
247
-
248
- const afterIdle = await callWithTtl({
249
- stableInstructions: stable,
250
- ttl: '1h',
251
- query: 'after idle',
252
- });
253
- console.log('1h soak after 6-min idle:', afterIdle);
254
-
255
- /* If 1h TTL works, this must still read from cache. If only 5m
256
- * worked, this would re-write. */
257
- expect(afterIdle.cache_read_input_tokens).toBeGreaterThan(0);
258
- });
259
- });