@illuma-ai/agents 1.0.81

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 (558) hide show
  1. package/README.md +485 -0
  2. package/dist/cjs/agents/AgentContext.cjs +734 -0
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -0
  4. package/dist/cjs/common/enum.cjs +190 -0
  5. package/dist/cjs/common/enum.cjs.map +1 -0
  6. package/dist/cjs/events.cjs +172 -0
  7. package/dist/cjs/events.cjs.map +1 -0
  8. package/dist/cjs/graphs/Graph.cjs +1615 -0
  9. package/dist/cjs/graphs/Graph.cjs.map +1 -0
  10. package/dist/cjs/graphs/MultiAgentGraph.cjs +890 -0
  11. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -0
  12. package/dist/cjs/instrumentation.cjs +21 -0
  13. package/dist/cjs/instrumentation.cjs.map +1 -0
  14. package/dist/cjs/llm/anthropic/index.cjs +292 -0
  15. package/dist/cjs/llm/anthropic/index.cjs.map +1 -0
  16. package/dist/cjs/llm/anthropic/types.cjs +50 -0
  17. package/dist/cjs/llm/anthropic/types.cjs.map +1 -0
  18. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +630 -0
  19. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -0
  20. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +218 -0
  21. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -0
  22. package/dist/cjs/llm/anthropic/utils/tools.cjs +29 -0
  23. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -0
  24. package/dist/cjs/llm/bedrock/index.cjs +282 -0
  25. package/dist/cjs/llm/bedrock/index.cjs.map +1 -0
  26. package/dist/cjs/llm/fake.cjs +97 -0
  27. package/dist/cjs/llm/fake.cjs.map +1 -0
  28. package/dist/cjs/llm/google/index.cjs +216 -0
  29. package/dist/cjs/llm/google/index.cjs.map +1 -0
  30. package/dist/cjs/llm/google/utils/common.cjs +647 -0
  31. package/dist/cjs/llm/google/utils/common.cjs.map +1 -0
  32. package/dist/cjs/llm/openai/index.cjs +1028 -0
  33. package/dist/cjs/llm/openai/index.cjs.map +1 -0
  34. package/dist/cjs/llm/openai/utils/index.cjs +765 -0
  35. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -0
  36. package/dist/cjs/llm/openrouter/index.cjs +212 -0
  37. package/dist/cjs/llm/openrouter/index.cjs.map +1 -0
  38. package/dist/cjs/llm/providers.cjs +43 -0
  39. package/dist/cjs/llm/providers.cjs.map +1 -0
  40. package/dist/cjs/llm/text.cjs +69 -0
  41. package/dist/cjs/llm/text.cjs.map +1 -0
  42. package/dist/cjs/llm/vertexai/index.cjs +329 -0
  43. package/dist/cjs/llm/vertexai/index.cjs.map +1 -0
  44. package/dist/cjs/main.cjs +240 -0
  45. package/dist/cjs/main.cjs.map +1 -0
  46. package/dist/cjs/messages/cache.cjs +387 -0
  47. package/dist/cjs/messages/cache.cjs.map +1 -0
  48. package/dist/cjs/messages/content.cjs +53 -0
  49. package/dist/cjs/messages/content.cjs.map +1 -0
  50. package/dist/cjs/messages/core.cjs +367 -0
  51. package/dist/cjs/messages/core.cjs.map +1 -0
  52. package/dist/cjs/messages/format.cjs +761 -0
  53. package/dist/cjs/messages/format.cjs.map +1 -0
  54. package/dist/cjs/messages/ids.cjs +23 -0
  55. package/dist/cjs/messages/ids.cjs.map +1 -0
  56. package/dist/cjs/messages/prune.cjs +398 -0
  57. package/dist/cjs/messages/prune.cjs.map +1 -0
  58. package/dist/cjs/messages/tools.cjs +96 -0
  59. package/dist/cjs/messages/tools.cjs.map +1 -0
  60. package/dist/cjs/run.cjs +328 -0
  61. package/dist/cjs/run.cjs.map +1 -0
  62. package/dist/cjs/schemas/validate.cjs +324 -0
  63. package/dist/cjs/schemas/validate.cjs.map +1 -0
  64. package/dist/cjs/splitStream.cjs +210 -0
  65. package/dist/cjs/splitStream.cjs.map +1 -0
  66. package/dist/cjs/stream.cjs +620 -0
  67. package/dist/cjs/stream.cjs.map +1 -0
  68. package/dist/cjs/tools/BrowserTools.cjs +248 -0
  69. package/dist/cjs/tools/BrowserTools.cjs.map +1 -0
  70. package/dist/cjs/tools/Calculator.cjs +66 -0
  71. package/dist/cjs/tools/Calculator.cjs.map +1 -0
  72. package/dist/cjs/tools/CodeExecutor.cjs +234 -0
  73. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -0
  74. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +636 -0
  75. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -0
  76. package/dist/cjs/tools/ToolNode.cjs +548 -0
  77. package/dist/cjs/tools/ToolNode.cjs.map +1 -0
  78. package/dist/cjs/tools/ToolSearch.cjs +909 -0
  79. package/dist/cjs/tools/ToolSearch.cjs.map +1 -0
  80. package/dist/cjs/tools/handlers.cjs +255 -0
  81. package/dist/cjs/tools/handlers.cjs.map +1 -0
  82. package/dist/cjs/tools/schema.cjs +31 -0
  83. package/dist/cjs/tools/schema.cjs.map +1 -0
  84. package/dist/cjs/tools/search/anthropic.cjs +40 -0
  85. package/dist/cjs/tools/search/anthropic.cjs.map +1 -0
  86. package/dist/cjs/tools/search/content.cjs +140 -0
  87. package/dist/cjs/tools/search/content.cjs.map +1 -0
  88. package/dist/cjs/tools/search/firecrawl.cjs +179 -0
  89. package/dist/cjs/tools/search/firecrawl.cjs.map +1 -0
  90. package/dist/cjs/tools/search/format.cjs +203 -0
  91. package/dist/cjs/tools/search/format.cjs.map +1 -0
  92. package/dist/cjs/tools/search/highlights.cjs +245 -0
  93. package/dist/cjs/tools/search/highlights.cjs.map +1 -0
  94. package/dist/cjs/tools/search/rerankers.cjs +174 -0
  95. package/dist/cjs/tools/search/rerankers.cjs.map +1 -0
  96. package/dist/cjs/tools/search/schema.cjs +117 -0
  97. package/dist/cjs/tools/search/schema.cjs.map +1 -0
  98. package/dist/cjs/tools/search/search.cjs +566 -0
  99. package/dist/cjs/tools/search/search.cjs.map +1 -0
  100. package/dist/cjs/tools/search/serper-scraper.cjs +132 -0
  101. package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -0
  102. package/dist/cjs/tools/search/tool.cjs +456 -0
  103. package/dist/cjs/tools/search/tool.cjs.map +1 -0
  104. package/dist/cjs/tools/search/utils.cjs +66 -0
  105. package/dist/cjs/tools/search/utils.cjs.map +1 -0
  106. package/dist/cjs/types/graph.cjs +29 -0
  107. package/dist/cjs/types/graph.cjs.map +1 -0
  108. package/dist/cjs/utils/contextAnalytics.cjs +66 -0
  109. package/dist/cjs/utils/contextAnalytics.cjs.map +1 -0
  110. package/dist/cjs/utils/events.cjs +31 -0
  111. package/dist/cjs/utils/events.cjs.map +1 -0
  112. package/dist/cjs/utils/graph.cjs +16 -0
  113. package/dist/cjs/utils/graph.cjs.map +1 -0
  114. package/dist/cjs/utils/handlers.cjs +70 -0
  115. package/dist/cjs/utils/handlers.cjs.map +1 -0
  116. package/dist/cjs/utils/llm.cjs +27 -0
  117. package/dist/cjs/utils/llm.cjs.map +1 -0
  118. package/dist/cjs/utils/misc.cjs +56 -0
  119. package/dist/cjs/utils/misc.cjs.map +1 -0
  120. package/dist/cjs/utils/run.cjs +73 -0
  121. package/dist/cjs/utils/run.cjs.map +1 -0
  122. package/dist/cjs/utils/schema.cjs +27 -0
  123. package/dist/cjs/utils/schema.cjs.map +1 -0
  124. package/dist/cjs/utils/title.cjs +125 -0
  125. package/dist/cjs/utils/title.cjs.map +1 -0
  126. package/dist/cjs/utils/tokens.cjs +125 -0
  127. package/dist/cjs/utils/tokens.cjs.map +1 -0
  128. package/dist/cjs/utils/toonFormat.cjs +388 -0
  129. package/dist/cjs/utils/toonFormat.cjs.map +1 -0
  130. package/dist/esm/agents/AgentContext.mjs +732 -0
  131. package/dist/esm/agents/AgentContext.mjs.map +1 -0
  132. package/dist/esm/common/enum.mjs +190 -0
  133. package/dist/esm/common/enum.mjs.map +1 -0
  134. package/dist/esm/events.mjs +164 -0
  135. package/dist/esm/events.mjs.map +1 -0
  136. package/dist/esm/graphs/Graph.mjs +1612 -0
  137. package/dist/esm/graphs/Graph.mjs.map +1 -0
  138. package/dist/esm/graphs/MultiAgentGraph.mjs +888 -0
  139. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -0
  140. package/dist/esm/instrumentation.mjs +19 -0
  141. package/dist/esm/instrumentation.mjs.map +1 -0
  142. package/dist/esm/llm/anthropic/index.mjs +290 -0
  143. package/dist/esm/llm/anthropic/index.mjs.map +1 -0
  144. package/dist/esm/llm/anthropic/types.mjs +48 -0
  145. package/dist/esm/llm/anthropic/types.mjs.map +1 -0
  146. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +627 -0
  147. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -0
  148. package/dist/esm/llm/anthropic/utils/message_outputs.mjs +216 -0
  149. package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -0
  150. package/dist/esm/llm/anthropic/utils/tools.mjs +27 -0
  151. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -0
  152. package/dist/esm/llm/bedrock/index.mjs +280 -0
  153. package/dist/esm/llm/bedrock/index.mjs.map +1 -0
  154. package/dist/esm/llm/fake.mjs +94 -0
  155. package/dist/esm/llm/fake.mjs.map +1 -0
  156. package/dist/esm/llm/google/index.mjs +214 -0
  157. package/dist/esm/llm/google/index.mjs.map +1 -0
  158. package/dist/esm/llm/google/utils/common.mjs +638 -0
  159. package/dist/esm/llm/google/utils/common.mjs.map +1 -0
  160. package/dist/esm/llm/openai/index.mjs +1018 -0
  161. package/dist/esm/llm/openai/index.mjs.map +1 -0
  162. package/dist/esm/llm/openai/utils/index.mjs +759 -0
  163. package/dist/esm/llm/openai/utils/index.mjs.map +1 -0
  164. package/dist/esm/llm/openrouter/index.mjs +210 -0
  165. package/dist/esm/llm/openrouter/index.mjs.map +1 -0
  166. package/dist/esm/llm/providers.mjs +39 -0
  167. package/dist/esm/llm/providers.mjs.map +1 -0
  168. package/dist/esm/llm/text.mjs +67 -0
  169. package/dist/esm/llm/text.mjs.map +1 -0
  170. package/dist/esm/llm/vertexai/index.mjs +327 -0
  171. package/dist/esm/llm/vertexai/index.mjs.map +1 -0
  172. package/dist/esm/main.mjs +37 -0
  173. package/dist/esm/main.mjs.map +1 -0
  174. package/dist/esm/messages/cache.mjs +382 -0
  175. package/dist/esm/messages/cache.mjs.map +1 -0
  176. package/dist/esm/messages/content.mjs +51 -0
  177. package/dist/esm/messages/content.mjs.map +1 -0
  178. package/dist/esm/messages/core.mjs +359 -0
  179. package/dist/esm/messages/core.mjs.map +1 -0
  180. package/dist/esm/messages/format.mjs +752 -0
  181. package/dist/esm/messages/format.mjs.map +1 -0
  182. package/dist/esm/messages/ids.mjs +21 -0
  183. package/dist/esm/messages/ids.mjs.map +1 -0
  184. package/dist/esm/messages/prune.mjs +393 -0
  185. package/dist/esm/messages/prune.mjs.map +1 -0
  186. package/dist/esm/messages/tools.mjs +93 -0
  187. package/dist/esm/messages/tools.mjs.map +1 -0
  188. package/dist/esm/run.mjs +325 -0
  189. package/dist/esm/run.mjs.map +1 -0
  190. package/dist/esm/schemas/validate.mjs +317 -0
  191. package/dist/esm/schemas/validate.mjs.map +1 -0
  192. package/dist/esm/splitStream.mjs +207 -0
  193. package/dist/esm/splitStream.mjs.map +1 -0
  194. package/dist/esm/stream.mjs +616 -0
  195. package/dist/esm/stream.mjs.map +1 -0
  196. package/dist/esm/tools/BrowserTools.mjs +244 -0
  197. package/dist/esm/tools/BrowserTools.mjs.map +1 -0
  198. package/dist/esm/tools/Calculator.mjs +41 -0
  199. package/dist/esm/tools/Calculator.mjs.map +1 -0
  200. package/dist/esm/tools/CodeExecutor.mjs +226 -0
  201. package/dist/esm/tools/CodeExecutor.mjs.map +1 -0
  202. package/dist/esm/tools/ProgrammaticToolCalling.mjs +622 -0
  203. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -0
  204. package/dist/esm/tools/ToolNode.mjs +545 -0
  205. package/dist/esm/tools/ToolNode.mjs.map +1 -0
  206. package/dist/esm/tools/ToolSearch.mjs +870 -0
  207. package/dist/esm/tools/ToolSearch.mjs.map +1 -0
  208. package/dist/esm/tools/handlers.mjs +250 -0
  209. package/dist/esm/tools/handlers.mjs.map +1 -0
  210. package/dist/esm/tools/schema.mjs +28 -0
  211. package/dist/esm/tools/schema.mjs.map +1 -0
  212. package/dist/esm/tools/search/anthropic.mjs +37 -0
  213. package/dist/esm/tools/search/anthropic.mjs.map +1 -0
  214. package/dist/esm/tools/search/content.mjs +119 -0
  215. package/dist/esm/tools/search/content.mjs.map +1 -0
  216. package/dist/esm/tools/search/firecrawl.mjs +176 -0
  217. package/dist/esm/tools/search/firecrawl.mjs.map +1 -0
  218. package/dist/esm/tools/search/format.mjs +201 -0
  219. package/dist/esm/tools/search/format.mjs.map +1 -0
  220. package/dist/esm/tools/search/highlights.mjs +243 -0
  221. package/dist/esm/tools/search/highlights.mjs.map +1 -0
  222. package/dist/esm/tools/search/rerankers.mjs +168 -0
  223. package/dist/esm/tools/search/rerankers.mjs.map +1 -0
  224. package/dist/esm/tools/search/schema.mjs +104 -0
  225. package/dist/esm/tools/search/schema.mjs.map +1 -0
  226. package/dist/esm/tools/search/search.mjs +563 -0
  227. package/dist/esm/tools/search/search.mjs.map +1 -0
  228. package/dist/esm/tools/search/serper-scraper.mjs +129 -0
  229. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -0
  230. package/dist/esm/tools/search/tool.mjs +454 -0
  231. package/dist/esm/tools/search/tool.mjs.map +1 -0
  232. package/dist/esm/tools/search/utils.mjs +61 -0
  233. package/dist/esm/tools/search/utils.mjs.map +1 -0
  234. package/dist/esm/types/graph.mjs +26 -0
  235. package/dist/esm/types/graph.mjs.map +1 -0
  236. package/dist/esm/utils/contextAnalytics.mjs +64 -0
  237. package/dist/esm/utils/contextAnalytics.mjs.map +1 -0
  238. package/dist/esm/utils/events.mjs +29 -0
  239. package/dist/esm/utils/events.mjs.map +1 -0
  240. package/dist/esm/utils/graph.mjs +13 -0
  241. package/dist/esm/utils/graph.mjs.map +1 -0
  242. package/dist/esm/utils/handlers.mjs +68 -0
  243. package/dist/esm/utils/handlers.mjs.map +1 -0
  244. package/dist/esm/utils/llm.mjs +24 -0
  245. package/dist/esm/utils/llm.mjs.map +1 -0
  246. package/dist/esm/utils/misc.mjs +53 -0
  247. package/dist/esm/utils/misc.mjs.map +1 -0
  248. package/dist/esm/utils/run.mjs +70 -0
  249. package/dist/esm/utils/run.mjs.map +1 -0
  250. package/dist/esm/utils/schema.mjs +24 -0
  251. package/dist/esm/utils/schema.mjs.map +1 -0
  252. package/dist/esm/utils/title.mjs +122 -0
  253. package/dist/esm/utils/title.mjs.map +1 -0
  254. package/dist/esm/utils/tokens.mjs +121 -0
  255. package/dist/esm/utils/tokens.mjs.map +1 -0
  256. package/dist/esm/utils/toonFormat.mjs +381 -0
  257. package/dist/esm/utils/toonFormat.mjs.map +1 -0
  258. package/dist/types/agents/AgentContext.d.ts +293 -0
  259. package/dist/types/common/enum.d.ts +155 -0
  260. package/dist/types/common/index.d.ts +1 -0
  261. package/dist/types/events.d.ts +31 -0
  262. package/dist/types/graphs/Graph.d.ts +216 -0
  263. package/dist/types/graphs/MultiAgentGraph.d.ts +104 -0
  264. package/dist/types/graphs/index.d.ts +2 -0
  265. package/dist/types/index.d.ts +21 -0
  266. package/dist/types/instrumentation.d.ts +1 -0
  267. package/dist/types/llm/anthropic/index.d.ts +39 -0
  268. package/dist/types/llm/anthropic/types.d.ts +37 -0
  269. package/dist/types/llm/anthropic/utils/message_inputs.d.ts +14 -0
  270. package/dist/types/llm/anthropic/utils/message_outputs.d.ts +14 -0
  271. package/dist/types/llm/anthropic/utils/output_parsers.d.ts +22 -0
  272. package/dist/types/llm/anthropic/utils/tools.d.ts +3 -0
  273. package/dist/types/llm/bedrock/index.d.ts +141 -0
  274. package/dist/types/llm/bedrock/types.d.ts +27 -0
  275. package/dist/types/llm/bedrock/utils/index.d.ts +5 -0
  276. package/dist/types/llm/bedrock/utils/message_inputs.d.ts +31 -0
  277. package/dist/types/llm/bedrock/utils/message_outputs.d.ts +33 -0
  278. package/dist/types/llm/fake.d.ts +31 -0
  279. package/dist/types/llm/google/index.d.ts +24 -0
  280. package/dist/types/llm/google/types.d.ts +42 -0
  281. package/dist/types/llm/google/utils/common.d.ts +34 -0
  282. package/dist/types/llm/google/utils/tools.d.ts +10 -0
  283. package/dist/types/llm/google/utils/zod_to_genai_parameters.d.ts +14 -0
  284. package/dist/types/llm/openai/index.d.ts +127 -0
  285. package/dist/types/llm/openai/types.d.ts +10 -0
  286. package/dist/types/llm/openai/utils/index.d.ts +29 -0
  287. package/dist/types/llm/openrouter/index.d.ts +15 -0
  288. package/dist/types/llm/providers.d.ts +5 -0
  289. package/dist/types/llm/text.d.ts +21 -0
  290. package/dist/types/llm/vertexai/index.d.ts +293 -0
  291. package/dist/types/messages/cache.d.ts +54 -0
  292. package/dist/types/messages/content.d.ts +7 -0
  293. package/dist/types/messages/core.d.ts +14 -0
  294. package/dist/types/messages/format.d.ts +137 -0
  295. package/dist/types/messages/ids.d.ts +3 -0
  296. package/dist/types/messages/index.d.ts +7 -0
  297. package/dist/types/messages/prune.d.ts +52 -0
  298. package/dist/types/messages/reducer.d.ts +9 -0
  299. package/dist/types/messages/tools.d.ts +17 -0
  300. package/dist/types/mockStream.d.ts +32 -0
  301. package/dist/types/prompts/collab.d.ts +1 -0
  302. package/dist/types/prompts/index.d.ts +2 -0
  303. package/dist/types/prompts/taskmanager.d.ts +41 -0
  304. package/dist/types/run.d.ts +41 -0
  305. package/dist/types/schemas/index.d.ts +1 -0
  306. package/dist/types/schemas/validate.d.ts +59 -0
  307. package/dist/types/splitStream.d.ts +37 -0
  308. package/dist/types/stream.d.ts +15 -0
  309. package/dist/types/test/mockTools.d.ts +28 -0
  310. package/dist/types/tools/BrowserTools.d.ts +87 -0
  311. package/dist/types/tools/Calculator.d.ts +34 -0
  312. package/dist/types/tools/CodeExecutor.d.ts +57 -0
  313. package/dist/types/tools/ProgrammaticToolCalling.d.ts +138 -0
  314. package/dist/types/tools/ToolNode.d.ts +51 -0
  315. package/dist/types/tools/ToolSearch.d.ts +219 -0
  316. package/dist/types/tools/handlers.d.ts +22 -0
  317. package/dist/types/tools/schema.d.ts +12 -0
  318. package/dist/types/tools/search/anthropic.d.ts +16 -0
  319. package/dist/types/tools/search/content.d.ts +4 -0
  320. package/dist/types/tools/search/firecrawl.d.ts +54 -0
  321. package/dist/types/tools/search/format.d.ts +5 -0
  322. package/dist/types/tools/search/highlights.d.ts +13 -0
  323. package/dist/types/tools/search/index.d.ts +3 -0
  324. package/dist/types/tools/search/rerankers.d.ts +38 -0
  325. package/dist/types/tools/search/schema.d.ts +103 -0
  326. package/dist/types/tools/search/search.d.ts +8 -0
  327. package/dist/types/tools/search/serper-scraper.d.ts +59 -0
  328. package/dist/types/tools/search/test.d.ts +1 -0
  329. package/dist/types/tools/search/tool.d.ts +3 -0
  330. package/dist/types/tools/search/types.d.ts +575 -0
  331. package/dist/types/tools/search/utils.d.ts +10 -0
  332. package/dist/types/types/graph.d.ts +399 -0
  333. package/dist/types/types/index.d.ts +5 -0
  334. package/dist/types/types/llm.d.ts +105 -0
  335. package/dist/types/types/messages.d.ts +4 -0
  336. package/dist/types/types/run.d.ts +112 -0
  337. package/dist/types/types/stream.d.ts +308 -0
  338. package/dist/types/types/tools.d.ts +296 -0
  339. package/dist/types/utils/contextAnalytics.d.ts +37 -0
  340. package/dist/types/utils/events.d.ts +6 -0
  341. package/dist/types/utils/graph.d.ts +2 -0
  342. package/dist/types/utils/handlers.d.ts +34 -0
  343. package/dist/types/utils/index.d.ts +9 -0
  344. package/dist/types/utils/llm.d.ts +3 -0
  345. package/dist/types/utils/llmConfig.d.ts +3 -0
  346. package/dist/types/utils/logging.d.ts +1 -0
  347. package/dist/types/utils/misc.d.ts +7 -0
  348. package/dist/types/utils/run.d.ts +27 -0
  349. package/dist/types/utils/schema.d.ts +8 -0
  350. package/dist/types/utils/title.d.ts +4 -0
  351. package/dist/types/utils/tokens.d.ts +28 -0
  352. package/dist/types/utils/toonFormat.d.ts +111 -0
  353. package/package.json +190 -0
  354. package/src/agents/AgentContext.test.ts +458 -0
  355. package/src/agents/AgentContext.ts +972 -0
  356. package/src/agents/__tests__/AgentContext.test.ts +805 -0
  357. package/src/agents/__tests__/resolveStructuredOutputMode.test.ts +137 -0
  358. package/src/common/enum.ts +203 -0
  359. package/src/common/index.ts +2 -0
  360. package/src/events.ts +223 -0
  361. package/src/graphs/Graph.ts +2228 -0
  362. package/src/graphs/MultiAgentGraph.ts +1063 -0
  363. package/src/graphs/__tests__/structured-output.integration.test.ts +809 -0
  364. package/src/graphs/__tests__/structured-output.test.ts +183 -0
  365. package/src/graphs/index.ts +2 -0
  366. package/src/index.ts +34 -0
  367. package/src/instrumentation.ts +22 -0
  368. package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
  369. package/src/llm/anthropic/index.ts +413 -0
  370. package/src/llm/anthropic/llm.spec.ts +1442 -0
  371. package/src/llm/anthropic/types.ts +140 -0
  372. package/src/llm/anthropic/utils/message_inputs.ts +757 -0
  373. package/src/llm/anthropic/utils/message_outputs.ts +289 -0
  374. package/src/llm/anthropic/utils/output_parsers.ts +133 -0
  375. package/src/llm/anthropic/utils/tools.ts +29 -0
  376. package/src/llm/bedrock/__tests__/bedrock-caching.test.ts +495 -0
  377. package/src/llm/bedrock/index.ts +411 -0
  378. package/src/llm/bedrock/llm.spec.ts +616 -0
  379. package/src/llm/bedrock/types.ts +51 -0
  380. package/src/llm/bedrock/utils/index.ts +18 -0
  381. package/src/llm/bedrock/utils/message_inputs.ts +563 -0
  382. package/src/llm/bedrock/utils/message_outputs.ts +310 -0
  383. package/src/llm/fake.ts +133 -0
  384. package/src/llm/google/data/gettysburg10.wav +0 -0
  385. package/src/llm/google/data/hotdog.jpg +0 -0
  386. package/src/llm/google/index.ts +337 -0
  387. package/src/llm/google/llm.spec.ts +934 -0
  388. package/src/llm/google/types.ts +56 -0
  389. package/src/llm/google/utils/common.ts +873 -0
  390. package/src/llm/google/utils/tools.ts +160 -0
  391. package/src/llm/google/utils/zod_to_genai_parameters.ts +86 -0
  392. package/src/llm/openai/index.ts +1366 -0
  393. package/src/llm/openai/types.ts +24 -0
  394. package/src/llm/openai/utils/index.ts +1035 -0
  395. package/src/llm/openai/utils/isReasoningModel.test.ts +90 -0
  396. package/src/llm/openrouter/index.ts +291 -0
  397. package/src/llm/providers.ts +52 -0
  398. package/src/llm/text.ts +94 -0
  399. package/src/llm/vertexai/index.ts +359 -0
  400. package/src/messages/__tests__/tools.test.ts +473 -0
  401. package/src/messages/cache.test.ts +1261 -0
  402. package/src/messages/cache.ts +518 -0
  403. package/src/messages/content.test.ts +362 -0
  404. package/src/messages/content.ts +63 -0
  405. package/src/messages/core.ts +473 -0
  406. package/src/messages/ensureThinkingBlock.test.ts +468 -0
  407. package/src/messages/format.ts +1029 -0
  408. package/src/messages/formatAgentMessages.test.ts +1513 -0
  409. package/src/messages/formatAgentMessages.tools.test.ts +419 -0
  410. package/src/messages/formatMessage.test.ts +693 -0
  411. package/src/messages/ids.ts +26 -0
  412. package/src/messages/index.ts +7 -0
  413. package/src/messages/labelContentByAgent.test.ts +887 -0
  414. package/src/messages/prune.ts +568 -0
  415. package/src/messages/reducer.ts +80 -0
  416. package/src/messages/shiftIndexTokenCountMap.test.ts +81 -0
  417. package/src/messages/tools.ts +108 -0
  418. package/src/mockStream.ts +99 -0
  419. package/src/prompts/collab.ts +6 -0
  420. package/src/prompts/index.ts +2 -0
  421. package/src/prompts/taskmanager.ts +61 -0
  422. package/src/run.ts +467 -0
  423. package/src/schemas/index.ts +2 -0
  424. package/src/schemas/schema-preparation.test.ts +500 -0
  425. package/src/schemas/validate.test.ts +358 -0
  426. package/src/schemas/validate.ts +454 -0
  427. package/src/scripts/abort.ts +157 -0
  428. package/src/scripts/ant_web_search.ts +158 -0
  429. package/src/scripts/ant_web_search_edge_case.ts +162 -0
  430. package/src/scripts/ant_web_search_error_edge_case.ts +148 -0
  431. package/src/scripts/args.ts +48 -0
  432. package/src/scripts/caching.ts +132 -0
  433. package/src/scripts/cli.ts +172 -0
  434. package/src/scripts/cli2.ts +133 -0
  435. package/src/scripts/cli3.ts +184 -0
  436. package/src/scripts/cli4.ts +191 -0
  437. package/src/scripts/cli5.ts +191 -0
  438. package/src/scripts/code_exec.ts +213 -0
  439. package/src/scripts/code_exec_files.ts +236 -0
  440. package/src/scripts/code_exec_multi_session.ts +241 -0
  441. package/src/scripts/code_exec_ptc.ts +334 -0
  442. package/src/scripts/code_exec_session.ts +282 -0
  443. package/src/scripts/code_exec_simple.ts +147 -0
  444. package/src/scripts/content.ts +138 -0
  445. package/src/scripts/empty_input.ts +137 -0
  446. package/src/scripts/handoff-test.ts +135 -0
  447. package/src/scripts/image.ts +178 -0
  448. package/src/scripts/memory.ts +97 -0
  449. package/src/scripts/multi-agent-chain.ts +331 -0
  450. package/src/scripts/multi-agent-conditional.ts +221 -0
  451. package/src/scripts/multi-agent-document-review-chain.ts +197 -0
  452. package/src/scripts/multi-agent-hybrid-flow.ts +310 -0
  453. package/src/scripts/multi-agent-parallel-start.ts +265 -0
  454. package/src/scripts/multi-agent-parallel.ts +394 -0
  455. package/src/scripts/multi-agent-sequence.ts +217 -0
  456. package/src/scripts/multi-agent-supervisor.ts +365 -0
  457. package/src/scripts/multi-agent-test.ts +186 -0
  458. package/src/scripts/parallel-asymmetric-tools-test.ts +274 -0
  459. package/src/scripts/parallel-full-metadata-test.ts +240 -0
  460. package/src/scripts/parallel-tools-test.ts +340 -0
  461. package/src/scripts/programmatic_exec.ts +396 -0
  462. package/src/scripts/programmatic_exec_agent.ts +231 -0
  463. package/src/scripts/search.ts +146 -0
  464. package/src/scripts/sequential-full-metadata-test.ts +197 -0
  465. package/src/scripts/simple.ts +225 -0
  466. package/src/scripts/single-agent-metadata-test.ts +198 -0
  467. package/src/scripts/stream.ts +140 -0
  468. package/src/scripts/test-custom-prompt-key.ts +145 -0
  469. package/src/scripts/test-handoff-input.ts +170 -0
  470. package/src/scripts/test-handoff-preamble.ts +277 -0
  471. package/src/scripts/test-multi-agent-list-handoff.ts +417 -0
  472. package/src/scripts/test-parallel-agent-labeling.ts +325 -0
  473. package/src/scripts/test-parallel-handoffs.ts +291 -0
  474. package/src/scripts/test-thinking-handoff-bedrock.ts +153 -0
  475. package/src/scripts/test-thinking-handoff.ts +155 -0
  476. package/src/scripts/test-tools-before-handoff.ts +226 -0
  477. package/src/scripts/test_code_api.ts +361 -0
  478. package/src/scripts/thinking-bedrock.ts +159 -0
  479. package/src/scripts/thinking.ts +171 -0
  480. package/src/scripts/tool_search.ts +162 -0
  481. package/src/scripts/tools.ts +177 -0
  482. package/src/specs/agent-handoffs.test.ts +888 -0
  483. package/src/specs/anthropic.simple.test.ts +387 -0
  484. package/src/specs/azure.simple.test.ts +364 -0
  485. package/src/specs/cache.simple.test.ts +396 -0
  486. package/src/specs/deepseek.simple.test.ts +283 -0
  487. package/src/specs/emergency-prune.test.ts +407 -0
  488. package/src/specs/moonshot.simple.test.ts +358 -0
  489. package/src/specs/openai.simple.test.ts +311 -0
  490. package/src/specs/openrouter.simple.test.ts +107 -0
  491. package/src/specs/prune.test.ts +901 -0
  492. package/src/specs/reasoning.test.ts +201 -0
  493. package/src/specs/spec.utils.ts +3 -0
  494. package/src/specs/thinking-handoff.test.ts +620 -0
  495. package/src/specs/thinking-prune.test.ts +703 -0
  496. package/src/specs/token-distribution-edge-case.test.ts +316 -0
  497. package/src/specs/token-memoization.test.ts +32 -0
  498. package/src/specs/tool-error.test.ts +198 -0
  499. package/src/splitStream.test.ts +691 -0
  500. package/src/splitStream.ts +234 -0
  501. package/src/stream.test.ts +94 -0
  502. package/src/stream.ts +801 -0
  503. package/src/test/mockTools.ts +386 -0
  504. package/src/tools/BrowserTools.ts +393 -0
  505. package/src/tools/Calculator.test.ts +278 -0
  506. package/src/tools/Calculator.ts +46 -0
  507. package/src/tools/CodeExecutor.ts +270 -0
  508. package/src/tools/ProgrammaticToolCalling.ts +785 -0
  509. package/src/tools/ToolNode.ts +674 -0
  510. package/src/tools/ToolSearch.ts +1095 -0
  511. package/src/tools/__tests__/BrowserTools.test.ts +265 -0
  512. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +319 -0
  513. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +1006 -0
  514. package/src/tools/__tests__/ToolSearch.integration.test.ts +162 -0
  515. package/src/tools/__tests__/ToolSearch.test.ts +1003 -0
  516. package/src/tools/handlers.ts +363 -0
  517. package/src/tools/schema.ts +37 -0
  518. package/src/tools/search/anthropic.ts +51 -0
  519. package/src/tools/search/content.test.ts +173 -0
  520. package/src/tools/search/content.ts +147 -0
  521. package/src/tools/search/firecrawl.ts +210 -0
  522. package/src/tools/search/format.ts +250 -0
  523. package/src/tools/search/highlights.ts +320 -0
  524. package/src/tools/search/index.ts +3 -0
  525. package/src/tools/search/jina-reranker.test.ts +130 -0
  526. package/src/tools/search/output.md +2775 -0
  527. package/src/tools/search/rerankers.ts +242 -0
  528. package/src/tools/search/schema.ts +113 -0
  529. package/src/tools/search/search.ts +768 -0
  530. package/src/tools/search/serper-scraper.ts +155 -0
  531. package/src/tools/search/test.html +884 -0
  532. package/src/tools/search/test.md +643 -0
  533. package/src/tools/search/test.ts +159 -0
  534. package/src/tools/search/tool.ts +657 -0
  535. package/src/tools/search/types.ts +665 -0
  536. package/src/tools/search/utils.ts +79 -0
  537. package/src/types/graph.test.ts +218 -0
  538. package/src/types/graph.ts +533 -0
  539. package/src/types/index.ts +6 -0
  540. package/src/types/llm.ts +140 -0
  541. package/src/types/messages.ts +4 -0
  542. package/src/types/run.ts +128 -0
  543. package/src/types/stream.ts +417 -0
  544. package/src/types/tools.ts +355 -0
  545. package/src/utils/contextAnalytics.ts +103 -0
  546. package/src/utils/events.ts +32 -0
  547. package/src/utils/graph.ts +11 -0
  548. package/src/utils/handlers.ts +107 -0
  549. package/src/utils/index.ts +9 -0
  550. package/src/utils/llm.ts +26 -0
  551. package/src/utils/llmConfig.ts +208 -0
  552. package/src/utils/logging.ts +48 -0
  553. package/src/utils/misc.ts +57 -0
  554. package/src/utils/run.ts +106 -0
  555. package/src/utils/schema.ts +35 -0
  556. package/src/utils/title.ts +177 -0
  557. package/src/utils/tokens.ts +142 -0
  558. package/src/utils/toonFormat.ts +475 -0
