illuma-agents 1.0.2

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 (437) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/common/enum.cjs +163 -0
  3. package/dist/cjs/common/enum.cjs.map +1 -0
  4. package/dist/cjs/events.cjs +143 -0
  5. package/dist/cjs/events.cjs.map +1 -0
  6. package/dist/cjs/graphs/Graph.cjs +581 -0
  7. package/dist/cjs/graphs/Graph.cjs.map +1 -0
  8. package/dist/cjs/instrumentation.cjs +21 -0
  9. package/dist/cjs/instrumentation.cjs.map +1 -0
  10. package/dist/cjs/llm/anthropic/index.cjs +292 -0
  11. package/dist/cjs/llm/anthropic/index.cjs.map +1 -0
  12. package/dist/cjs/llm/anthropic/types.cjs +50 -0
  13. package/dist/cjs/llm/anthropic/types.cjs.map +1 -0
  14. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +553 -0
  15. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -0
  16. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +218 -0
  17. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -0
  18. package/dist/cjs/llm/anthropic/utils/tools.cjs +29 -0
  19. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -0
  20. package/dist/cjs/llm/fake.cjs +97 -0
  21. package/dist/cjs/llm/fake.cjs.map +1 -0
  22. package/dist/cjs/llm/google/index.cjs +147 -0
  23. package/dist/cjs/llm/google/index.cjs.map +1 -0
  24. package/dist/cjs/llm/google/utils/common.cjs +490 -0
  25. package/dist/cjs/llm/google/utils/common.cjs.map +1 -0
  26. package/dist/cjs/llm/ollama/index.cjs +70 -0
  27. package/dist/cjs/llm/ollama/index.cjs.map +1 -0
  28. package/dist/cjs/llm/ollama/utils.cjs +158 -0
  29. package/dist/cjs/llm/ollama/utils.cjs.map +1 -0
  30. package/dist/cjs/llm/openai/index.cjs +613 -0
  31. package/dist/cjs/llm/openai/index.cjs.map +1 -0
  32. package/dist/cjs/llm/openai/utils/index.cjs +677 -0
  33. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -0
  34. package/dist/cjs/llm/openrouter/index.cjs +29 -0
  35. package/dist/cjs/llm/openrouter/index.cjs.map +1 -0
  36. package/dist/cjs/llm/providers.cjs +47 -0
  37. package/dist/cjs/llm/providers.cjs.map +1 -0
  38. package/dist/cjs/llm/text.cjs +69 -0
  39. package/dist/cjs/llm/text.cjs.map +1 -0
  40. package/dist/cjs/llm/vertexai/index.cjs +330 -0
  41. package/dist/cjs/llm/vertexai/index.cjs.map +1 -0
  42. package/dist/cjs/main.cjs +127 -0
  43. package/dist/cjs/main.cjs.map +1 -0
  44. package/dist/cjs/messages/core.cjs +359 -0
  45. package/dist/cjs/messages/core.cjs.map +1 -0
  46. package/dist/cjs/messages/format.cjs +455 -0
  47. package/dist/cjs/messages/format.cjs.map +1 -0
  48. package/dist/cjs/messages/ids.cjs +23 -0
  49. package/dist/cjs/messages/ids.cjs.map +1 -0
  50. package/dist/cjs/messages/prune.cjs +398 -0
  51. package/dist/cjs/messages/prune.cjs.map +1 -0
  52. package/dist/cjs/run.cjs +264 -0
  53. package/dist/cjs/run.cjs.map +1 -0
  54. package/dist/cjs/splitStream.cjs +210 -0
  55. package/dist/cjs/splitStream.cjs.map +1 -0
  56. package/dist/cjs/stream.cjs +504 -0
  57. package/dist/cjs/stream.cjs.map +1 -0
  58. package/dist/cjs/tools/CodeExecutor.cjs +192 -0
  59. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -0
  60. package/dist/cjs/tools/ToolNode.cjs +125 -0
  61. package/dist/cjs/tools/ToolNode.cjs.map +1 -0
  62. package/dist/cjs/tools/handlers.cjs +250 -0
  63. package/dist/cjs/tools/handlers.cjs.map +1 -0
  64. package/dist/cjs/tools/search/anthropic.cjs +40 -0
  65. package/dist/cjs/tools/search/anthropic.cjs.map +1 -0
  66. package/dist/cjs/tools/search/content.cjs +140 -0
  67. package/dist/cjs/tools/search/content.cjs.map +1 -0
  68. package/dist/cjs/tools/search/firecrawl.cjs +179 -0
  69. package/dist/cjs/tools/search/firecrawl.cjs.map +1 -0
  70. package/dist/cjs/tools/search/format.cjs +203 -0
  71. package/dist/cjs/tools/search/format.cjs.map +1 -0
  72. package/dist/cjs/tools/search/highlights.cjs +245 -0
  73. package/dist/cjs/tools/search/highlights.cjs.map +1 -0
  74. package/dist/cjs/tools/search/rerankers.cjs +174 -0
  75. package/dist/cjs/tools/search/rerankers.cjs.map +1 -0
  76. package/dist/cjs/tools/search/schema.cjs +70 -0
  77. package/dist/cjs/tools/search/schema.cjs.map +1 -0
  78. package/dist/cjs/tools/search/search.cjs +561 -0
  79. package/dist/cjs/tools/search/search.cjs.map +1 -0
  80. package/dist/cjs/tools/search/serper-scraper.cjs +132 -0
  81. package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -0
  82. package/dist/cjs/tools/search/tool.cjs +331 -0
  83. package/dist/cjs/tools/search/tool.cjs.map +1 -0
  84. package/dist/cjs/tools/search/utils.cjs +66 -0
  85. package/dist/cjs/tools/search/utils.cjs.map +1 -0
  86. package/dist/cjs/utils/graph.cjs +16 -0
  87. package/dist/cjs/utils/graph.cjs.map +1 -0
  88. package/dist/cjs/utils/llm.cjs +28 -0
  89. package/dist/cjs/utils/llm.cjs.map +1 -0
  90. package/dist/cjs/utils/misc.cjs +56 -0
  91. package/dist/cjs/utils/misc.cjs.map +1 -0
  92. package/dist/cjs/utils/run.cjs +69 -0
  93. package/dist/cjs/utils/run.cjs.map +1 -0
  94. package/dist/cjs/utils/title.cjs +111 -0
  95. package/dist/cjs/utils/title.cjs.map +1 -0
  96. package/dist/cjs/utils/tokens.cjs +65 -0
  97. package/dist/cjs/utils/tokens.cjs.map +1 -0
  98. package/dist/esm/common/enum.mjs +163 -0
  99. package/dist/esm/common/enum.mjs.map +1 -0
  100. package/dist/esm/events.mjs +135 -0
  101. package/dist/esm/events.mjs.map +1 -0
  102. package/dist/esm/graphs/Graph.mjs +578 -0
  103. package/dist/esm/graphs/Graph.mjs.map +1 -0
  104. package/dist/esm/instrumentation.mjs +19 -0
  105. package/dist/esm/instrumentation.mjs.map +1 -0
  106. package/dist/esm/llm/anthropic/index.mjs +290 -0
  107. package/dist/esm/llm/anthropic/index.mjs.map +1 -0
  108. package/dist/esm/llm/anthropic/types.mjs +48 -0
  109. package/dist/esm/llm/anthropic/types.mjs.map +1 -0
  110. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +550 -0
  111. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -0
  112. package/dist/esm/llm/anthropic/utils/message_outputs.mjs +216 -0
  113. package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -0
  114. package/dist/esm/llm/anthropic/utils/tools.mjs +27 -0
  115. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -0
  116. package/dist/esm/llm/fake.mjs +94 -0
  117. package/dist/esm/llm/fake.mjs.map +1 -0
  118. package/dist/esm/llm/google/index.mjs +145 -0
  119. package/dist/esm/llm/google/index.mjs.map +1 -0
  120. package/dist/esm/llm/google/utils/common.mjs +484 -0
  121. package/dist/esm/llm/google/utils/common.mjs.map +1 -0
  122. package/dist/esm/llm/ollama/index.mjs +68 -0
  123. package/dist/esm/llm/ollama/index.mjs.map +1 -0
  124. package/dist/esm/llm/ollama/utils.mjs +155 -0
  125. package/dist/esm/llm/ollama/utils.mjs.map +1 -0
  126. package/dist/esm/llm/openai/index.mjs +604 -0
  127. package/dist/esm/llm/openai/index.mjs.map +1 -0
  128. package/dist/esm/llm/openai/utils/index.mjs +671 -0
  129. package/dist/esm/llm/openai/utils/index.mjs.map +1 -0
  130. package/dist/esm/llm/openrouter/index.mjs +27 -0
  131. package/dist/esm/llm/openrouter/index.mjs.map +1 -0
  132. package/dist/esm/llm/providers.mjs +43 -0
  133. package/dist/esm/llm/providers.mjs.map +1 -0
  134. package/dist/esm/llm/text.mjs +67 -0
  135. package/dist/esm/llm/text.mjs.map +1 -0
  136. package/dist/esm/llm/vertexai/index.mjs +328 -0
  137. package/dist/esm/llm/vertexai/index.mjs.map +1 -0
  138. package/dist/esm/main.mjs +20 -0
  139. package/dist/esm/main.mjs.map +1 -0
  140. package/dist/esm/messages/core.mjs +351 -0
  141. package/dist/esm/messages/core.mjs.map +1 -0
  142. package/dist/esm/messages/format.mjs +447 -0
  143. package/dist/esm/messages/format.mjs.map +1 -0
  144. package/dist/esm/messages/ids.mjs +21 -0
  145. package/dist/esm/messages/ids.mjs.map +1 -0
  146. package/dist/esm/messages/prune.mjs +393 -0
  147. package/dist/esm/messages/prune.mjs.map +1 -0
  148. package/dist/esm/run.mjs +261 -0
  149. package/dist/esm/run.mjs.map +1 -0
  150. package/dist/esm/splitStream.mjs +207 -0
  151. package/dist/esm/splitStream.mjs.map +1 -0
  152. package/dist/esm/stream.mjs +500 -0
  153. package/dist/esm/stream.mjs.map +1 -0
  154. package/dist/esm/tools/CodeExecutor.mjs +188 -0
  155. package/dist/esm/tools/CodeExecutor.mjs.map +1 -0
  156. package/dist/esm/tools/ToolNode.mjs +122 -0
  157. package/dist/esm/tools/ToolNode.mjs.map +1 -0
  158. package/dist/esm/tools/handlers.mjs +245 -0
  159. package/dist/esm/tools/handlers.mjs.map +1 -0
  160. package/dist/esm/tools/search/anthropic.mjs +37 -0
  161. package/dist/esm/tools/search/anthropic.mjs.map +1 -0
  162. package/dist/esm/tools/search/content.mjs +119 -0
  163. package/dist/esm/tools/search/content.mjs.map +1 -0
  164. package/dist/esm/tools/search/firecrawl.mjs +176 -0
  165. package/dist/esm/tools/search/firecrawl.mjs.map +1 -0
  166. package/dist/esm/tools/search/format.mjs +201 -0
  167. package/dist/esm/tools/search/format.mjs.map +1 -0
  168. package/dist/esm/tools/search/highlights.mjs +243 -0
  169. package/dist/esm/tools/search/highlights.mjs.map +1 -0
  170. package/dist/esm/tools/search/rerankers.mjs +168 -0
  171. package/dist/esm/tools/search/rerankers.mjs.map +1 -0
  172. package/dist/esm/tools/search/schema.mjs +61 -0
  173. package/dist/esm/tools/search/schema.mjs.map +1 -0
  174. package/dist/esm/tools/search/search.mjs +558 -0
  175. package/dist/esm/tools/search/search.mjs.map +1 -0
  176. package/dist/esm/tools/search/serper-scraper.mjs +129 -0
  177. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -0
  178. package/dist/esm/tools/search/tool.mjs +329 -0
  179. package/dist/esm/tools/search/tool.mjs.map +1 -0
  180. package/dist/esm/tools/search/utils.mjs +61 -0
  181. package/dist/esm/tools/search/utils.mjs.map +1 -0
  182. package/dist/esm/utils/graph.mjs +13 -0
  183. package/dist/esm/utils/graph.mjs.map +1 -0
  184. package/dist/esm/utils/llm.mjs +25 -0
  185. package/dist/esm/utils/llm.mjs.map +1 -0
  186. package/dist/esm/utils/misc.mjs +53 -0
  187. package/dist/esm/utils/misc.mjs.map +1 -0
  188. package/dist/esm/utils/run.mjs +66 -0
  189. package/dist/esm/utils/run.mjs.map +1 -0
  190. package/dist/esm/utils/title.mjs +108 -0
  191. package/dist/esm/utils/title.mjs.map +1 -0
  192. package/dist/esm/utils/tokens.mjs +62 -0
  193. package/dist/esm/utils/tokens.mjs.map +1 -0
  194. package/dist/types/common/enum.d.ts +128 -0
  195. package/dist/types/common/index.d.ts +1 -0
  196. package/dist/types/events.d.ts +29 -0
  197. package/dist/types/graphs/Graph.d.ts +122 -0
  198. package/dist/types/graphs/index.d.ts +1 -0
  199. package/dist/types/index.d.ts +13 -0
  200. package/dist/types/instrumentation.d.ts +1 -0
  201. package/dist/types/llm/anthropic/index.d.ts +39 -0
  202. package/dist/types/llm/anthropic/types.d.ts +37 -0
  203. package/dist/types/llm/anthropic/utils/message_inputs.d.ts +14 -0
  204. package/dist/types/llm/anthropic/utils/message_outputs.d.ts +14 -0
  205. package/dist/types/llm/anthropic/utils/output_parsers.d.ts +22 -0
  206. package/dist/types/llm/anthropic/utils/tools.d.ts +3 -0
  207. package/dist/types/llm/fake.d.ts +31 -0
  208. package/dist/types/llm/google/index.d.ts +14 -0
  209. package/dist/types/llm/google/types.d.ts +32 -0
  210. package/dist/types/llm/google/utils/common.d.ts +19 -0
  211. package/dist/types/llm/google/utils/tools.d.ts +10 -0
  212. package/dist/types/llm/google/utils/zod_to_genai_parameters.d.ts +14 -0
  213. package/dist/types/llm/ollama/index.d.ts +8 -0
  214. package/dist/types/llm/ollama/utils.d.ts +7 -0
  215. package/dist/types/llm/openai/index.d.ts +103 -0
  216. package/dist/types/llm/openai/types.d.ts +10 -0
  217. package/dist/types/llm/openai/utils/index.d.ts +20 -0
  218. package/dist/types/llm/openrouter/index.d.ts +12 -0
  219. package/dist/types/llm/providers.d.ts +5 -0
  220. package/dist/types/llm/text.d.ts +21 -0
  221. package/dist/types/llm/vertexai/index.d.ts +293 -0
  222. package/dist/types/messages/core.d.ts +14 -0
  223. package/dist/types/messages/format.d.ts +113 -0
  224. package/dist/types/messages/ids.d.ts +3 -0
  225. package/dist/types/messages/index.d.ts +4 -0
  226. package/dist/types/messages/prune.d.ts +51 -0
  227. package/dist/types/mockStream.d.ts +32 -0
  228. package/dist/types/prompts/collab.d.ts +1 -0
  229. package/dist/types/prompts/index.d.ts +2 -0
  230. package/dist/types/prompts/taskmanager.d.ts +41 -0
  231. package/dist/types/run.d.ts +30 -0
  232. package/dist/types/scripts/abort.d.ts +1 -0
  233. package/dist/types/scripts/ant_web_search.d.ts +1 -0
  234. package/dist/types/scripts/args.d.ts +7 -0
  235. package/dist/types/scripts/caching.d.ts +1 -0
  236. package/dist/types/scripts/cli.d.ts +1 -0
  237. package/dist/types/scripts/cli2.d.ts +1 -0
  238. package/dist/types/scripts/cli3.d.ts +1 -0
  239. package/dist/types/scripts/cli4.d.ts +1 -0
  240. package/dist/types/scripts/cli5.d.ts +1 -0
  241. package/dist/types/scripts/code_exec.d.ts +1 -0
  242. package/dist/types/scripts/code_exec_files.d.ts +1 -0
  243. package/dist/types/scripts/code_exec_simple.d.ts +1 -0
  244. package/dist/types/scripts/content.d.ts +1 -0
  245. package/dist/types/scripts/empty_input.d.ts +1 -0
  246. package/dist/types/scripts/image.d.ts +1 -0
  247. package/dist/types/scripts/memory.d.ts +1 -0
  248. package/dist/types/scripts/search.d.ts +1 -0
  249. package/dist/types/scripts/simple.d.ts +1 -0
  250. package/dist/types/scripts/stream.d.ts +1 -0
  251. package/dist/types/scripts/thinking.d.ts +1 -0
  252. package/dist/types/scripts/tools.d.ts +1 -0
  253. package/dist/types/specs/spec.utils.d.ts +1 -0
  254. package/dist/types/splitStream.d.ts +37 -0
  255. package/dist/types/stream.d.ts +14 -0
  256. package/dist/types/tools/CodeExecutor.d.ts +23 -0
  257. package/dist/types/tools/ToolNode.d.ts +22 -0
  258. package/dist/types/tools/example.d.ts +78 -0
  259. package/dist/types/tools/handlers.d.ts +19 -0
  260. package/dist/types/tools/search/anthropic.d.ts +16 -0
  261. package/dist/types/tools/search/content.d.ts +4 -0
  262. package/dist/types/tools/search/firecrawl.d.ts +54 -0
  263. package/dist/types/tools/search/format.d.ts +5 -0
  264. package/dist/types/tools/search/highlights.d.ts +13 -0
  265. package/dist/types/tools/search/index.d.ts +2 -0
  266. package/dist/types/tools/search/rerankers.d.ts +38 -0
  267. package/dist/types/tools/search/schema.d.ts +16 -0
  268. package/dist/types/tools/search/search.d.ts +8 -0
  269. package/dist/types/tools/search/serper-scraper.d.ts +59 -0
  270. package/dist/types/tools/search/test.d.ts +1 -0
  271. package/dist/types/tools/search/tool.d.ts +54 -0
  272. package/dist/types/tools/search/types.d.ts +591 -0
  273. package/dist/types/tools/search/utils.d.ts +10 -0
  274. package/dist/types/types/graph.d.ts +138 -0
  275. package/dist/types/types/index.d.ts +5 -0
  276. package/dist/types/types/llm.d.ts +102 -0
  277. package/dist/types/types/run.d.ts +74 -0
  278. package/dist/types/types/stream.d.ts +293 -0
  279. package/dist/types/types/tools.d.ts +61 -0
  280. package/dist/types/utils/graph.d.ts +2 -0
  281. package/dist/types/utils/index.d.ts +5 -0
  282. package/dist/types/utils/llm.d.ts +3 -0
  283. package/dist/types/utils/llmConfig.d.ts +3 -0
  284. package/dist/types/utils/logging.d.ts +1 -0
  285. package/dist/types/utils/misc.d.ts +7 -0
  286. package/dist/types/utils/run.d.ts +27 -0
  287. package/dist/types/utils/title.d.ts +4 -0
  288. package/dist/types/utils/tokens.d.ts +3 -0
  289. package/package.json +145 -0
  290. package/src/common/enum.ts +176 -0
  291. package/src/common/index.ts +2 -0
  292. package/src/events.ts +191 -0
  293. package/src/graphs/Graph.ts +846 -0
  294. package/src/graphs/index.ts +1 -0
  295. package/src/index.ts +24 -0
  296. package/src/instrumentation.ts +22 -0
  297. package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
  298. package/src/llm/anthropic/index.ts +413 -0
  299. package/src/llm/anthropic/llm.spec.ts +1442 -0
  300. package/src/llm/anthropic/types.ts +140 -0
  301. package/src/llm/anthropic/utils/message_inputs.ts +660 -0
  302. package/src/llm/anthropic/utils/message_outputs.ts +289 -0
  303. package/src/llm/anthropic/utils/output_parsers.ts +133 -0
  304. package/src/llm/anthropic/utils/tools.ts +29 -0
  305. package/src/llm/fake.ts +133 -0
  306. package/src/llm/google/index.ts +222 -0
  307. package/src/llm/google/types.ts +43 -0
  308. package/src/llm/google/utils/common.ts +660 -0
  309. package/src/llm/google/utils/tools.ts +160 -0
  310. package/src/llm/google/utils/zod_to_genai_parameters.ts +88 -0
  311. package/src/llm/ollama/index.ts +92 -0
  312. package/src/llm/ollama/utils.ts +193 -0
  313. package/src/llm/openai/index.ts +853 -0
  314. package/src/llm/openai/types.ts +24 -0
  315. package/src/llm/openai/utils/index.ts +918 -0
  316. package/src/llm/openai/utils/isReasoningModel.test.ts +90 -0
  317. package/src/llm/openrouter/index.ts +60 -0
  318. package/src/llm/providers.ts +57 -0
  319. package/src/llm/text.ts +94 -0
  320. package/src/llm/vertexai/index.ts +360 -0
  321. package/src/messages/core.ts +463 -0
  322. package/src/messages/format.ts +625 -0
  323. package/src/messages/formatAgentMessages.test.ts +917 -0
  324. package/src/messages/formatAgentMessages.tools.test.ts +400 -0
  325. package/src/messages/formatMessage.test.ts +693 -0
  326. package/src/messages/ids.ts +26 -0
  327. package/src/messages/index.ts +4 -0
  328. package/src/messages/prune.ts +567 -0
  329. package/src/messages/shiftIndexTokenCountMap.test.ts +81 -0
  330. package/src/mockStream.ts +99 -0
  331. package/src/prompts/collab.ts +6 -0
  332. package/src/prompts/index.ts +2 -0
  333. package/src/prompts/taskmanager.ts +61 -0
  334. package/src/proto/CollabGraph.ts +269 -0
  335. package/src/proto/TaskManager.ts +243 -0
  336. package/src/proto/collab.ts +200 -0
  337. package/src/proto/collab_design.ts +184 -0
  338. package/src/proto/collab_design_v2.ts +224 -0
  339. package/src/proto/collab_design_v3.ts +255 -0
  340. package/src/proto/collab_design_v4.ts +220 -0
  341. package/src/proto/collab_design_v5.ts +251 -0
  342. package/src/proto/collab_graph.ts +181 -0
  343. package/src/proto/collab_original.ts +123 -0
  344. package/src/proto/example.ts +93 -0
  345. package/src/proto/example_new.ts +68 -0
  346. package/src/proto/example_old.ts +201 -0
  347. package/src/proto/example_test.ts +152 -0
  348. package/src/proto/example_test_anthropic.ts +100 -0
  349. package/src/proto/log_stream.ts +202 -0
  350. package/src/proto/main_collab_community_event.ts +133 -0
  351. package/src/proto/main_collab_design_v2.ts +96 -0
  352. package/src/proto/main_collab_design_v4.ts +100 -0
  353. package/src/proto/main_collab_design_v5.ts +135 -0
  354. package/src/proto/main_collab_global_analysis.ts +122 -0
  355. package/src/proto/main_collab_hackathon_event.ts +153 -0
  356. package/src/proto/main_collab_space_mission.ts +153 -0
  357. package/src/proto/main_philosophy.ts +210 -0
  358. package/src/proto/original_script.ts +126 -0
  359. package/src/proto/standard.ts +100 -0
  360. package/src/proto/stream.ts +56 -0
  361. package/src/proto/tasks.ts +118 -0
  362. package/src/proto/tools/global_analysis_tools.ts +86 -0
  363. package/src/proto/tools/space_mission_tools.ts +60 -0
  364. package/src/proto/vertexai.ts +54 -0
  365. package/src/run.ts +381 -0
  366. package/src/scripts/abort.ts +138 -0
  367. package/src/scripts/ant_web_search.ts +158 -0
  368. package/src/scripts/args.ts +48 -0
  369. package/src/scripts/caching.ts +124 -0
  370. package/src/scripts/cli.ts +167 -0
  371. package/src/scripts/cli2.ts +125 -0
  372. package/src/scripts/cli3.ts +178 -0
  373. package/src/scripts/cli4.ts +184 -0
  374. package/src/scripts/cli5.ts +184 -0
  375. package/src/scripts/code_exec.ts +214 -0
  376. package/src/scripts/code_exec_files.ts +193 -0
  377. package/src/scripts/code_exec_simple.ts +129 -0
  378. package/src/scripts/content.ts +120 -0
  379. package/src/scripts/empty_input.ts +137 -0
  380. package/src/scripts/image.ts +178 -0
  381. package/src/scripts/memory.ts +97 -0
  382. package/src/scripts/search.ts +150 -0
  383. package/src/scripts/simple.ts +225 -0
  384. package/src/scripts/stream.ts +122 -0
  385. package/src/scripts/thinking.ts +150 -0
  386. package/src/scripts/tools.ts +155 -0
  387. package/src/specs/anthropic.simple.test.ts +317 -0
  388. package/src/specs/azure.simple.test.ts +316 -0
  389. package/src/specs/openai.simple.test.ts +316 -0
  390. package/src/specs/prune.test.ts +763 -0
  391. package/src/specs/reasoning.test.ts +165 -0
  392. package/src/specs/spec.utils.ts +3 -0
  393. package/src/specs/thinking-prune.test.ts +703 -0
  394. package/src/specs/token-distribution-edge-case.test.ts +316 -0
  395. package/src/specs/tool-error.test.ts +193 -0
  396. package/src/splitStream.test.ts +691 -0
  397. package/src/splitStream.ts +234 -0
  398. package/src/stream.test.ts +94 -0
  399. package/src/stream.ts +651 -0
  400. package/src/tools/CodeExecutor.ts +220 -0
  401. package/src/tools/ToolNode.ts +170 -0
  402. package/src/tools/example.ts +129 -0
  403. package/src/tools/handlers.ts +336 -0
  404. package/src/tools/search/anthropic.ts +51 -0
  405. package/src/tools/search/content.test.ts +173 -0
  406. package/src/tools/search/content.ts +147 -0
  407. package/src/tools/search/firecrawl.ts +210 -0
  408. package/src/tools/search/format.ts +250 -0
  409. package/src/tools/search/highlights.ts +320 -0
  410. package/src/tools/search/index.ts +2 -0
  411. package/src/tools/search/jina-reranker.test.ts +126 -0
  412. package/src/tools/search/output.md +2775 -0
  413. package/src/tools/search/rerankers.ts +242 -0
  414. package/src/tools/search/schema.ts +63 -0
  415. package/src/tools/search/search.ts +759 -0
  416. package/src/tools/search/serper-scraper.ts +155 -0
  417. package/src/tools/search/test.html +884 -0
  418. package/src/tools/search/test.md +643 -0
  419. package/src/tools/search/test.ts +159 -0
  420. package/src/tools/search/tool.ts +471 -0
  421. package/src/tools/search/types.ts +687 -0
  422. package/src/tools/search/utils.ts +79 -0
  423. package/src/types/graph.ts +185 -0
  424. package/src/types/index.ts +6 -0
  425. package/src/types/llm.ts +140 -0
  426. package/src/types/run.ts +89 -0
  427. package/src/types/stream.ts +400 -0
  428. package/src/types/tools.ts +80 -0
  429. package/src/utils/graph.ts +11 -0
  430. package/src/utils/index.ts +5 -0
  431. package/src/utils/llm.ts +27 -0
  432. package/src/utils/llmConfig.ts +183 -0
  433. package/src/utils/logging.ts +48 -0
  434. package/src/utils/misc.ts +57 -0
  435. package/src/utils/run.ts +101 -0
  436. package/src/utils/title.ts +165 -0
  437. package/src/utils/tokens.ts +70 -0