@@ -0,0 +1,128 @@
1
+ // src/types/run.ts
2
+ import type * as z from 'zod';
3
+ import type { BaseMessage } from '@langchain/core/messages';
4
+ import type { StructuredTool } from '@langchain/core/tools';
5
+ import type { RunnableConfig } from '@langchain/core/runnables';
6
+ import type {
7
+ BaseCallbackHandler,
8
+ CallbackHandlerMethods,
9
+ } from '@langchain/core/callbacks/base';
10
+ import type * as s from '@/types/stream';
11
+ import type * as e from '@/common/enum';
12
+ import type * as g from '@/types/graph';
13
+ import type * as l from '@/types/llm';
14
+
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ export type ZodObjectAny = z.ZodObject<any, any, any, any>;
17
+ export type BaseGraphConfig = {
18
+ llmConfig: l.LLMConfig;
19
+ provider?: e.Providers;
20
+ clientOptions?: l.ClientOptions;
21
+ /** Optional compile options for workflow.compile() */
22
+ compileOptions?: g.CompileOptions;
23
+ };
24
+ export type LegacyGraphConfig = BaseGraphConfig & {
25
+ type?: 'standard';
26
+ } & Omit<g.StandardGraphInput, 'provider' | 'clientOptions' | 'agents'> &
27
+ Omit<g.AgentInputs, 'provider' | 'clientOptions' | 'agentId'>;
28
+
29
+ /* Supervised graph (opt-in) */
30
+ export type SupervisedGraphConfig = BaseGraphConfig & {
31
+ type: 'supervised';
32
+ /** Enable supervised router; when false, fall back to standard loop */
33
+ routerEnabled?: boolean;
34
+ /** Table-driven routing policy per stage */
35
+ routingPolicies?: Array<{
36
+ stage: string;
37
+ agents?: string[];
38
+ model?: e.Providers;
39
+ parallel?: boolean;
40
+ /** Optional simple condition on content/tools */
41
+ when?:
42
+ | 'always'
43
+ | 'has_tools'
44
+ | 'no_tools'
45
+ | { includes?: string[]; excludes?: string[] };
46
+ }>;
47
+ /** Opt-in feature flags */
48
+ featureFlags?: {
49
+ multi_model_routing?: boolean;
50
+ fan_out?: boolean;
51
+ fan_out_retries?: number;
52
+ fan_out_backoff_ms?: number;
53
+ fan_out_concurrency?: number;
54
+ };
55
+ /** Optional per-stage model configs */
56
+ models?: Record<string, l.LLMConfig>;
57
+ } & Omit<g.StandardGraphInput, 'provider' | 'clientOptions'>;
58
+
59
+ export type RunTitleOptions = {
60
+ inputText: string;
61
+ provider: e.Providers;
62
+ contentParts: (s.MessageContentComplex | undefined)[];
63
+ titlePrompt?: string;
64
+ skipLanguage?: boolean;
65
+ clientOptions?: l.ClientOptions;
66
+ chainOptions?: Partial<RunnableConfig> | undefined;
67
+ omitOptions?: Set<string>;
68
+ titleMethod?: e.TitleMethod;
69
+ titlePromptTemplate?: string;
70
+ };
71
+
72
+ export interface AgentStateChannels {
73
+ messages: BaseMessage[];
74
+ next: string;
75
+ [key: string]: unknown;
76
+ instructions?: string;
77
+ additional_instructions?: string;
78
+ }
79
+
80
+ export interface Member {
81
+ name: string;
82
+ systemPrompt: string;
83
+ tools: StructuredTool[];
84
+ llmConfig: l.LLMConfig;
85
+ }
86
+
87
+ export type CollaborativeGraphConfig = {
88
+ type: 'collaborative';
89
+ members: Member[];
90
+ supervisorConfig: { systemPrompt?: string; llmConfig: l.LLMConfig };
91
+ };
92
+
93
+ export type TaskManagerGraphConfig = {
94
+ type: 'taskmanager';
95
+ members: Member[];
96
+ supervisorConfig: { systemPrompt?: string; llmConfig: l.LLMConfig };
97
+ };
98
+
99
+ export type MultiAgentGraphConfig = {
100
+ type: 'multi-agent';
101
+ compileOptions?: g.CompileOptions;
102
+ agents: g.AgentInputs[];
103
+ edges: g.GraphEdge[];
104
+ };
105
+
106
+ export type StandardGraphConfig = Omit<
107
+ MultiAgentGraphConfig,
108
+ 'edges' | 'type'
109
+ > & { type?: 'standard'; signal?: AbortSignal };
110
+
111
+ export type RunConfig = {
112
+ runId: string;
113
+ graphConfig: LegacyGraphConfig | StandardGraphConfig | MultiAgentGraphConfig;
114
+ customHandlers?: Record<string, g.EventHandler>;
115
+ returnContent?: boolean;
116
+ tokenCounter?: TokenCounter;
117
+ indexTokenCountMap?: Record<string, number>;
118
+ };
119
+
120
+ export type ProvidedCallbacks =
121
+ | (BaseCallbackHandler | CallbackHandlerMethods)[]
122
+ | undefined;
123
+
124
+ export type TokenCounter = (message: BaseMessage) => number;
125
+ export type EventStreamOptions = {
126
+ callbacks?: g.ClientCallbacks;
127
+ keepContent?: boolean;
128
+ };
@@ -0,0 +1,417 @@
1
+ // src/types/stream.ts
2
+ import type OpenAITypes from 'openai';
3
+ import type {
4
+ MessageContentImageUrl,
5
+ MessageContentText,
6
+ ToolMessage,
7
+ BaseMessage,
8
+ } from '@langchain/core/messages';
9
+ import type { ToolCall, ToolCallChunk } from '@langchain/core/messages/tool';
10
+ import type { LLMResult, Generation } from '@langchain/core/outputs';
11
+ import type { AnthropicContentBlock } from '@/llm/anthropic/types';
12
+ import type { Command } from '@langchain/langgraph';
13
+ import type { ToolEndEvent } from '@/types/tools';
14
+ import { StepTypes, ContentTypes, GraphEvents } from '@/common/enum';
15
+
16
+ export type HandleLLMEnd = (
17
+ output: LLMResult,
18
+ runId: string,
19
+ parentRunId?: string,
20
+ tags?: string[]
21
+ ) => void;
22
+
23
+ export type MetadataAggregatorResult = {
24
+ handleLLMEnd: HandleLLMEnd;
25
+ collected: Record<string, unknown>[];
26
+ };
27
+
28
+ export type StreamGeneration = Generation & {
29
+ text?: string;
30
+ message?: BaseMessage;
31
+ };
32
+
33
+ /** Event names are of the format: on_[runnable_type]_(start|stream|end).
34
+
35
+ Runnable types are one of:
36
+
37
+ llm - used by non chat models
38
+ chat_model - used by chat models
39
+ prompt -- e.g., ChatPromptTemplate
40
+ tool -- LangChain tools
41
+ chain - most Runnables are of this type
42
+ Further, the events are categorized as one of:
43
+
44
+ start - when the runnable starts
45
+ stream - when the runnable is streaming
46
+ end - when the runnable ends
47
+ start, stream and end are associated with slightly different data payload.
48
+
49
+ Please see the documentation for EventData for more details. */
50
+ export type EventName = string;
51
+
52
+ export type RunStep = {
53
+ // id: string;
54
+ // object: 'thread.run.step'; // Updated from 'run.step' # missing
55
+ // created_at: number;
56
+ // run_id: string;
57
+ // assistant_id: string;
58
+ // thread_id: string;
59
+ type: StepTypes;
60
+ // status: 'in_progress' | 'completed' | 'failed' | 'cancelled'; // Add other possible status values if needed
61
+ // cancelled_at: number | null;
62
+ // completed_at: number | null;
63
+ // expires_at: number;
64
+ // failed_at: number | null;
65
+ // last_error: string | null;
66
+ id: string; // #new
67
+ runId?: string; // #new
68
+ agentId?: string; // #new - tracks which agent this step belongs to
69
+ /**
70
+ * Group ID - incrementing number (1, 2, 3...) reflecting execution order.
71
+ * Agents with the same groupId run in parallel and should be rendered together.
72
+ * undefined means the agent runs sequentially (not part of any parallel group).
73
+ *
74
+ * Example for: researcher -> [analyst1, analyst2, analyst3] -> summarizer
75
+ * - researcher: undefined (sequential)
76
+ * - analyst1, analyst2, analyst3: 1 (first parallel group)
77
+ * - summarizer: undefined (sequential)
78
+ */
79
+ groupId?: number; // #new
80
+ index: number; // #new
81
+ stepIndex?: number; // #new
82
+ stepDetails: StepDetails;
83
+ usage?: null | object;
84
+ // {
85
+ // Define usage structure if it's ever non-null
86
+ // prompt_tokens: number; // #new
87
+ // completion_tokens: number; // #new
88
+ // total_tokens: number; // #new
89
+ // };
90
+ };
91
+
92
+ /**
93
+ * Represents a run step delta i.e. any changed fields on a run step during
94
+ * streaming.
95
+ */
96
+ export interface RunStepDeltaEvent {
97
+ /**
98
+ * The identifier of the run step, which can be referenced in API endpoints.
99
+ */
100
+ id: string;
101
+ /**
102
+ * The delta containing the fields that have changed on the run step.
103
+ */
104
+ delta: ToolCallDelta;
105
+ }
106
+
107
+ export type StepDetails = MessageCreationDetails | ToolCallsDetails;
108
+
109
+ export type StepCompleted = ToolCallCompleted;
110
+
111
+ export type MessageCreationDetails = {
112
+ type: StepTypes.MESSAGE_CREATION;
113
+ message_creation: {
114
+ message_id: string;
115
+ };
116
+ };
117
+
118
+ export type ToolEndData = {
119
+ input: string | Record<string, unknown>;
120
+ output?: ToolMessage | Command;
121
+ };
122
+ export type ToolErrorData = {
123
+ id: string;
124
+ name: string;
125
+ error?: Error;
126
+ } & Pick<ToolEndData, 'input'>;
127
+ export type ToolEndCallback = (
128
+ data: ToolEndData,
129
+ metadata?: Record<string, unknown>
130
+ ) => Promise<void>;
131
+
132
+ export type ProcessedToolCall = {
133
+ name: string;
134
+ args: string | Record<string, unknown>;
135
+ id: string;
136
+ output: string;
137
+ progress: number;
138
+ };
139
+
140
+ export type ProcessedContent = {
141
+ type: ContentType;
142
+ text?: string;
143
+ tool_call?: ProcessedToolCall;
144
+ };
145
+
146
+ export type ToolCallCompleted = {
147
+ type: 'tool_call';
148
+ tool_call: ProcessedToolCall;
149
+ };
150
+
151
+ export type ToolCompleteEvent = ToolCallCompleted & {
152
+ /** The Step Id of the Tool Call */
153
+ id: string;
154
+ /** The content index of the tool call */
155
+ index: number;
156
+ type: 'tool_call';
157
+ };
158
+
159
+ export type ToolCallsDetails = {
160
+ type: StepTypes.TOOL_CALLS;
161
+ tool_calls?: AgentToolCall[]; // #new
162
+ };
163
+
164
+ export type ToolCallDelta = {
165
+ type: StepTypes;
166
+ tool_calls?: ToolCallChunk[]; // #new
167
+ };
168
+
169
+ export type AgentToolCall =
170
+ | {
171
+ id: string; // #new
172
+ type: 'function'; // #new
173
+ function: {
174
+ name: string; // #new
175
+ arguments: string | object; // JSON string // #new
176
+ };
177
+ }
178
+ | ToolCall;
179
+
180
+ export interface ExtendedMessageContent {
181
+ type?: string;
182
+ text?: string;
183
+ input?: string;
184
+ index?: number;
185
+ id?: string;
186
+ name?: string;
187
+ }
188
+
189
+ export type AgentUpdate = {
190
+ type: ContentTypes.AGENT_UPDATE;
191
+ agent_update: {
192
+ index: number;
193
+ runId: string;
194
+ agentId: string;
195
+ };
196
+ };
197
+
198
+ /**
199
+ * Represents a message delta i.e. any changed fields on a message during
200
+ * streaming.
201
+ */
202
+ export interface MessageDeltaEvent {
203
+ /**
204
+ * The identifier of the message, which can be referenced in API endpoints.
205
+ */
206
+ id: string;
207
+
208
+ /**
209
+ * The delta containing the fields that have changed on the Message.
210
+ */
211
+ delta: MessageDelta;
212
+ }
213
+
214
+ /**
215
+ * The delta containing the fields that have changed on the Message.
216
+ */
217
+ export interface MessageDelta {
218
+ /**
219
+ * The content of the message in array of text and/or images.
220
+ */
221
+ content?: MessageContentComplex[];
222
+ /**
223
+ * The tool call ids associated with the message.
224
+ */
225
+ tool_call_ids?: string[];
226
+ }
227
+
228
+ /**
229
+ * Represents a reasoning delta i.e. any changed fields on a message during
230
+ * streaming.
231
+ */
232
+ export interface ReasoningDeltaEvent {
233
+ /**
234
+ * The identifier of the message, which can be referenced in API endpoints.
235
+ */
236
+ id: string;
237
+
238
+ /**
239
+ * The delta containing the fields that have changed.
240
+ */
241
+ delta: ReasoningDelta;
242
+ }
243
+
244
+ /**
245
+ * The reasoning delta containing the fields that have changed on the Message.
246
+ */
247
+ export interface ReasoningDelta {
248
+ /**
249
+ * The content of the message in array of text and/or images.
250
+ */
251
+ content?: MessageContentComplex[];
252
+ }
253
+
254
+ export type MessageDeltaUpdate = {
255
+ type: ContentTypes.TEXT;
256
+ text: string;
257
+ tool_call_ids?: string[];
258
+ };
259
+ export type ReasoningDeltaUpdate = { type: ContentTypes.THINK; think: string };
260
+
261
+ export type ContentType = 'text' | 'image_url' | 'tool_call' | 'think' | string;
262
+
263
+ export type ReasoningContentText = {
264
+ type: ContentTypes.THINK;
265
+ think: string;
266
+ };
267
+
268
+ /** Vertex AI / Google Common - Reasoning Content Block Format */
269
+ export type GoogleReasoningContentText = {
270
+ type: ContentTypes.REASONING;
271
+ reasoning: string;
272
+ };
273
+
274
+ /** Anthropic's Reasoning Content Block Format */
275
+ export type ThinkingContentText = {
276
+ type: ContentTypes.THINKING;
277
+ index?: number;
278
+ signature?: string;
279
+ thinking?: string;
280
+ };
281
+
282
+ /** Bedrock's Reasoning Content Block Format */
283
+ export type BedrockReasoningContentText = {
284
+ type: ContentTypes.REASONING_CONTENT;
285
+ index?: number;
286
+ reasoningText: { text?: string; signature?: string };
287
+ };
288
+
289
+ /**
290
+ * A call to a tool.
291
+ */
292
+ export type ToolCallPart = {
293
+ /** Type ("tool_call") according to Assistants Tool Call Structure */
294
+ type: ContentTypes.TOOL_CALL;
295
+ /** The name of the tool to be called */
296
+ name?: string;
297
+ /** The arguments to the tool call */
298
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
+ args?: string | Record<string, any>;
300
+
301
+ /** If provided, an identifier associated with the tool call */
302
+ id?: string;
303
+ /** If provided, the output of the tool call */
304
+ output?: string;
305
+ /** Auth URL */
306
+ auth?: string;
307
+ /** Expiration time */
308
+ expires_at?: number;
309
+ };
310
+
311
+ export type ToolCallContent = {
312
+ type: ContentTypes.TOOL_CALL;
313
+ tool_call?: ToolCallPart;
314
+ };
315
+
316
+ export type ToolResultContent = {
317
+ content:
318
+ | string
319
+ | Record<string, unknown>
320
+ | Array<string | Record<string, unknown>>
321
+ | AnthropicContentBlock[];
322
+ type: 'tool_result' | 'web_search_result' | 'web_search_tool_result';
323
+ tool_use_id?: string;
324
+ input?: string | Record<string, unknown>;
325
+ index?: number;
326
+ };
327
+
328
+ export type MessageContentComplex = (
329
+ | ToolResultContent
330
+ | ThinkingContentText
331
+ | AgentUpdate
332
+ | ToolCallContent
333
+ | ReasoningContentText
334
+ | MessageContentText
335
+ | MessageContentImageUrl
336
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
337
+ | (Record<string, any> & {
338
+ type?: 'text' | 'image_url' | 'think' | 'thinking' | string;
339
+ })
340
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
341
+ | (Record<string, any> & {
342
+ type?: never;
343
+ })
344
+ ) & {
345
+ tool_call_ids?: string[];
346
+ // Optional agentId for parallel execution attribution
347
+ agentId?: string;
348
+ // Optional groupId for parallel group attribution
349
+ groupId?: number;
350
+ };
351
+
352
+ export interface TMessage {
353
+ role?: string;
354
+ content?: MessageContentComplex[] | string;
355
+ [key: string]: unknown;
356
+ }
357
+
358
+ export type TPayload = Array<Partial<TMessage>>;
359
+
360
+ export type CustomChunkDelta =
361
+ | null
362
+ | undefined
363
+ | (Partial<OpenAITypes.Chat.Completions.ChatCompletionChunk.Choice.Delta> & {
364
+ reasoning?: string | null;
365
+ reasoning_content?: string | null;
366
+ });
367
+ export type CustomChunkChoice = Partial<
368
+ Omit<OpenAITypes.Chat.Completions.ChatCompletionChunk.Choice, 'delta'> & {
369
+ delta?: CustomChunkDelta;
370
+ }
371
+ >;
372
+ export type CustomChunk = Partial<OpenAITypes.ChatCompletionChunk> & {
373
+ choices?: Partial<Array<CustomChunkChoice>>;
374
+ };
375
+
376
+ export type SplitStreamHandlers = Partial<{
377
+ [GraphEvents.ON_RUN_STEP]: ({
378
+ event,
379
+ data,
380
+ }: {
381
+ event: GraphEvents;
382
+ data: RunStep;
383
+ }) => void;
384
+ [GraphEvents.ON_MESSAGE_DELTA]: ({
385
+ event,
386
+ data,
387
+ }: {
388
+ event: GraphEvents;
389
+ data: MessageDeltaEvent;
390
+ }) => void;
391
+ [GraphEvents.ON_REASONING_DELTA]: ({
392
+ event,
393
+ data,
394
+ }: {
395
+ event: GraphEvents;
396
+ data: ReasoningDeltaEvent;
397
+ }) => void;
398
+ }>;
399
+
400
+ export type ContentAggregator = ({
401
+ event,
402
+ data,
403
+ }: {
404
+ event: GraphEvents;
405
+ data:
406
+ | RunStep
407
+ | MessageDeltaEvent
408
+ | RunStepDeltaEvent
409
+ | {
410
+ result: ToolEndEvent;
411
+ };
412
+ }) => void;
413
+ export type ContentAggregatorResult = {
414
+ stepMap: Map<string, RunStep | undefined>;
415
+ contentParts: Array<MessageContentComplex | undefined>;
416
+ aggregateContent: ContentAggregator;
417
+ };