@@ -0,0 +1,39 @@
1
+ import { ChatAnthropicMessages } from '@langchain/anthropic';
2
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
3
+ import type { BaseChatModelParams } from '@langchain/core/language_models/chat_models';
4
+ import type { BaseMessage, UsageMetadata } from '@langchain/core/messages';
5
+ import type { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
6
+ import type { AnthropicInput } from '@langchain/anthropic';
7
+ import type { AnthropicMessageCreateParams, AnthropicStreamingMessageCreateParams } from '@/llm/anthropic/types';
8
+ export type CustomAnthropicInput = AnthropicInput & {
9
+ _lc_stream_delay?: number;
10
+ } & BaseChatModelParams;
11
+ /**
12
+ * A type representing additional parameters that can be passed to the
13
+ * Anthropic API.
14
+ */
15
+ type Kwargs = Record<string, any>;
16
+ export declare class CustomAnthropic extends ChatAnthropicMessages {
17
+ _lc_stream_delay: number;
18
+ private message_start;
19
+ private message_delta;
20
+ private tools_in_params?;
21
+ private emitted_usage?;
22
+ top_k: number | undefined;
23
+ constructor(fields?: CustomAnthropicInput);
24
+ static lc_name(): 'IllumaAnthropic';
25
+ /**
26
+ * Get the parameters used to invoke the model
27
+ */
28
+ invocationParams(options?: this['ParsedCallOptions']): Omit<AnthropicMessageCreateParams | AnthropicStreamingMessageCreateParams, 'messages'> & Kwargs;
29
+ /**
30
+ * Get stream usage as returned by this client's API response.
31
+ * @returns The stream usage object.
32
+ */
33
+ getStreamUsage(): UsageMetadata | undefined;
34
+ resetTokenEvents(): void;
35
+ setDirectFields(fields?: CustomAnthropicInput): void;
36
+ private createGenerationChunk;
37
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
38
+ }
39
+ export {};
@@ -0,0 +1,37 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ import { BindToolsInput } from '@langchain/core/language_models/chat_models';
3
+ export type AnthropicStreamUsage = Anthropic.Usage;
4
+ export type AnthropicMessageDeltaEvent = Anthropic.MessageDeltaEvent;
5
+ export type AnthropicMessageStartEvent = Anthropic.MessageStartEvent;
6
+ export type AnthropicToolResponse = {
7
+ type: 'tool_use';
8
+ id: string;
9
+ name: string;
10
+ input: Record<string, any>;
11
+ };
12
+ export type AnthropicMessageParam = Anthropic.MessageParam;
13
+ export type AnthropicMessageResponse = Anthropic.ContentBlock | AnthropicToolResponse;
14
+ export type AnthropicMessageCreateParams = Anthropic.MessageCreateParamsNonStreaming;
15
+ export type AnthropicStreamingMessageCreateParams = Anthropic.MessageCreateParamsStreaming;
16
+ export type AnthropicThinkingConfigParam = Anthropic.ThinkingConfigParam;
17
+ export type AnthropicMessageStreamEvent = Anthropic.MessageStreamEvent;
18
+ export type AnthropicRequestOptions = Anthropic.RequestOptions;
19
+ export type AnthropicToolChoice = {
20
+ type: 'tool';
21
+ name: string;
22
+ } | 'any' | 'auto' | 'none' | string;
23
+ export type ChatAnthropicToolType = Anthropic.Messages.Tool | BindToolsInput;
24
+ export type AnthropicTextBlockParam = Anthropic.Messages.TextBlockParam;
25
+ export type AnthropicImageBlockParam = Anthropic.Messages.ImageBlockParam;
26
+ export type AnthropicToolUseBlockParam = Anthropic.Messages.ToolUseBlockParam;
27
+ export type AnthropicToolResultBlockParam = Anthropic.Messages.ToolResultBlockParam;
28
+ export type AnthropicDocumentBlockParam = Anthropic.Messages.DocumentBlockParam;
29
+ export type AnthropicThinkingBlockParam = Anthropic.Messages.ThinkingBlockParam;
30
+ export type AnthropicRedactedThinkingBlockParam = Anthropic.Messages.RedactedThinkingBlockParam;
31
+ export type AnthropicServerToolUseBlockParam = Anthropic.Messages.ServerToolUseBlockParam;
32
+ export type AnthropicWebSearchToolResultBlockParam = Anthropic.Messages.WebSearchToolResultBlockParam;
33
+ export type AnthropicWebSearchResultBlockParam = Anthropic.Messages.WebSearchResultBlockParam;
34
+ export type AnthropicSearchResultBlockParam = Anthropic.Beta.BetaSearchResultBlockParam;
35
+ export type AnthropicContentBlock = AnthropicTextBlockParam | AnthropicImageBlockParam | AnthropicToolUseBlockParam | AnthropicToolResultBlockParam | AnthropicDocumentBlockParam | AnthropicThinkingBlockParam | AnthropicRedactedThinkingBlockParam | AnthropicServerToolUseBlockParam | AnthropicWebSearchToolResultBlockParam | AnthropicWebSearchResultBlockParam;
36
+ export type ChatAnthropicContentBlock = AnthropicTextBlockParam | AnthropicImageBlockParam | AnthropicToolUseBlockParam | AnthropicToolResultBlockParam | AnthropicDocumentBlockParam | AnthropicThinkingBlockParam | AnthropicRedactedThinkingBlockParam | AnthropicServerToolUseBlockParam | AnthropicWebSearchToolResultBlockParam | AnthropicWebSearchResultBlockParam | AnthropicSearchResultBlockParam;
37
+ export declare function isAnthropicImageBlockParam(block: unknown): block is AnthropicImageBlockParam;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This util file contains functions for converting LangChain messages to Anthropic messages.
3
+ */
4
+ import { type BaseMessage } from '@langchain/core/messages';
5
+ import { ToolCall } from '@langchain/core/messages/tool';
6
+ import { AnthropicMessageCreateParams, AnthropicToolResponse } from '../types';
7
+ export declare function _convertLangChainToolCallToAnthropic(toolCall: ToolCall): AnthropicToolResponse;
8
+ /**
9
+ * Formats messages as a prompt for the model.
10
+ * Used in LangSmith, export is important here.
11
+ * @param messages The base messages to format as a prompt.
12
+ * @returns The formatted prompt.
13
+ */
14
+ export declare function _convertMessagesToAnthropicPayload(messages: BaseMessage[]): AnthropicMessageCreateParams;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This util file contains functions for converting Anthropic messages to LangChain messages.
3
+ */
4
+ import Anthropic from '@anthropic-ai/sdk';
5
+ import { AIMessageChunk } from '@langchain/core/messages';
6
+ import { ChatGeneration } from '@langchain/core/outputs';
7
+ import { AnthropicMessageResponse } from '../types';
8
+ export declare function _makeMessageChunkFromAnthropicEvent(data: Anthropic.Messages.RawMessageStreamEvent, fields: {
9
+ streamUsage: boolean;
10
+ coerceContentToString: boolean;
11
+ }): {
12
+ chunk: AIMessageChunk;
13
+ } | null;
14
+ export declare function anthropicResponseToChatMessages(messages: AnthropicMessageResponse[], additionalKwargs: Record<string, unknown>): ChatGeneration[];
@@ -0,0 +1,22 @@
1
+ import { BaseLLMOutputParser } from '@langchain/core/output_parsers';
2
+ import { JsonOutputKeyToolsParserParamsInterop } from '@langchain/core/output_parsers/openai_tools';
3
+ import { ChatGeneration } from '@langchain/core/outputs';
4
+ import { ToolCall } from '@langchain/core/messages/tool';
5
+ import { InteropZodType } from '@langchain/core/utils/types';
6
+ interface AnthropicToolsOutputParserParams<T extends Record<string, any>> extends JsonOutputKeyToolsParserParamsInterop<T> {
7
+ }
8
+ export declare class AnthropicToolsOutputParser<T extends Record<string, any> = Record<string, any>> extends BaseLLMOutputParser<T> {
9
+ static lc_name(): string;
10
+ lc_namespace: string[];
11
+ returnId: boolean;
12
+ /** The type of tool calls to return. */
13
+ keyName: string;
14
+ /** Whether to return only the first tool call. */
15
+ returnSingle: boolean;
16
+ zodSchema?: InteropZodType<T>;
17
+ constructor(params: AnthropicToolsOutputParserParams<T>);
18
+ protected _validateResult(result: unknown): Promise<T>;
19
+ parseResult(generations: ChatGeneration[]): Promise<T>;
20
+ }
21
+ export declare function extractToolCalls(content: Record<string, any>[]): ToolCall[];
22
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { Anthropic } from '@anthropic-ai/sdk';
2
+ import { AnthropicToolChoice } from '../types.js';
3
+ export declare function handleToolChoice(toolChoice?: AnthropicToolChoice): Anthropic.Messages.ToolChoiceAuto | Anthropic.Messages.ToolChoiceAny | Anthropic.Messages.ToolChoiceTool | undefined;
@@ -0,0 +1,31 @@
1
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
2
+ import type { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
3
+ import type { BaseMessage } from '@langchain/core/messages';
4
+ import { FakeListChatModel } from '@langchain/core/utils/testing';
5
+ import { ToolCall, ToolCallChunk } from '@langchain/core/messages/tool';
6
+ type SplitStrategy = {
7
+ type: 'regex' | 'fixed';
8
+ value: RegExp | number;
9
+ };
10
+ export declare class FakeChatModel extends FakeListChatModel {
11
+ private splitStrategy;
12
+ private toolCalls;
13
+ private addedToolCalls;
14
+ constructor({ responses, sleep, emitCustomEvent, splitStrategy, toolCalls }: {
15
+ responses: string[];
16
+ sleep?: number;
17
+ emitCustomEvent?: boolean;
18
+ splitStrategy?: SplitStrategy;
19
+ toolCalls?: ToolCall[];
20
+ });
21
+ private splitText;
22
+ _createResponseChunk(text: string, tool_call_chunks?: ToolCallChunk[]): ChatGenerationChunk;
23
+ _streamResponseChunks(_messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
24
+ }
25
+ export declare function createFakeStreamingLLM({ responses, sleep, splitStrategy, toolCalls, }: {
26
+ responses: string[];
27
+ sleep?: number;
28
+ splitStrategy?: SplitStrategy;
29
+ toolCalls?: ToolCall[];
30
+ }): FakeChatModel;
31
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
2
+ import { ChatGoogleGenerativeAI } from '@langchain/google-genai';
3
+ import type { GenerateContentRequest } from '@google/generative-ai';
4
+ import type { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
5
+ import type { BaseMessage } from '@langchain/core/messages';
6
+ import type { GeminiGenerationConfig } from '@langchain/google-common';
7
+ import type { GoogleClientOptions } from '@/types';
8
+ export declare class CustomChatGoogleGenerativeAI extends ChatGoogleGenerativeAI {
9
+ thinkingConfig?: GeminiGenerationConfig['thinkingConfig'];
10
+ constructor(fields: GoogleClientOptions);
11
+ static lc_name(): 'IllumaGoogleGenerativeAI';
12
+ invocationParams(options?: this['ParsedCallOptions']): Omit<GenerateContentRequest, 'contents'>;
13
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
14
+ }
@@ -0,0 +1,32 @@
1
+ import { CodeExecutionTool, FunctionDeclarationsTool as GoogleGenerativeAIFunctionDeclarationsTool, GoogleSearchRetrievalTool } from '@google/generative-ai';
2
+ import { BindToolsInput } from '@langchain/core/language_models/chat_models';
3
+ export type GoogleGenerativeAIToolType = BindToolsInput | GoogleGenerativeAIFunctionDeclarationsTool | CodeExecutionTool | GoogleSearchRetrievalTool;
4
+ /** Enum for content modality types */
5
+ declare enum Modality {
6
+ MODALITY_UNSPECIFIED = "MODALITY_UNSPECIFIED",
7
+ TEXT = "TEXT",
8
+ IMAGE = "IMAGE",
9
+ VIDEO = "VIDEO",
10
+ AUDIO = "AUDIO",
11
+ DOCUMENT = "DOCUMENT"
12
+ }
13
+ /** Interface for modality token count */
14
+ interface ModalityTokenCount {
15
+ modality: Modality;
16
+ tokenCount: number;
17
+ }
18
+ /** Main interface for Gemini API usage metadata */
19
+ export interface GeminiApiUsageMetadata {
20
+ promptTokenCount?: number;
21
+ totalTokenCount?: number;
22
+ thoughtsTokenCount?: number;
23
+ candidatesTokenCount?: number;
24
+ toolUsePromptTokenCount?: number;
25
+ cachedContentTokenCount?: number;
26
+ promptTokensDetails: ModalityTokenCount[];
27
+ candidatesTokensDetails?: ModalityTokenCount[];
28
+ cacheTokensDetails?: ModalityTokenCount[];
29
+ toolUsePromptTokensDetails?: ModalityTokenCount[];
30
+ trafficType?: string;
31
+ }
32
+ export {};
@@ -0,0 +1,19 @@
1
+ import { POSSIBLE_ROLES, type Part, type Content, type EnhancedGenerateContentResponse, type FunctionDeclarationsTool as GoogleGenerativeAIFunctionDeclarationsTool } from '@google/generative-ai';
2
+ import { BaseMessage, UsageMetadata } from '@langchain/core/messages';
3
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
4
+ import { GoogleGenerativeAIToolType } from '../types';
5
+ export declare function getMessageAuthor(message: BaseMessage): string;
6
+ /**
7
+ * Maps a message type to a Google Generative AI chat author.
8
+ * @param message The message to map.
9
+ * @param model The model to use for mapping.
10
+ * @returns The message type mapped to a Google Generative AI chat author.
11
+ */
12
+ export declare function convertAuthorToRole(author: string): (typeof POSSIBLE_ROLES)[number];
13
+ export declare function convertMessageContentToParts(message: BaseMessage, isMultimodalModel: boolean, previousMessages: BaseMessage[]): Part[];
14
+ export declare function convertBaseMessagesToContent(messages: BaseMessage[], isMultimodalModel: boolean, convertSystemMessageToHumanContent?: boolean): Content[] | undefined;
15
+ export declare function convertResponseContentToChatGenerationChunk(response: EnhancedGenerateContentResponse, extra: {
16
+ usageMetadata?: UsageMetadata | undefined;
17
+ index: number;
18
+ }): ChatGenerationChunk | null;
19
+ export declare function convertToGenerativeAITools(tools: GoogleGenerativeAIToolType[]): GoogleGenerativeAIFunctionDeclarationsTool[];
@@ -0,0 +1,10 @@
1
+ import { Tool as GenerativeAITool, ToolConfig } from '@google/generative-ai';
2
+ import { ToolChoice } from '@langchain/core/language_models/chat_models';
3
+ import { GoogleGenerativeAIToolType } from '../types';
4
+ export declare function convertToolsToGenAI(tools: GoogleGenerativeAIToolType[], extra?: {
5
+ toolChoice?: ToolChoice;
6
+ allowedFunctionNames?: string[];
7
+ }): {
8
+ tools: GenerativeAITool[];
9
+ toolConfig?: ToolConfig;
10
+ };
@@ -0,0 +1,14 @@
1
+ import { type FunctionDeclarationSchema as GenerativeAIFunctionDeclarationSchema, type SchemaType as FunctionDeclarationSchemaType } from '@google/generative-ai';
2
+ import { InteropZodType } from '@langchain/core/utils/types';
3
+ import { type JsonSchema7Type } from '@langchain/core/utils/json_schema';
4
+ export interface GenerativeAIJsonSchema extends Record<string, unknown> {
5
+ properties?: Record<string, GenerativeAIJsonSchema>;
6
+ type: FunctionDeclarationSchemaType;
7
+ }
8
+ export interface GenerativeAIJsonSchemaDirty extends GenerativeAIJsonSchema {
9
+ properties?: Record<string, GenerativeAIJsonSchemaDirty>;
10
+ additionalProperties?: boolean;
11
+ }
12
+ export declare function removeAdditionalProperties(obj: Record<string, any>): GenerativeAIJsonSchema;
13
+ export declare function schemaToGenerativeAIParameters<RunOutput extends Record<string, any> = Record<string, any>>(schema: InteropZodType<RunOutput> | JsonSchema7Type): GenerativeAIFunctionDeclarationSchema;
14
+ export declare function jsonSchemaToGeminiParameters(schema: Record<string, any>): GenerativeAIFunctionDeclarationSchema;
@@ -0,0 +1,8 @@
1
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
2
+ import { ChatOllama as BaseChatOllama } from '@langchain/ollama';
3
+ import { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
4
+ import type { BaseMessage } from '@langchain/core/messages';
5
+ export declare class ChatOllama extends BaseChatOllama {
6
+ static lc_name(): 'IllumaOllama';
7
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { AIMessageChunk, BaseMessage, UsageMetadata } from '@langchain/core/messages';
2
+ import type { Message as OllamaMessage } from 'ollama';
3
+ export declare function convertOllamaMessagesToLangChain(messages: OllamaMessage, extra?: {
4
+ responseMetadata?: Record<string, any>;
5
+ usageMetadata?: UsageMetadata;
6
+ }): AIMessageChunk;
7
+ export declare function convertToOllamaMessages(messages: BaseMessage[]): OllamaMessage[];
@@ -0,0 +1,103 @@
1
+ import { AzureOpenAI as AzureOpenAIClient } from 'openai';
2
+ import { ChatXAI as OriginalChatXAI } from '@langchain/xai';
3
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
4
+ import { ChatDeepSeek as OriginalChatDeepSeek } from '@langchain/deepseek';
5
+ import { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
6
+ import { OpenAIClient, ChatOpenAI as OriginalChatOpenAI, AzureChatOpenAI as OriginalAzureChatOpenAI } from '@langchain/openai';
7
+ import type { HeaderValue, HeadersLike } from './types';
8
+ import type { BindToolsInput } from '@langchain/core/language_models/chat_models';
9
+ import type { BaseMessage } from '@langchain/core/messages';
10
+ import type { ChatXAIInput } from '@langchain/xai';
11
+ import type * as t from '@langchain/openai';
12
+ export declare function isHeaders(headers: unknown): headers is Headers;
13
+ export declare function normalizeHeaders(headers: HeadersLike): Record<string, HeaderValue | readonly HeaderValue[]>;
14
+ type OpenAICoreRequestOptions = OpenAIClient.RequestOptions;
15
+ /**
16
+ * Formats a tool in either OpenAI format, or LangChain structured tool format
17
+ * into an OpenAI tool format. If the tool is already in OpenAI format, return without
18
+ * any changes. If it is in LangChain structured tool format, convert it to OpenAI tool format
19
+ * using OpenAI's `zodFunction` util, falling back to `convertToOpenAIFunction` if the parameters
20
+ * returned from the `zodFunction` util are not defined.
21
+ *
22
+ * @param {BindToolsInput} tool The tool to convert to an OpenAI tool.
23
+ * @param {Object} [fields] Additional fields to add to the OpenAI tool.
24
+ * @returns {ToolDefinition} The inputted tool in OpenAI tool format.
25
+ */
26
+ export declare function _convertToOpenAITool(tool: BindToolsInput, fields?: {
27
+ /**
28
+ * If `true`, model output is guaranteed to exactly match the JSON Schema
29
+ * provided in the function definition.
30
+ */
31
+ strict?: boolean;
32
+ }): OpenAIClient.ChatCompletionTool;
33
+ export declare class CustomOpenAIClient extends OpenAIClient {
34
+ abortHandler?: () => void;
35
+ fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise<Response>;
36
+ }
37
+ export declare class CustomAzureOpenAIClient extends AzureOpenAIClient {
38
+ abortHandler?: () => void;
39
+ fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise<Response>;
40
+ }
41
+ /** @ts-expect-error We are intentionally overriding `getReasoningParams` */
42
+ export declare class ChatOpenAI extends OriginalChatOpenAI<t.ChatOpenAICallOptions> {
43
+ get exposedClient(): CustomOpenAIClient;
44
+ static lc_name(): string;
45
+ protected _getClientOptions(options?: OpenAICoreRequestOptions): OpenAICoreRequestOptions;
46
+ /**
47
+ * Returns backwards compatible reasoning parameters from constructor params and call options
48
+ * @internal
49
+ */
50
+ getReasoningParams(options?: this['ParsedCallOptions']): OpenAIClient.Reasoning | undefined;
51
+ protected _getReasoningParams(options?: this['ParsedCallOptions']): OpenAIClient.Reasoning | undefined;
52
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
53
+ _streamResponseChunks2(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
54
+ }
55
+ /** @ts-expect-error We are intentionally overriding `getReasoningParams` */
56
+ export declare class AzureChatOpenAI extends OriginalAzureChatOpenAI {
57
+ get exposedClient(): CustomOpenAIClient;
58
+ static lc_name(): 'IllumaAzureOpenAI';
59
+ /**
60
+ * Returns backwards compatible reasoning parameters from constructor params and call options
61
+ * @internal
62
+ */
63
+ getReasoningParams(options?: this['ParsedCallOptions']): OpenAIClient.Reasoning | undefined;
64
+ protected _getReasoningParams(options?: this['ParsedCallOptions']): OpenAIClient.Reasoning | undefined;
65
+ protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
66
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
67
+ }
68
+ export declare class ChatDeepSeek extends OriginalChatDeepSeek {
69
+ get exposedClient(): CustomOpenAIClient;
70
+ static lc_name(): 'IllumaDeepSeek';
71
+ protected _getClientOptions(options?: OpenAICoreRequestOptions): OpenAICoreRequestOptions;
72
+ }
73
+ /** xAI-specific usage metadata type */
74
+ export interface XAIUsageMetadata extends OpenAIClient.Completions.CompletionUsage {
75
+ prompt_tokens_details?: {
76
+ audio_tokens?: number;
77
+ cached_tokens?: number;
78
+ text_tokens?: number;
79
+ image_tokens?: number;
80
+ };
81
+ completion_tokens_details?: {
82
+ audio_tokens?: number;
83
+ reasoning_tokens?: number;
84
+ accepted_prediction_tokens?: number;
85
+ rejected_prediction_tokens?: number;
86
+ };
87
+ num_sources_used?: number;
88
+ }
89
+ export declare class ChatXAI extends OriginalChatXAI {
90
+ constructor(fields?: Partial<ChatXAIInput> & {
91
+ configuration?: {
92
+ baseURL?: string;
93
+ };
94
+ clientConfig?: {
95
+ baseURL?: string;
96
+ };
97
+ });
98
+ static lc_name(): 'IllumaXAI';
99
+ get exposedClient(): CustomOpenAIClient;
100
+ protected _getClientOptions(options?: OpenAICoreRequestOptions): OpenAICoreRequestOptions;
101
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
102
+ }
103
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { OpenAICallOptions } from '@langchain/openai';
2
+ export interface OpenAIChatCallOptions extends OpenAICallOptions {
3
+ promptIndex?: number;
4
+ }
5
+ export type OpenAIRoleEnum = 'system' | 'developer' | 'assistant' | 'user' | 'function' | 'tool';
6
+ export type HeaderValue = string | undefined | null;
7
+ export type HeadersLike = Headers | readonly HeaderValue[][] | Record<string, HeaderValue | readonly HeaderValue[]> | undefined | null | {
8
+ values: Headers;
9
+ [key: string]: unknown;
10
+ };
@@ -0,0 +1,20 @@
1
+ import { type OpenAI as OpenAIClient } from 'openai';
2
+ import { type BaseMessage } from '@langchain/core/messages';
3
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
4
+ import type { OpenAICallOptions, OpenAIChatInput } from '@langchain/openai';
5
+ export type { OpenAICallOptions, OpenAIChatInput };
6
+ type ExtractAsyncIterableType<T> = T extends AsyncIterable<infer U> ? U : never;
7
+ type ExcludeNonController<T> = T extends {
8
+ controller: unknown;
9
+ } ? T : never;
10
+ type ResponsesCreate = OpenAIClient.Responses['create'];
11
+ type ResponsesInputItem = OpenAIClient.Responses.ResponseInputItem;
12
+ type ResponsesCreateStream = ExcludeNonController<Awaited<ReturnType<ResponsesCreate>>>;
13
+ export type ResponseReturnStreamEvents = ExtractAsyncIterableType<ResponsesCreateStream>;
14
+ type OpenAIRoleEnum = 'system' | 'developer' | 'assistant' | 'user' | 'function' | 'tool';
15
+ type OpenAICompletionParam = OpenAIClient.Chat.Completions.ChatCompletionMessageParam;
16
+ export declare function messageToOpenAIRole(message: BaseMessage): OpenAIRoleEnum;
17
+ export declare function _convertMessagesToOpenAIParams(messages: BaseMessage[], model?: string): OpenAICompletionParam[];
18
+ export declare function _convertMessagesToOpenAIResponsesParams(messages: BaseMessage[], model?: string, zdrEnabled?: boolean): ResponsesInputItem[];
19
+ export declare function isReasoningModel(model?: string): boolean;
20
+ export declare function _convertOpenAIResponsesDeltaToBaseMessageChunk(chunk: ResponseReturnStreamEvents): ChatGenerationChunk | null;
@@ -0,0 +1,12 @@
1
+ import { ChatOpenAI } from '@/llm/openai';
2
+ import type { FunctionMessageChunk, SystemMessageChunk, HumanMessageChunk, ToolMessageChunk, ChatMessageChunk, AIMessageChunk } from '@langchain/core/messages';
3
+ import type { ChatOpenAICallOptions, OpenAIChatInput, OpenAIClient } from '@langchain/openai';
4
+ export interface ChatOpenRouterCallOptions extends ChatOpenAICallOptions {
5
+ include_reasoning?: boolean;
6
+ modelKwargs?: OpenAIChatInput['modelKwargs'];
7
+ }
8
+ export declare class ChatOpenRouter extends ChatOpenAI {
9
+ constructor(_fields: Partial<ChatOpenRouterCallOptions>);
10
+ static lc_name(): 'IllumaOpenRouter';
11
+ protected _convertOpenAIDeltaToBaseMessageChunk(delta: Record<string, any>, rawResponse: OpenAIClient.ChatCompletionChunk, defaultRole?: 'function' | 'user' | 'system' | 'developer' | 'assistant' | 'tool'): AIMessageChunk | HumanMessageChunk | SystemMessageChunk | FunctionMessageChunk | ToolMessageChunk | ChatMessageChunk;
12
+ }
@@ -0,0 +1,5 @@
1
+ import type { ChatModelConstructorMap, ProviderOptionsMap, ChatModelMap } from '@/types';
2
+ import { Providers } from '@/common';
3
+ export declare const llmProviders: Partial<ChatModelConstructorMap>;
4
+ export declare const manualToolStreamProviders: Set<string>;
5
+ export declare const getChatModelClass: <P extends Providers>(provider: P) => new (config: ProviderOptionsMap[P]) => ChatModelMap[P];
@@ -0,0 +1,21 @@
1
+ export interface TextStreamOptions {
2
+ minChunkSize?: number;
3
+ maxChunkSize?: number;
4
+ delay?: number;
5
+ firstWordChunk?: boolean;
6
+ }
7
+ export type ProgressCallback = (chunk: string) => void;
8
+ export type PostChunkCallback = (chunk: string) => void;
9
+ export declare class TextStream {
10
+ private text;
11
+ private currentIndex;
12
+ private minChunkSize;
13
+ private maxChunkSize;
14
+ private delay;
15
+ private firstWordChunk;
16
+ constructor(text: string, options?: TextStreamOptions);
17
+ private randomInt;
18
+ private static readonly BOUNDARIES;
19
+ private findFirstWordBoundary;
20
+ generateText(signal?: AbortSignal, progressCallback?: ProgressCallback): AsyncGenerator<string, void, unknown>;
21
+ }