langchain 1.5.4 → 1.5.6

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 (360) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/agents/ReactAgent.cjs +6 -6
  3. package/dist/agents/ReactAgent.cjs.map +1 -1
  4. package/dist/agents/ReactAgent.d.cts +1 -1
  5. package/dist/agents/ReactAgent.d.cts.map +1 -1
  6. package/dist/agents/ReactAgent.d.ts +1 -1
  7. package/dist/agents/ReactAgent.d.ts.map +1 -1
  8. package/dist/agents/ReactAgent.js +6 -5
  9. package/dist/agents/ReactAgent.js.map +1 -1
  10. package/dist/agents/RunnableCallable.cjs +0 -1
  11. package/dist/agents/RunnableCallable.cjs.map +1 -1
  12. package/dist/agents/RunnableCallable.js.map +1 -1
  13. package/dist/agents/annotation.cjs +0 -1
  14. package/dist/agents/annotation.cjs.map +1 -1
  15. package/dist/agents/annotation.js.map +1 -1
  16. package/dist/agents/constants.d.cts +1 -1
  17. package/dist/agents/constants.d.cts.map +1 -1
  18. package/dist/agents/constants.d.ts +1 -1
  19. package/dist/agents/constants.d.ts.map +1 -1
  20. package/dist/agents/errors.cjs +6 -1
  21. package/dist/agents/errors.cjs.map +1 -1
  22. package/dist/agents/errors.d.cts +2 -1
  23. package/dist/agents/errors.d.cts.map +1 -1
  24. package/dist/agents/errors.d.ts +2 -1
  25. package/dist/agents/errors.d.ts.map +1 -1
  26. package/dist/agents/errors.js +6 -0
  27. package/dist/agents/errors.js.map +1 -1
  28. package/dist/agents/index.cjs +21 -7
  29. package/dist/agents/index.cjs.map +1 -1
  30. package/dist/agents/index.d.cts +2 -2
  31. package/dist/agents/index.d.cts.map +1 -1
  32. package/dist/agents/index.d.ts +2 -2
  33. package/dist/agents/index.d.ts.map +1 -1
  34. package/dist/agents/index.js +8 -8
  35. package/dist/agents/index.js.map +1 -1
  36. package/dist/agents/middleware/constants.cjs +3 -1
  37. package/dist/agents/middleware/constants.cjs.map +1 -1
  38. package/dist/agents/middleware/constants.js +3 -1
  39. package/dist/agents/middleware/constants.js.map +1 -1
  40. package/dist/agents/middleware/contextEditing.cjs +0 -1
  41. package/dist/agents/middleware/contextEditing.cjs.map +1 -1
  42. package/dist/agents/middleware/contextEditing.d.cts +1 -3
  43. package/dist/agents/middleware/contextEditing.d.cts.map +1 -1
  44. package/dist/agents/middleware/contextEditing.d.ts +1 -3
  45. package/dist/agents/middleware/contextEditing.d.ts.map +1 -1
  46. package/dist/agents/middleware/contextEditing.js.map +1 -1
  47. package/dist/agents/middleware/dynamicSystemPrompt.cjs +0 -1
  48. package/dist/agents/middleware/dynamicSystemPrompt.cjs.map +1 -1
  49. package/dist/agents/middleware/dynamicSystemPrompt.d.cts +1 -3
  50. package/dist/agents/middleware/dynamicSystemPrompt.d.cts.map +1 -1
  51. package/dist/agents/middleware/dynamicSystemPrompt.d.ts +1 -3
  52. package/dist/agents/middleware/dynamicSystemPrompt.d.ts.map +1 -1
  53. package/dist/agents/middleware/dynamicSystemPrompt.js.map +1 -1
  54. package/dist/agents/middleware/error.cjs +0 -1
  55. package/dist/agents/middleware/error.cjs.map +1 -1
  56. package/dist/agents/middleware/error.js.map +1 -1
  57. package/dist/agents/middleware/hitl.cjs +0 -1
  58. package/dist/agents/middleware/hitl.cjs.map +1 -1
  59. package/dist/agents/middleware/hitl.d.cts +1 -3
  60. package/dist/agents/middleware/hitl.d.cts.map +1 -1
  61. package/dist/agents/middleware/hitl.d.ts +1 -3
  62. package/dist/agents/middleware/hitl.d.ts.map +1 -1
  63. package/dist/agents/middleware/hitl.js.map +1 -1
  64. package/dist/agents/middleware/index.cjs +51 -20
  65. package/dist/agents/middleware/index.d.cts +2 -1
  66. package/dist/agents/middleware/index.d.ts +2 -1
  67. package/dist/agents/middleware/index.js +21 -21
  68. package/dist/agents/middleware/llmToolSelector.cjs +3 -1
  69. package/dist/agents/middleware/llmToolSelector.cjs.map +1 -1
  70. package/dist/agents/middleware/llmToolSelector.d.cts +9 -12
  71. package/dist/agents/middleware/llmToolSelector.d.cts.map +1 -1
  72. package/dist/agents/middleware/llmToolSelector.d.ts +9 -12
  73. package/dist/agents/middleware/llmToolSelector.d.ts.map +1 -1
  74. package/dist/agents/middleware/llmToolSelector.js +3 -1
  75. package/dist/agents/middleware/llmToolSelector.js.map +1 -1
  76. package/dist/agents/middleware/modelCallLimit.cjs +0 -1
  77. package/dist/agents/middleware/modelCallLimit.cjs.map +1 -1
  78. package/dist/agents/middleware/modelCallLimit.d.cts +1 -3
  79. package/dist/agents/middleware/modelCallLimit.d.cts.map +1 -1
  80. package/dist/agents/middleware/modelCallLimit.d.ts +1 -3
  81. package/dist/agents/middleware/modelCallLimit.d.ts.map +1 -1
  82. package/dist/agents/middleware/modelCallLimit.js.map +1 -1
  83. package/dist/agents/middleware/modelFallback.cjs.map +1 -1
  84. package/dist/agents/middleware/modelFallback.d.cts +1 -3
  85. package/dist/agents/middleware/modelFallback.d.cts.map +1 -1
  86. package/dist/agents/middleware/modelFallback.d.ts +1 -3
  87. package/dist/agents/middleware/modelFallback.d.ts.map +1 -1
  88. package/dist/agents/middleware/modelFallback.js.map +1 -1
  89. package/dist/agents/middleware/modelRetry.cjs +1 -1
  90. package/dist/agents/middleware/modelRetry.cjs.map +1 -1
  91. package/dist/agents/middleware/modelRetry.d.cts +2 -4
  92. package/dist/agents/middleware/modelRetry.d.cts.map +1 -1
  93. package/dist/agents/middleware/modelRetry.d.ts +2 -4
  94. package/dist/agents/middleware/modelRetry.d.ts.map +1 -1
  95. package/dist/agents/middleware/modelRetry.js +1 -1
  96. package/dist/agents/middleware/modelRetry.js.map +1 -1
  97. package/dist/agents/middleware/pii.cjs +2 -1
  98. package/dist/agents/middleware/pii.cjs.map +1 -1
  99. package/dist/agents/middleware/pii.d.cts +2 -4
  100. package/dist/agents/middleware/pii.d.cts.map +1 -1
  101. package/dist/agents/middleware/pii.d.ts +2 -4
  102. package/dist/agents/middleware/pii.d.ts.map +1 -1
  103. package/dist/agents/middleware/pii.js +2 -0
  104. package/dist/agents/middleware/pii.js.map +1 -1
  105. package/dist/agents/middleware/piiRedaction.cjs +0 -1
  106. package/dist/agents/middleware/piiRedaction.cjs.map +1 -1
  107. package/dist/agents/middleware/piiRedaction.d.cts +1 -3
  108. package/dist/agents/middleware/piiRedaction.d.cts.map +1 -1
  109. package/dist/agents/middleware/piiRedaction.d.ts +1 -3
  110. package/dist/agents/middleware/piiRedaction.d.ts.map +1 -1
  111. package/dist/agents/middleware/piiRedaction.js.map +1 -1
  112. package/dist/agents/middleware/provider/anthropic/promptCaching.cjs +0 -1
  113. package/dist/agents/middleware/provider/anthropic/promptCaching.cjs.map +1 -1
  114. package/dist/agents/middleware/provider/anthropic/promptCaching.d.cts +1 -3
  115. package/dist/agents/middleware/provider/anthropic/promptCaching.d.cts.map +1 -1
  116. package/dist/agents/middleware/provider/anthropic/promptCaching.d.ts +1 -3
  117. package/dist/agents/middleware/provider/anthropic/promptCaching.d.ts.map +1 -1
  118. package/dist/agents/middleware/provider/anthropic/promptCaching.js.map +1 -1
  119. package/dist/agents/middleware/provider/aws/promptCaching.cjs +0 -1
  120. package/dist/agents/middleware/provider/aws/promptCaching.cjs.map +1 -1
  121. package/dist/agents/middleware/provider/aws/promptCaching.d.cts +1 -3
  122. package/dist/agents/middleware/provider/aws/promptCaching.d.cts.map +1 -1
  123. package/dist/agents/middleware/provider/aws/promptCaching.d.ts +1 -3
  124. package/dist/agents/middleware/provider/aws/promptCaching.d.ts.map +1 -1
  125. package/dist/agents/middleware/provider/aws/promptCaching.js.map +1 -1
  126. package/dist/agents/middleware/provider/openai/moderation.cjs +1 -1
  127. package/dist/agents/middleware/provider/openai/moderation.cjs.map +1 -1
  128. package/dist/agents/middleware/provider/openai/moderation.d.cts +0 -4
  129. package/dist/agents/middleware/provider/openai/moderation.d.cts.map +1 -1
  130. package/dist/agents/middleware/provider/openai/moderation.d.ts +0 -4
  131. package/dist/agents/middleware/provider/openai/moderation.d.ts.map +1 -1
  132. package/dist/agents/middleware/provider/openai/moderation.js +1 -1
  133. package/dist/agents/middleware/provider/openai/moderation.js.map +1 -1
  134. package/dist/agents/middleware/providerToolSearch.cjs +0 -1
  135. package/dist/agents/middleware/providerToolSearch.cjs.map +1 -1
  136. package/dist/agents/middleware/providerToolSearch.d.cts +1 -2
  137. package/dist/agents/middleware/providerToolSearch.d.cts.map +1 -1
  138. package/dist/agents/middleware/providerToolSearch.d.ts +1 -2
  139. package/dist/agents/middleware/providerToolSearch.d.ts.map +1 -1
  140. package/dist/agents/middleware/providerToolSearch.js.map +1 -1
  141. package/dist/agents/middleware/summarization.cjs +8 -5
  142. package/dist/agents/middleware/summarization.cjs.map +1 -1
  143. package/dist/agents/middleware/summarization.d.cts +16 -20
  144. package/dist/agents/middleware/summarization.d.cts.map +1 -1
  145. package/dist/agents/middleware/summarization.d.ts +16 -20
  146. package/dist/agents/middleware/summarization.d.ts.map +1 -1
  147. package/dist/agents/middleware/summarization.js +8 -5
  148. package/dist/agents/middleware/summarization.js.map +1 -1
  149. package/dist/agents/middleware/todoListMiddleware.cjs +0 -1
  150. package/dist/agents/middleware/todoListMiddleware.cjs.map +1 -1
  151. package/dist/agents/middleware/todoListMiddleware.d.cts +2 -5
  152. package/dist/agents/middleware/todoListMiddleware.d.cts.map +1 -1
  153. package/dist/agents/middleware/todoListMiddleware.d.ts +2 -5
  154. package/dist/agents/middleware/todoListMiddleware.d.ts.map +1 -1
  155. package/dist/agents/middleware/todoListMiddleware.js.map +1 -1
  156. package/dist/agents/middleware/toolCallLimit.cjs +0 -1
  157. package/dist/agents/middleware/toolCallLimit.cjs.map +1 -1
  158. package/dist/agents/middleware/toolCallLimit.d.cts +2 -4
  159. package/dist/agents/middleware/toolCallLimit.d.cts.map +1 -1
  160. package/dist/agents/middleware/toolCallLimit.d.ts +2 -4
  161. package/dist/agents/middleware/toolCallLimit.d.ts.map +1 -1
  162. package/dist/agents/middleware/toolCallLimit.js.map +1 -1
  163. package/dist/agents/middleware/toolEmulator.cjs +8 -2
  164. package/dist/agents/middleware/toolEmulator.cjs.map +1 -1
  165. package/dist/agents/middleware/toolEmulator.d.cts +0 -1
  166. package/dist/agents/middleware/toolEmulator.d.cts.map +1 -1
  167. package/dist/agents/middleware/toolEmulator.d.ts +0 -1
  168. package/dist/agents/middleware/toolEmulator.d.ts.map +1 -1
  169. package/dist/agents/middleware/toolEmulator.js +8 -1
  170. package/dist/agents/middleware/toolEmulator.js.map +1 -1
  171. package/dist/agents/middleware/toolError.cjs +0 -1
  172. package/dist/agents/middleware/toolError.cjs.map +1 -1
  173. package/dist/agents/middleware/toolError.d.cts +0 -1
  174. package/dist/agents/middleware/toolError.d.cts.map +1 -1
  175. package/dist/agents/middleware/toolError.d.ts +0 -1
  176. package/dist/agents/middleware/toolError.d.ts.map +1 -1
  177. package/dist/agents/middleware/toolError.js.map +1 -1
  178. package/dist/agents/middleware/toolRetry.cjs +1 -1
  179. package/dist/agents/middleware/toolRetry.cjs.map +1 -1
  180. package/dist/agents/middleware/toolRetry.d.cts +1 -2
  181. package/dist/agents/middleware/toolRetry.d.cts.map +1 -1
  182. package/dist/agents/middleware/toolRetry.d.ts +1 -2
  183. package/dist/agents/middleware/toolRetry.d.ts.map +1 -1
  184. package/dist/agents/middleware/toolRetry.js +1 -1
  185. package/dist/agents/middleware/toolRetry.js.map +1 -1
  186. package/dist/agents/middleware/types.cjs.map +1 -1
  187. package/dist/agents/middleware/types.d.cts +1 -2
  188. package/dist/agents/middleware/types.d.cts.map +1 -1
  189. package/dist/agents/middleware/types.d.ts +1 -2
  190. package/dist/agents/middleware/types.d.ts.map +1 -1
  191. package/dist/agents/middleware/types.js.map +1 -1
  192. package/dist/agents/middleware/utils.cjs +0 -1
  193. package/dist/agents/middleware/utils.cjs.map +1 -1
  194. package/dist/agents/middleware/utils.d.cts +2 -1
  195. package/dist/agents/middleware/utils.d.cts.map +1 -1
  196. package/dist/agents/middleware/utils.d.ts +2 -1
  197. package/dist/agents/middleware/utils.d.ts.map +1 -1
  198. package/dist/agents/middleware/utils.js.map +1 -1
  199. package/dist/agents/middleware.cjs.map +1 -1
  200. package/dist/agents/middleware.d.cts +0 -1
  201. package/dist/agents/middleware.d.cts.map +1 -1
  202. package/dist/agents/middleware.d.ts +0 -1
  203. package/dist/agents/middleware.d.ts.map +1 -1
  204. package/dist/agents/middleware.js.map +1 -1
  205. package/dist/agents/model.cjs.map +1 -1
  206. package/dist/agents/model.d.cts +0 -1
  207. package/dist/agents/model.d.cts.map +1 -1
  208. package/dist/agents/model.d.ts +0 -1
  209. package/dist/agents/model.d.ts.map +1 -1
  210. package/dist/agents/model.js.map +1 -1
  211. package/dist/agents/nodes/AfterAgentNode.cjs +1 -0
  212. package/dist/agents/nodes/AfterAgentNode.cjs.map +1 -1
  213. package/dist/agents/nodes/AfterAgentNode.js +1 -0
  214. package/dist/agents/nodes/AfterAgentNode.js.map +1 -1
  215. package/dist/agents/nodes/AfterModelNode.cjs +1 -0
  216. package/dist/agents/nodes/AfterModelNode.cjs.map +1 -1
  217. package/dist/agents/nodes/AfterModelNode.js +1 -0
  218. package/dist/agents/nodes/AfterModelNode.js.map +1 -1
  219. package/dist/agents/nodes/AgentNode.cjs +0 -1
  220. package/dist/agents/nodes/AgentNode.cjs.map +1 -1
  221. package/dist/agents/nodes/AgentNode.js.map +1 -1
  222. package/dist/agents/nodes/BeforeAgentNode.cjs +1 -0
  223. package/dist/agents/nodes/BeforeAgentNode.cjs.map +1 -1
  224. package/dist/agents/nodes/BeforeAgentNode.js +1 -0
  225. package/dist/agents/nodes/BeforeAgentNode.js.map +1 -1
  226. package/dist/agents/nodes/BeforeModelNode.cjs +1 -0
  227. package/dist/agents/nodes/BeforeModelNode.cjs.map +1 -1
  228. package/dist/agents/nodes/BeforeModelNode.js +1 -0
  229. package/dist/agents/nodes/BeforeModelNode.js.map +1 -1
  230. package/dist/agents/nodes/ToolNode.cjs +2 -1
  231. package/dist/agents/nodes/ToolNode.cjs.map +1 -1
  232. package/dist/agents/nodes/ToolNode.js +2 -1
  233. package/dist/agents/nodes/ToolNode.js.map +1 -1
  234. package/dist/agents/nodes/middleware.cjs +0 -1
  235. package/dist/agents/nodes/middleware.cjs.map +1 -1
  236. package/dist/agents/nodes/middleware.js.map +1 -1
  237. package/dist/agents/nodes/types.d.cts +0 -1
  238. package/dist/agents/nodes/types.d.cts.map +1 -1
  239. package/dist/agents/nodes/types.d.ts +0 -1
  240. package/dist/agents/nodes/types.d.ts.map +1 -1
  241. package/dist/agents/nodes/utils.cjs +0 -1
  242. package/dist/agents/nodes/utils.cjs.map +1 -1
  243. package/dist/agents/nodes/utils.js.map +1 -1
  244. package/dist/agents/responses.cjs +11 -5
  245. package/dist/agents/responses.cjs.map +1 -1
  246. package/dist/agents/responses.d.cts +3 -3
  247. package/dist/agents/responses.d.cts.map +1 -1
  248. package/dist/agents/responses.d.ts +3 -3
  249. package/dist/agents/responses.d.ts.map +1 -1
  250. package/dist/agents/responses.js +11 -5
  251. package/dist/agents/responses.js.map +1 -1
  252. package/dist/agents/runtime.d.cts +2 -2
  253. package/dist/agents/runtime.d.cts.map +1 -1
  254. package/dist/agents/runtime.d.ts +2 -2
  255. package/dist/agents/runtime.d.ts.map +1 -1
  256. package/dist/agents/tests/utils.cjs +0 -1
  257. package/dist/agents/tests/utils.cjs.map +1 -1
  258. package/dist/agents/tests/utils.d.cts +2 -9
  259. package/dist/agents/tests/utils.d.cts.map +1 -1
  260. package/dist/agents/tests/utils.d.ts +2 -9
  261. package/dist/agents/tests/utils.d.ts.map +1 -1
  262. package/dist/agents/tests/utils.js.map +1 -1
  263. package/dist/agents/transformers/index.cjs +4 -2
  264. package/dist/agents/transformers/index.d.cts +2 -1
  265. package/dist/agents/transformers/index.d.ts +2 -1
  266. package/dist/agents/transformers/index.js +3 -3
  267. package/dist/agents/transformers/subagent.cjs +0 -1
  268. package/dist/agents/transformers/subagent.cjs.map +1 -1
  269. package/dist/agents/transformers/subagent.d.cts +0 -1
  270. package/dist/agents/transformers/subagent.d.cts.map +1 -1
  271. package/dist/agents/transformers/subagent.d.ts +0 -1
  272. package/dist/agents/transformers/subagent.d.ts.map +1 -1
  273. package/dist/agents/transformers/subagent.js.map +1 -1
  274. package/dist/agents/transformers/tool-call.cjs +0 -1
  275. package/dist/agents/transformers/tool-call.cjs.map +1 -1
  276. package/dist/agents/transformers/tool-call.d.cts +0 -1
  277. package/dist/agents/transformers/tool-call.d.cts.map +1 -1
  278. package/dist/agents/transformers/tool-call.d.ts +0 -1
  279. package/dist/agents/transformers/tool-call.d.ts.map +1 -1
  280. package/dist/agents/transformers/tool-call.js.map +1 -1
  281. package/dist/agents/transformers/types.d.cts +3 -3
  282. package/dist/agents/transformers/types.d.cts.map +1 -1
  283. package/dist/agents/transformers/types.d.ts +3 -3
  284. package/dist/agents/transformers/types.d.ts.map +1 -1
  285. package/dist/agents/types.d.cts +1 -2
  286. package/dist/agents/types.d.cts.map +1 -1
  287. package/dist/agents/types.d.ts +1 -2
  288. package/dist/agents/types.d.ts.map +1 -1
  289. package/dist/agents/utils.cjs +0 -1
  290. package/dist/agents/utils.cjs.map +1 -1
  291. package/dist/agents/utils.js.map +1 -1
  292. package/dist/agents/withAgentName.cjs +0 -1
  293. package/dist/agents/withAgentName.cjs.map +1 -1
  294. package/dist/agents/withAgentName.js.map +1 -1
  295. package/dist/browser.d.cts +2 -1
  296. package/dist/browser.d.ts +2 -1
  297. package/dist/chat_models/universal.cjs.map +1 -1
  298. package/dist/chat_models/universal.d.cts +0 -1
  299. package/dist/chat_models/universal.d.cts.map +1 -1
  300. package/dist/chat_models/universal.d.ts +0 -1
  301. package/dist/chat_models/universal.d.ts.map +1 -1
  302. package/dist/chat_models/universal.js.map +1 -1
  303. package/dist/hub/base.cjs +0 -1
  304. package/dist/hub/base.cjs.map +1 -1
  305. package/dist/hub/base.d.cts +1 -0
  306. package/dist/hub/base.d.cts.map +1 -1
  307. package/dist/hub/base.d.ts +1 -0
  308. package/dist/hub/base.d.ts.map +1 -1
  309. package/dist/hub/base.js.map +1 -1
  310. package/dist/hub/index.cjs.map +1 -1
  311. package/dist/hub/index.d.cts +0 -1
  312. package/dist/hub/index.d.cts.map +1 -1
  313. package/dist/hub/index.d.ts +0 -1
  314. package/dist/hub/index.d.ts.map +1 -1
  315. package/dist/hub/index.js.map +1 -1
  316. package/dist/hub/node.cjs.map +1 -1
  317. package/dist/hub/node.d.cts +0 -1
  318. package/dist/hub/node.d.cts.map +1 -1
  319. package/dist/hub/node.d.ts +0 -1
  320. package/dist/hub/node.d.ts.map +1 -1
  321. package/dist/hub/node.js.map +1 -1
  322. package/dist/index.d.cts +2 -1
  323. package/dist/index.d.ts +2 -1
  324. package/dist/load/import_constants.cjs.map +1 -1
  325. package/dist/load/import_constants.js.map +1 -1
  326. package/dist/load/import_map.cjs +56 -0
  327. package/dist/load/import_map.cjs.map +1 -1
  328. package/dist/load/import_map.js +1 -1
  329. package/dist/load/import_map.js.map +1 -1
  330. package/dist/load/import_type.d.cts.map +1 -1
  331. package/dist/load/import_type.d.ts.map +1 -1
  332. package/dist/load/index.cjs +0 -1
  333. package/dist/load/index.cjs.map +1 -1
  334. package/dist/load/index.d.cts +0 -1
  335. package/dist/load/index.d.cts.map +1 -1
  336. package/dist/load/index.d.ts +0 -1
  337. package/dist/load/index.d.ts.map +1 -1
  338. package/dist/load/index.js.map +1 -1
  339. package/dist/storage/encoder_backed.cjs.map +1 -1
  340. package/dist/storage/encoder_backed.d.cts +0 -1
  341. package/dist/storage/encoder_backed.d.cts.map +1 -1
  342. package/dist/storage/encoder_backed.d.ts +0 -1
  343. package/dist/storage/encoder_backed.d.ts.map +1 -1
  344. package/dist/storage/encoder_backed.js.map +1 -1
  345. package/dist/storage/file_system.cjs +4 -3
  346. package/dist/storage/file_system.cjs.map +1 -1
  347. package/dist/storage/file_system.d.cts +20 -1
  348. package/dist/storage/file_system.d.cts.map +1 -1
  349. package/dist/storage/file_system.d.ts +20 -1
  350. package/dist/storage/file_system.d.ts.map +1 -1
  351. package/dist/storage/file_system.js +4 -3
  352. package/dist/storage/file_system.js.map +1 -1
  353. package/dist/tools/headless.cjs +0 -1
  354. package/dist/tools/headless.cjs.map +1 -1
  355. package/dist/tools/headless.d.cts +5 -3
  356. package/dist/tools/headless.d.cts.map +1 -1
  357. package/dist/tools/headless.d.ts +5 -3
  358. package/dist/tools/headless.d.ts.map +1 -1
  359. package/dist/tools/headless.js.map +1 -1
  360. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.cts","names":[],"sources":["../../src/agents/errors.ts"],"mappings":";;;cAIa,uBAAA,SAAgC,KAAA;EAC3C,WAAA,CAAA;AAAA;;;;cAYW,8BAAA,SAAuC,KAAA;EAAA,SAClC,SAAA;EAEhB,WAAA,CAAY,SAAA;AAAA;;;;cAcD,4BAAA,SAAqC,KAAA;EAAA,SAChC,QAAA;EAAA,SAEA,MAAA;EAEhB,WAAA,CAAY,QAAA,UAAkB,MAAA;AAAA;;;;cAcnB,mBAAA,SAA4B,KAAA;EAAA;EAAA,SAGvB,QAAA,EAAU,QAAA;EAAA,SAEV,SAAA,EAAW,KAAA;EAE3B,WAAA,CAAY,SAAA,WAAoB,QAAA,EAAU,QAAA;EArBZ;;;AAchC;;EAdgC,OAsCvB,UAAA,CAAW,KAAA,YAAiB,KAAA,IAAS,mBAAA;AAAA;;;;;;;cAejC,eAAA,SAAwB,KAAA;EAAA;EAAA,QAG5B,WAAA,CAAA;EArCS;;;;;;;;EAAA,OA0DT,IAAA,CAAK,KAAA,WAAgB,cAAA,WAAyB,KAAA;EAvCT;;;AAe9C;;EAf8C,OAqDrC,UAAA,CAAW,KAAA,YAAiB,KAAA,IAAS,eAAA;AAAA"}
1
+ {"version":3,"file":"errors.d.cts","names":[],"sources":["../../src/agents/errors.ts"],"mappings":";;cAIa,gCAAgC;EAC3C;;;;;cAYW,uCAAuC;WAClC;EAEhB,YAAY;;;;;cAcD,qCAAqC;WAChC;WAEA;EAEhB,YAAY,kBAAkB;;;;;cAcnB,4BAA4B;;WAGvB,UAAU;WAEV,WAAW;EAE3B,YAAY,oBAAoB,UAAU;;;;;;SAiBnC,WAAW,iBAAiB,SAAS;UAQpC,OAAO,aAAa,eAAY,OAAA;;;;;;;;cAW7B,wBAAwB;;UAG5B;;;;;;;;;SAqBA,KAAK,gBAAgB,yBAAyB;;;;;;SAc9C,WAAW,iBAAiB,SAAS;UAQpC,OAAO,aAAa,eAAY,OAAA"}
@@ -1,5 +1,4 @@
1
1
  import { ToolCall } from "@langchain/core/messages/tool";
2
-
3
2
  //#region src/agents/errors.d.ts
4
3
  declare class MultipleToolsBoundError extends Error {
5
4
  constructor();
@@ -33,6 +32,7 @@ declare class ToolInvocationError extends Error {
33
32
  * @returns Whether the error is a ToolInvocationError
34
33
  */
35
34
  static isInstance(error: unknown): error is ToolInvocationError;
35
+ static [Symbol.hasInstance](obj: unknown): obj is ToolInvocationError;
36
36
  }
37
37
  /**
38
38
  * Error thrown when a middleware fails.
@@ -58,6 +58,7 @@ declare class MiddlewareError extends Error {
58
58
  * @returns Whether the error is a MiddlewareError
59
59
  */
60
60
  static isInstance(error: unknown): error is MiddlewareError;
61
+ static [Symbol.hasInstance](obj: unknown): obj is MiddlewareError;
61
62
  }
62
63
  //#endregion
63
64
  export { MiddlewareError, MultipleStructuredOutputsError, MultipleToolsBoundError, StructuredOutputParsingError, ToolInvocationError };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","names":[],"sources":["../../src/agents/errors.ts"],"mappings":";;;cAIa,uBAAA,SAAgC,KAAA;EAC3C,WAAA,CAAA;AAAA;;;;cAYW,8BAAA,SAAuC,KAAA;EAAA,SAClC,SAAA;EAEhB,WAAA,CAAY,SAAA;AAAA;;;;cAcD,4BAAA,SAAqC,KAAA;EAAA,SAChC,QAAA;EAAA,SAEA,MAAA;EAEhB,WAAA,CAAY,QAAA,UAAkB,MAAA;AAAA;;;;cAcnB,mBAAA,SAA4B,KAAA;EAAA;EAAA,SAGvB,QAAA,EAAU,QAAA;EAAA,SAEV,SAAA,EAAW,KAAA;EAE3B,WAAA,CAAY,SAAA,WAAoB,QAAA,EAAU,QAAA;EArBZ;;;AAchC;;EAdgC,OAsCvB,UAAA,CAAW,KAAA,YAAiB,KAAA,IAAS,mBAAA;AAAA;;;;;;;cAejC,eAAA,SAAwB,KAAA;EAAA;EAAA,QAG5B,WAAA,CAAA;EArCS;;;;;;;;EAAA,OA0DT,IAAA,CAAK,KAAA,WAAgB,cAAA,WAAyB,KAAA;EAvCT;;;AAe9C;;EAf8C,OAqDrC,UAAA,CAAW,KAAA,YAAiB,KAAA,IAAS,eAAA;AAAA"}
1
+ {"version":3,"file":"errors.d.ts","names":[],"sources":["../../src/agents/errors.ts"],"mappings":";;cAIa,gCAAgC;EAC3C;;;;;cAYW,uCAAuC;WAClC;EAEhB,YAAY;;;;;cAcD,qCAAqC;WAChC;WAEA;EAEhB,YAAY,kBAAkB;;;;;cAcnB,4BAA4B;;WAGvB,UAAU;WAEV,WAAW;EAE3B,YAAY,oBAAoB,UAAU;;;;;;SAiBnC,WAAW,iBAAiB,SAAS;UAQpC,OAAO,aAAa,eAAY,OAAA;;;;;;;;cAW7B,wBAAwB;;UAG5B;;;;;;;;;SAqBA,KAAK,gBAAgB,yBAAyB;;;;;;SAc9C,WAAW,iBAAiB,SAAS;UAQpC,OAAO,aAAa,eAAY,OAAA"}
@@ -49,6 +49,9 @@ var ToolInvocationError = class extends Error {
49
49
  static isInstance(error) {
50
50
  return error instanceof Error && "~brand" in error && error["~brand"] === "ToolInvocationError";
51
51
  }
52
+ static [Symbol.hasInstance](obj) {
53
+ return this.isInstance(obj);
54
+ }
52
55
  };
53
56
  /**
54
57
  * Error thrown when a middleware fails.
@@ -84,6 +87,9 @@ var MiddlewareError = class MiddlewareError extends Error {
84
87
  static isInstance(error) {
85
88
  return error instanceof Error && "~brand" in error && error["~brand"] === "MiddlewareError";
86
89
  }
90
+ static [Symbol.hasInstance](obj) {
91
+ return this.isInstance(obj);
92
+ }
87
93
  };
88
94
  //#endregion
89
95
  export { MiddlewareError, MultipleStructuredOutputsError, MultipleToolsBoundError, StructuredOutputParsingError, ToolInvocationError };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":[],"sources":["../../src/agents/errors.ts"],"sourcesContent":["/* oxlint-disable no-instanceof/no-instanceof */\nimport type { ToolCall } from \"@langchain/core/messages/tool\";\nimport { isGraphBubbleUp } from \"@langchain/langgraph\";\n\nexport class MultipleToolsBoundError extends Error {\n constructor() {\n super(\n \"The provided LLM already has bound tools. \" +\n \"Please provide an LLM without bound tools to createAgent. \" +\n \"The agent will bind the tools provided in the 'tools' parameter.\"\n );\n }\n}\n\n/**\n * Raised when model returns multiple structured output tool calls when only one is expected.\n */\nexport class MultipleStructuredOutputsError extends Error {\n public readonly toolNames: string[];\n\n constructor(toolNames: string[]) {\n super(\n `The model has called multiple tools: ${toolNames.join(\n \", \"\n )} to return a structured output. ` +\n \"This is not supported. Please provide a single structured output.\"\n );\n this.toolNames = toolNames;\n }\n}\n\n/**\n * Raised when structured output tool call arguments fail to parse according to the schema.\n */\nexport class StructuredOutputParsingError extends Error {\n public readonly toolName: string;\n\n public readonly errors: string[];\n\n constructor(toolName: string, errors: string[]) {\n super(\n `Failed to parse structured output for tool '${toolName}':${errors\n .map((e) => `\\n - ${e}`)\n .join(\"\")}.`\n );\n this.toolName = toolName;\n this.errors = errors;\n }\n}\n\n/**\n * Raised when a tool call is throwing an error.\n */\nexport class ToolInvocationError extends Error {\n readonly \"~brand\" = \"ToolInvocationError\";\n\n public readonly toolCall: ToolCall;\n\n public readonly toolError: Error;\n\n constructor(toolError: unknown, toolCall: ToolCall) {\n const error =\n toolError instanceof Error ? toolError : new Error(String(toolError));\n const toolArgs = JSON.stringify(toolCall.args);\n super(\n `Error invoking tool '${toolCall.name}' with kwargs ${toolArgs} with error: ${error.stack}\\n Please fix the error and try again.`\n );\n\n this.toolCall = toolCall;\n this.toolError = error;\n }\n\n /**\n * Check if the error is a ToolInvocationError.\n * @param error - The error to check\n * @returns Whether the error is a ToolInvocationError\n */\n static isInstance(error: unknown): error is ToolInvocationError {\n return (\n error instanceof Error &&\n \"~brand\" in error &&\n error[\"~brand\"] === \"ToolInvocationError\"\n );\n }\n}\n\n/**\n * Error thrown when a middleware fails.\n *\n * Use `MiddlewareError.wrap()` to create instances. The constructor is private\n * to ensure that GraphBubbleUp errors (like GraphInterrupt) are never wrapped.\n */\nexport class MiddlewareError extends Error {\n readonly \"~brand\" = \"MiddlewareError\";\n\n private constructor(error: unknown, middlewareName: string) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n super(errorMessage);\n this.name =\n error instanceof Error\n ? error.name\n : `${middlewareName[0].toUpperCase() + middlewareName.slice(1)}Error`;\n\n if (error instanceof Error) {\n this.cause = error;\n }\n }\n\n /**\n * Wrap an error in a MiddlewareError, unless it's a GraphBubbleUp error\n * (like GraphInterrupt) which should propagate unchanged.\n *\n * @param error - The error to wrap\n * @param middlewareName - The name of the middleware that threw the error\n * @returns The original error if it's a GraphBubbleUp, otherwise a new MiddlewareError\n */\n static wrap(error: unknown, middlewareName: string): Error {\n // Don't wrap GraphBubbleUp errors (GraphInterrupt, NodeInterrupt, etc.)\n // These are control flow mechanisms that need to bubble up unchanged\n if (isGraphBubbleUp(error)) {\n return error;\n }\n return new MiddlewareError(error, middlewareName);\n }\n\n /**\n * Check if the error is a MiddlewareError.\n * @param error - The error to check\n * @returns Whether the error is a MiddlewareError\n */\n static isInstance(error: unknown): error is MiddlewareError {\n return (\n error instanceof Error &&\n \"~brand\" in error &&\n error[\"~brand\"] === \"MiddlewareError\"\n );\n }\n}\n"],"mappings":";;AAIA,IAAa,0BAAb,cAA6C,MAAM;CACjD,cAAc;AACZ,QACE,uKAGD;;;;;;AAOL,IAAa,iCAAb,cAAoD,MAAM;CACxD;CAEA,YAAY,WAAqB;AAC/B,QACE,wCAAwC,UAAU,KAChD,KACD,CAAC,mGAEH;AACD,OAAK,YAAY;;;;;;AAOrB,IAAa,+BAAb,cAAkD,MAAM;CACtD;CAEA;CAEA,YAAY,UAAkB,QAAkB;AAC9C,QACE,+CAA+C,SAAS,IAAI,OACzD,KAAK,MAAM,SAAS,IAAI,CACxB,KAAK,GAAG,CAAC,GACb;AACD,OAAK,WAAW;AAChB,OAAK,SAAS;;;;;;AAOlB,IAAa,sBAAb,cAAyC,MAAM;CAC7C,WAAoB;CAEpB;CAEA;CAEA,YAAY,WAAoB,UAAoB;EAClD,MAAM,QACJ,qBAAqB,QAAQ,YAAY,IAAI,MAAM,OAAO,UAAU,CAAC;EACvE,MAAM,WAAW,KAAK,UAAU,SAAS,KAAK;AAC9C,QACE,wBAAwB,SAAS,KAAK,gBAAgB,SAAS,eAAe,MAAM,MAAM,wCAC3F;AAED,OAAK,WAAW;AAChB,OAAK,YAAY;;;;;;;CAQnB,OAAO,WAAW,OAA8C;AAC9D,SACE,iBAAiB,SACjB,YAAY,SACZ,MAAM,cAAc;;;;;;;;;AAW1B,IAAa,kBAAb,MAAa,wBAAwB,MAAM;CACzC,WAAoB;CAEpB,YAAoB,OAAgB,gBAAwB;EAC1D,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AAC3E,QAAM,aAAa;AACnB,OAAK,OACH,iBAAiB,QACb,MAAM,OACN,GAAG,eAAe,GAAG,aAAa,GAAG,eAAe,MAAM,EAAE,CAAC;AAEnE,MAAI,iBAAiB,MACnB,MAAK,QAAQ;;;;;;;;;;CAYjB,OAAO,KAAK,OAAgB,gBAA+B;AAGzD,MAAI,gBAAgB,MAAM,CACxB,QAAO;AAET,SAAO,IAAI,gBAAgB,OAAO,eAAe;;;;;;;CAQnD,OAAO,WAAW,OAA0C;AAC1D,SACE,iBAAiB,SACjB,YAAY,SACZ,MAAM,cAAc"}
1
+ {"version":3,"file":"errors.js","names":[],"sources":["../../src/agents/errors.ts"],"sourcesContent":["/* oxlint-disable no-instanceof/no-instanceof */\nimport type { ToolCall } from \"@langchain/core/messages/tool\";\nimport { isGraphBubbleUp } from \"@langchain/langgraph\";\n\nexport class MultipleToolsBoundError extends Error {\n constructor() {\n super(\n \"The provided LLM already has bound tools. \" +\n \"Please provide an LLM without bound tools to createAgent. \" +\n \"The agent will bind the tools provided in the 'tools' parameter.\"\n );\n }\n}\n\n/**\n * Raised when model returns multiple structured output tool calls when only one is expected.\n */\nexport class MultipleStructuredOutputsError extends Error {\n public readonly toolNames: string[];\n\n constructor(toolNames: string[]) {\n super(\n `The model has called multiple tools: ${toolNames.join(\n \", \"\n )} to return a structured output. ` +\n \"This is not supported. Please provide a single structured output.\"\n );\n this.toolNames = toolNames;\n }\n}\n\n/**\n * Raised when structured output tool call arguments fail to parse according to the schema.\n */\nexport class StructuredOutputParsingError extends Error {\n public readonly toolName: string;\n\n public readonly errors: string[];\n\n constructor(toolName: string, errors: string[]) {\n super(\n `Failed to parse structured output for tool '${toolName}':${errors\n .map((e) => `\\n - ${e}`)\n .join(\"\")}.`\n );\n this.toolName = toolName;\n this.errors = errors;\n }\n}\n\n/**\n * Raised when a tool call is throwing an error.\n */\nexport class ToolInvocationError extends Error {\n readonly \"~brand\" = \"ToolInvocationError\";\n\n public readonly toolCall: ToolCall;\n\n public readonly toolError: Error;\n\n constructor(toolError: unknown, toolCall: ToolCall) {\n const error =\n toolError instanceof Error ? toolError : new Error(String(toolError));\n const toolArgs = JSON.stringify(toolCall.args);\n super(\n `Error invoking tool '${toolCall.name}' with kwargs ${toolArgs} with error: ${error.stack}\\n Please fix the error and try again.`\n );\n\n this.toolCall = toolCall;\n this.toolError = error;\n }\n\n /**\n * Check if the error is a ToolInvocationError.\n * @param error - The error to check\n * @returns Whether the error is a ToolInvocationError\n */\n static isInstance(error: unknown): error is ToolInvocationError {\n return (\n error instanceof Error &&\n \"~brand\" in error &&\n error[\"~brand\"] === \"ToolInvocationError\"\n );\n }\n\n static [Symbol.hasInstance](obj: unknown) {\n return this.isInstance(obj);\n }\n}\n\n/**\n * Error thrown when a middleware fails.\n *\n * Use `MiddlewareError.wrap()` to create instances. The constructor is private\n * to ensure that GraphBubbleUp errors (like GraphInterrupt) are never wrapped.\n */\nexport class MiddlewareError extends Error {\n readonly \"~brand\" = \"MiddlewareError\";\n\n private constructor(error: unknown, middlewareName: string) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n super(errorMessage);\n this.name =\n error instanceof Error\n ? error.name\n : `${middlewareName[0].toUpperCase() + middlewareName.slice(1)}Error`;\n\n if (error instanceof Error) {\n this.cause = error;\n }\n }\n\n /**\n * Wrap an error in a MiddlewareError, unless it's a GraphBubbleUp error\n * (like GraphInterrupt) which should propagate unchanged.\n *\n * @param error - The error to wrap\n * @param middlewareName - The name of the middleware that threw the error\n * @returns The original error if it's a GraphBubbleUp, otherwise a new MiddlewareError\n */\n static wrap(error: unknown, middlewareName: string): Error {\n // Don't wrap GraphBubbleUp errors (GraphInterrupt, NodeInterrupt, etc.)\n // These are control flow mechanisms that need to bubble up unchanged\n if (isGraphBubbleUp(error)) {\n return error;\n }\n return new MiddlewareError(error, middlewareName);\n }\n\n /**\n * Check if the error is a MiddlewareError.\n * @param error - The error to check\n * @returns Whether the error is a MiddlewareError\n */\n static isInstance(error: unknown): error is MiddlewareError {\n return (\n error instanceof Error &&\n \"~brand\" in error &&\n error[\"~brand\"] === \"MiddlewareError\"\n );\n }\n\n static [Symbol.hasInstance](obj: unknown) {\n return this.isInstance(obj);\n }\n}\n"],"mappings":";;AAIA,IAAa,0BAAb,cAA6C,MAAM;CACjD,cAAc;EACZ,MACE,sKAGF;CACF;AACF;;;;AAKA,IAAa,iCAAb,cAAoD,MAAM;CACxD;CAEA,YAAY,WAAqB;EAC/B,MACE,wCAAwC,UAAU,KAChD,IACF,EAAE,kGAEJ;EACA,KAAK,YAAY;CACnB;AACF;;;;AAKA,IAAa,+BAAb,cAAkD,MAAM;CACtD;CAEA;CAEA,YAAY,UAAkB,QAAkB;EAC9C,MACE,+CAA+C,SAAS,IAAI,OACzD,KAAK,MAAM,SAAS,GAAG,CAAC,CACxB,KAAK,EAAE,EAAE,EACd;EACA,KAAK,WAAW;EAChB,KAAK,SAAS;CAChB;AACF;;;;AAKA,IAAa,sBAAb,cAAyC,MAAM;CAC7C,WAAoB;CAEpB;CAEA;CAEA,YAAY,WAAoB,UAAoB;EAClD,MAAM,QACJ,qBAAqB,QAAQ,YAAY,IAAI,MAAM,OAAO,SAAS,CAAC;EACtE,MAAM,WAAW,KAAK,UAAU,SAAS,IAAI;EAC7C,MACE,wBAAwB,SAAS,KAAK,gBAAgB,SAAS,eAAe,MAAM,MAAM,uCAC5F;EAEA,KAAK,WAAW;EAChB,KAAK,YAAY;CACnB;;;;;;CAOA,OAAO,WAAW,OAA8C;EAC9D,OACE,iBAAiB,SACjB,YAAY,SACZ,MAAM,cAAc;CAExB;CAEA,QAAQ,OAAO,aAAa,KAAc;EACxC,OAAO,KAAK,WAAW,GAAG;CAC5B;AACF;;;;;;;AAQA,IAAa,kBAAb,MAAa,wBAAwB,MAAM;CACzC,WAAoB;CAEpB,YAAoB,OAAgB,gBAAwB;EAC1D,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EAC1E,MAAM,YAAY;EAClB,KAAK,OACH,iBAAiB,QACb,MAAM,OACN,GAAG,eAAe,EAAE,CAAC,YAAY,IAAI,eAAe,MAAM,CAAC,EAAE;EAEnE,IAAI,iBAAiB,OACnB,KAAK,QAAQ;CAEjB;;;;;;;;;CAUA,OAAO,KAAK,OAAgB,gBAA+B;EAGzD,IAAI,gBAAgB,KAAK,GACvB,OAAO;EAET,OAAO,IAAI,gBAAgB,OAAO,cAAc;CAClD;;;;;;CAOA,OAAO,WAAW,OAA0C;EAC1D,OACE,iBAAiB,SACjB,YAAY,SACZ,MAAM,cAAc;CAExB;CAEA,QAAQ,OAAO,aAAa,KAAc;EACxC,OAAO,KAAK,WAAW,GAAG;CAC5B;AACF"}
@@ -1,17 +1,31 @@
1
- require("./errors.cjs");
2
- require("./responses.cjs");
3
- require("./transformers/tool-call.cjs");
4
- require("./transformers/subagent.cjs");
1
+ const require_errors = require("./errors.cjs");
2
+ const require_responses = require("./responses.cjs");
3
+ const require_tool_call = require("./transformers/tool-call.cjs");
4
+ const require_subagent = require("./transformers/subagent.cjs");
5
5
  require("./transformers/index.cjs");
6
6
  const require_ReactAgent = require("./ReactAgent.cjs");
7
- require("./middleware/types.cjs");
8
- require("./middleware.cjs");
9
- require("./tests/utils.cjs");
7
+ const require_types = require("./middleware/types.cjs");
8
+ const require_middleware = require("./middleware.cjs");
9
+ const require_utils = require("./tests/utils.cjs");
10
10
  //#region src/agents/index.ts
11
11
  function createAgent(params) {
12
12
  return new require_ReactAgent.ReactAgent(params);
13
13
  }
14
14
  //#endregion
15
+ exports.FakeToolCallingModel = require_utils.FakeToolCallingModel;
16
+ exports.MIDDLEWARE_BRAND = require_types.MIDDLEWARE_BRAND;
17
+ exports.MiddlewareError = require_errors.MiddlewareError;
18
+ exports.MultipleStructuredOutputsError = require_errors.MultipleStructuredOutputsError;
19
+ exports.MultipleToolsBoundError = require_errors.MultipleToolsBoundError;
20
+ exports.ProviderStrategy = require_responses.ProviderStrategy;
21
+ exports.StructuredOutputParsingError = require_errors.StructuredOutputParsingError;
22
+ exports.ToolInvocationError = require_errors.ToolInvocationError;
23
+ exports.ToolStrategy = require_responses.ToolStrategy;
15
24
  exports.createAgent = createAgent;
25
+ exports.createMiddleware = require_middleware.createMiddleware;
26
+ exports.createSubagentTransformer = require_subagent.createSubagentTransformer;
27
+ exports.createToolCallTransformer = require_tool_call.createToolCallTransformer;
28
+ exports.providerStrategy = require_responses.providerStrategy;
29
+ exports.toolStrategy = require_responses.toolStrategy;
16
30
 
17
31
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["ReactAgent"],"sources":["../../src/agents/index.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\nimport type {\n InteropZodObject,\n InteropZodType,\n} from \"@langchain/core/utils/types\";\nimport type { ClientTool, ServerTool } from \"@langchain/core/tools\";\nimport type {\n StateDefinitionInit,\n StreamTransformer,\n} from \"@langchain/langgraph\";\n\nimport type { ResponseFormatUndefined } from \"./responses.js\";\nimport type {\n CreateAgentParams,\n AgentTypeConfig,\n CombineTools,\n CombineStreamTransformers,\n} from \"./types.js\";\nimport type {\n AnyAgentMiddleware,\n AnyAnnotationRoot,\n} from \"./middleware/types.js\";\nimport type { ExtractZodArrayTypes } from \"./types.js\";\nimport type { SerializableSchema } from \"@langchain/core/utils/standard_schema\";\nimport type {\n ToolStrategy,\n TypedToolStrategy,\n ProviderStrategy,\n ResponseFormat,\n JsonSchemaFormat,\n} from \"./responses.js\";\nimport { ReactAgent } from \"./ReactAgent.js\";\n\n/**\n * Creates a production-ready ReAct (Reasoning + Acting) agent that combines language models with tools\n * and middleware to create systems that can reason about tasks, decide which tools to use, and iteratively\n * work towards solutions.\n *\n * The agent follows the ReAct pattern, interleaving reasoning steps with tool calls to iteratively\n * work towards solutions. It can handle multiple tool calls in sequence or parallel, maintain state\n * across interactions, and provide auditable decision processes.\n *\n * ## Core Components\n *\n * ### Model\n * The reasoning engine can be specified as:\n * - **String identifier**: `\"openai:gpt-4o\"` for simple setup\n * - **Model instance**: Configured model object for full control\n * - **Dynamic function**: Select models at runtime based on state\n *\n * ### Tools\n * Tools give agents the ability to take actions:\n * - Pass an array of tools created with the `tool` function\n * - Or provide a configured `ToolNode` for custom error handling\n *\n * ### Prompt\n * Shape how your agent approaches tasks:\n * - String for simple instructions\n * - SystemMessage for structured prompts\n * - Function for dynamic prompts based on state\n *\n * ### Middleware\n * Middleware allows you to extend the agent's behavior:\n * - Add pre/post-model processing for context injection or validation\n * - Add dynamic control flows, e.g. terminate invocation or retries\n * - Add human-in-the-loop capabilities\n * - Add tool calls to the agent\n * - Add tool results to the agent\n *\n * ## Advanced Features\n *\n * - **Structured Output**: Use `responseFormat` with a Zod schema to get typed responses\n * - **Memory**: Extend the state schema to remember information across interactions\n * - **Streaming**: Get real-time updates as the agent processes\n *\n * @param options - Configuration options for the agent\n * @param options.llm - The language model as an instance of a chat model\n * @param options.model - The language model as a string identifier, see more in {@link https://docs.langchain.com/oss/javascript/langchain/models#basic-usage | Models}.\n * @param options.tools - Array of tools or configured ToolNode\n * @param options.prompt - System instructions (string, SystemMessage, or function)\n * @param options.responseFormat - Zod schema for structured output\n * @param options.stateSchema - Custom state schema for memory\n * @param options.middleware - Array of middleware for extending agent behavior, see more in {@link https://docs.langchain.com/oss/javascript/langchain/middleware | Middleware}.\n *\n * @returns A ReactAgent instance with `invoke` and `stream` methods\n *\n * @example Basic agent with tools\n * ```ts\n * import { createAgent, tool } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const search = tool(\n * ({ query }) => `Results for: ${query}`,\n * {\n * name: \"search\",\n * description: \"Search for information\",\n * schema: z.object({\n * query: z.string().describe(\"The search query\"),\n * })\n * }\n * );\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [search],\n * });\n *\n * const result = await agent.invoke({\n * messages: [{ role: \"user\", content: \"Search for ReAct agents\" }],\n * });\n * ```\n *\n * @example Structured output\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const ContactInfo = z.object({\n * name: z.string(),\n * email: z.string(),\n * phone: z.string(),\n * });\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [],\n * responseFormat: ContactInfo,\n * });\n *\n * const result = await agent.invoke({\n * messages: [{\n * role: \"user\",\n * content: \"Extract: John Doe, john@example.com, (555) 123-4567\"\n * }],\n * });\n *\n * console.log(result.structuredResponse);\n * // { name: 'John Doe', email: 'john@example.com', phone: '(555) 123-4567' }\n * ```\n *\n * @example Streaming responses\n * ```ts\n * const stream = await agent.stream(\n * { messages: [{ role: \"user\", content: \"What's the weather?\" }] },\n * { streamMode: \"values\" }\n * );\n *\n * for await (const chunk of stream) {\n * // ...\n * }\n * ```\n *\n * @example With StateSchema\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { StateSchema, ReducedValue } from \"@langchain/langgraph\";\n * import { z } from \"zod\";\n *\n * const AgentState = new StateSchema({\n * userId: z.string(),\n * count: z.number().default(0),\n * history: new ReducedValue(\n * z.array(z.string()).default(() => []),\n * { inputSchema: z.string(), reducer: (c, n) => [...c, n] }\n * ),\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * tools: [searchTool],\n * stateSchema: AgentState,\n * });\n * ```\n */\n// Overload 1: With responseFormat as single InteropZodType\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n InteropZodType<StructuredResponseFormat>\n > & {\n responseFormat: InteropZodType<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 2: With responseFormat as array of InteropZodTypes (infers union type)\nexport function createAgent<\n StructuredResponseFormat extends readonly InteropZodType<any>[],\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n StructuredResponseFormat\n > & {\n responseFormat: StructuredResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 3: With responseFormat as JsonSchemaFormat (JSON schema object)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat\n > & {\n responseFormat: JsonSchemaFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 4: With responseFormat as array of JsonSchemaFormat (JSON schema objects)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 5: With responseFormat as union of JsonSchemaFormat | JsonSchemaFormat[]\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat | JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat | JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 6: With responseFormat as single SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema\n > & {\n responseFormat: SerializableSchema;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 7: With responseFormat as array of SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema[]\n > & {\n responseFormat: SerializableSchema[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 8: With responseFormat as TypedToolStrategy (for union types from toolStrategy)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TypedToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: TypedToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 9: With responseFormat as single ToolStrategy instance\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 10: With responseFormat as ProviderStrategy\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ProviderStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ProviderStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 11: Without responseFormat property at all - with proper middleware state typing\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 12: With responseFormat explicitly undefined\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n responseFormat?: undefined;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 13: For other ResponseFormat values (failsafe)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ResponseFormat\n > & {\n responseFormat: ResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Implementation\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any>,\n TStateSchema extends StateDefinitionInit,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject,\n TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n TStreamTransformers extends ReadonlyArray<() => StreamTransformer<any>> =\n readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n any\n >\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n> {\n return new ReactAgent(params);\n}\n\n// Re-export types and utilities\nexport * from \"./types.js\";\nexport * from \"./errors.js\";\nexport * from \"./nodes/types.js\";\nexport type { JumpToTarget } from \"./constants.js\";\nexport type { Runtime } from \"./runtime.js\";\nexport {\n toolStrategy,\n providerStrategy,\n ToolStrategy,\n ProviderStrategy,\n type TypedToolStrategy,\n type ResponseFormat,\n type ResponseFormatUndefined,\n} from \"./responses.js\";\nexport { createMiddleware } from \"./middleware.js\";\nexport { MIDDLEWARE_BRAND } from \"./middleware/types.js\";\nexport type * from \"./middleware/types.js\";\nexport { FakeToolCallingModel } from \"./tests/utils.js\";\nexport type { ReactAgent } from \"./ReactAgent.js\";\nexport {\n createToolCallTransformer,\n createSubagentTransformer,\n type AgentRunStream,\n type ToolCallStreamUnion,\n type SubagentRunStream,\n} from \"./transformers/index.js\";\n"],"mappings":";;;;;;;;;;AA+pBA,SAAgB,YAad,QAeA;AACA,QAAO,IAAIA,mBAAAA,WAAW,OAAO"}
1
+ {"version":3,"file":"index.cjs","names":["ReactAgent"],"sources":["../../src/agents/index.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\nimport type {\n InteropZodObject,\n InteropZodType,\n} from \"@langchain/core/utils/types\";\nimport type { ClientTool, ServerTool } from \"@langchain/core/tools\";\nimport type {\n StateDefinitionInit,\n StreamTransformer,\n} from \"@langchain/langgraph\";\n\nimport type { ResponseFormatUndefined } from \"./responses.js\";\nimport type {\n CreateAgentParams,\n AgentTypeConfig,\n CombineTools,\n CombineStreamTransformers,\n} from \"./types.js\";\nimport type {\n AnyAgentMiddleware,\n AnyAnnotationRoot,\n} from \"./middleware/types.js\";\nimport type { ExtractZodArrayTypes } from \"./types.js\";\nimport type { SerializableSchema } from \"@langchain/core/utils/standard_schema\";\nimport type {\n ToolStrategy,\n TypedToolStrategy,\n ProviderStrategy,\n ResponseFormat,\n JsonSchemaFormat,\n} from \"./responses.js\";\nimport { ReactAgent } from \"./ReactAgent.js\";\n\n/**\n * Creates a production-ready ReAct (Reasoning + Acting) agent that combines language models with tools\n * and middleware to create systems that can reason about tasks, decide which tools to use, and iteratively\n * work towards solutions.\n *\n * The agent follows the ReAct pattern, interleaving reasoning steps with tool calls to iteratively\n * work towards solutions. It can handle multiple tool calls in sequence or parallel, maintain state\n * across interactions, and provide auditable decision processes.\n *\n * ## Core Components\n *\n * ### Model\n * The reasoning engine can be specified as:\n * - **String identifier**: `\"openai:gpt-4o\"` for simple setup\n * - **Model instance**: Configured model object for full control\n * - **Dynamic function**: Select models at runtime based on state\n *\n * ### Tools\n * Tools give agents the ability to take actions:\n * - Pass an array of tools created with the `tool` function\n * - Or provide a configured `ToolNode` for custom error handling\n *\n * ### Prompt\n * Shape how your agent approaches tasks:\n * - String for simple instructions\n * - SystemMessage for structured prompts\n * - Function for dynamic prompts based on state\n *\n * ### Middleware\n * Middleware allows you to extend the agent's behavior:\n * - Add pre/post-model processing for context injection or validation\n * - Add dynamic control flows, e.g. terminate invocation or retries\n * - Add human-in-the-loop capabilities\n * - Add tool calls to the agent\n * - Add tool results to the agent\n *\n * ## Advanced Features\n *\n * - **Structured Output**: Use `responseFormat` with a Zod schema to get typed responses\n * - **Memory**: Extend the state schema to remember information across interactions\n * - **Streaming**: Get real-time updates as the agent processes\n *\n * @param options - Configuration options for the agent\n * @param options.llm - The language model as an instance of a chat model\n * @param options.model - The language model as a string identifier, see more in {@link https://docs.langchain.com/oss/javascript/langchain/models#basic-usage | Models}.\n * @param options.tools - Array of tools or configured ToolNode\n * @param options.prompt - System instructions (string, SystemMessage, or function)\n * @param options.responseFormat - Zod schema for structured output\n * @param options.stateSchema - Custom state schema for memory\n * @param options.middleware - Array of middleware for extending agent behavior, see more in {@link https://docs.langchain.com/oss/javascript/langchain/middleware | Middleware}.\n *\n * @returns A ReactAgent instance with `invoke` and `stream` methods\n *\n * @example Basic agent with tools\n * ```ts\n * import { createAgent, tool } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const search = tool(\n * ({ query }) => `Results for: ${query}`,\n * {\n * name: \"search\",\n * description: \"Search for information\",\n * schema: z.object({\n * query: z.string().describe(\"The search query\"),\n * })\n * }\n * );\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [search],\n * });\n *\n * const result = await agent.invoke({\n * messages: [{ role: \"user\", content: \"Search for ReAct agents\" }],\n * });\n * ```\n *\n * @example Structured output\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const ContactInfo = z.object({\n * name: z.string(),\n * email: z.string(),\n * phone: z.string(),\n * });\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [],\n * responseFormat: ContactInfo,\n * });\n *\n * const result = await agent.invoke({\n * messages: [{\n * role: \"user\",\n * content: \"Extract: John Doe, john@example.com, (555) 123-4567\"\n * }],\n * });\n *\n * console.log(result.structuredResponse);\n * // { name: 'John Doe', email: 'john@example.com', phone: '(555) 123-4567' }\n * ```\n *\n * @example Streaming responses\n * ```ts\n * const stream = await agent.stream(\n * { messages: [{ role: \"user\", content: \"What's the weather?\" }] },\n * { streamMode: \"values\" }\n * );\n *\n * for await (const chunk of stream) {\n * // ...\n * }\n * ```\n *\n * @example With StateSchema\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { StateSchema, ReducedValue } from \"@langchain/langgraph\";\n * import { z } from \"zod\";\n *\n * const AgentState = new StateSchema({\n * userId: z.string(),\n * count: z.number().default(0),\n * history: new ReducedValue(\n * z.array(z.string()).default(() => []),\n * { inputSchema: z.string(), reducer: (c, n) => [...c, n] }\n * ),\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * tools: [searchTool],\n * stateSchema: AgentState,\n * });\n * ```\n */\n// Overload 1: With responseFormat as single InteropZodType\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n InteropZodType<StructuredResponseFormat>\n > & {\n responseFormat: InteropZodType<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 2: With responseFormat as array of InteropZodTypes (infers union type)\nexport function createAgent<\n StructuredResponseFormat extends readonly InteropZodType<any>[],\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n StructuredResponseFormat\n > & {\n responseFormat: StructuredResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 3: With responseFormat as JsonSchemaFormat (JSON schema object)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat\n > & {\n responseFormat: JsonSchemaFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 4: With responseFormat as array of JsonSchemaFormat (JSON schema objects)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 5: With responseFormat as union of JsonSchemaFormat | JsonSchemaFormat[]\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat | JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat | JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 6: With responseFormat as single SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema\n > & {\n responseFormat: SerializableSchema;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 7: With responseFormat as array of SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema[]\n > & {\n responseFormat: SerializableSchema[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 8: With responseFormat as TypedToolStrategy (for union types from toolStrategy)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TypedToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: TypedToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 9: With responseFormat as single ToolStrategy instance\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 10: With responseFormat as ProviderStrategy\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ProviderStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ProviderStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 11: Without responseFormat property at all - with proper middleware state typing\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 12: With responseFormat explicitly undefined\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n responseFormat?: undefined;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 13: For other ResponseFormat values (failsafe)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ResponseFormat\n > & {\n responseFormat: ResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Implementation\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any>,\n TStateSchema extends StateDefinitionInit,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject,\n TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n TStreamTransformers extends ReadonlyArray<() => StreamTransformer<any>> =\n readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n any\n >\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n> {\n return new ReactAgent(params);\n}\n\n// Re-export types and utilities\nexport * from \"./types.js\";\nexport * from \"./errors.js\";\nexport * from \"./nodes/types.js\";\nexport type { JumpToTarget } from \"./constants.js\";\nexport type { Runtime } from \"./runtime.js\";\nexport {\n toolStrategy,\n providerStrategy,\n ToolStrategy,\n ProviderStrategy,\n type TypedToolStrategy,\n type ResponseFormat,\n type ResponseFormatUndefined,\n} from \"./responses.js\";\nexport { createMiddleware } from \"./middleware.js\";\nexport { MIDDLEWARE_BRAND } from \"./middleware/types.js\";\nexport type * from \"./middleware/types.js\";\nexport { FakeToolCallingModel } from \"./tests/utils.js\";\nexport type { ReactAgent } from \"./ReactAgent.js\";\nexport {\n createToolCallTransformer,\n createSubagentTransformer,\n type AgentRunStream,\n type ToolCallStreamUnion,\n type SubagentRunStream,\n} from \"./transformers/index.js\";\n"],"mappings":";;;;;;;;;;AA+pBA,SAAgB,YAad,QAeA;CACA,OAAO,IAAIA,mBAAAA,WAAW,MAAM;AAC9B"}
@@ -8,6 +8,7 @@ import { AgentTypeConfig, BuiltInState, CombineStreamTransformers, CombineTools,
8
8
  import { createToolCallTransformer } from "./transformers/tool-call.cjs";
9
9
  import { AgentRunStream, SubagentRunStream, ToolCallStreamUnion } from "./transformers/types.cjs";
10
10
  import { createSubagentTransformer } from "./transformers/subagent.cjs";
11
+ import "./transformers/index.cjs";
11
12
  import { ReactAgent } from "./ReactAgent.cjs";
12
13
  import { createMiddleware } from "./middleware.cjs";
13
14
  import { FakeToolCallingModel } from "./tests/utils.cjs";
@@ -15,7 +16,6 @@ import { ClientTool, ServerTool } from "@langchain/core/tools";
15
16
  import { InteropZodObject, InteropZodType } from "@langchain/core/utils/types";
16
17
  import { StateDefinitionInit, StreamTransformer } from "@langchain/langgraph";
17
18
  import { SerializableSchema } from "@langchain/core/utils/standard_schema";
18
-
19
19
  //#region src/agents/index.d.ts
20
20
  /**
21
21
  * Creates a production-ready ReAct (Reasoning + Acting) agent that combines language models with tools
@@ -236,5 +236,5 @@ declare function createAgent<StructuredResponseFormat extends Record<string, any
236
236
  streamTransformers?: TStreamTransformers;
237
237
  }): ReactAgent<AgentTypeConfig<StructuredResponseFormat, TStateSchema, ContextSchema, TMiddleware, CombineTools<TTools, TMiddleware>, CombineStreamTransformers<TStreamTransformers, TMiddleware>>>;
238
238
  //#endregion
239
- export { createAgent };
239
+ export { type AfterAgentHook, type AfterModelHook, type AgentMiddleware, type AgentRunStream, AgentTypeConfig, type AnyAgentMiddleware, type AnyAnnotationRoot, type BeforeAgentHook, type BeforeModelHook, BuiltInState, CombineStreamTransformers, CombineTools, CreateAgentParams, DefaultAgentTypeConfig, type DefaultMiddlewareTypeConfig, ExecutedToolCall, ExtractZodArrayTypes, FakeToolCallingModel, InferAgentContext, InferAgentContextSchema, InferAgentMiddleware, InferAgentResponse, InferAgentState, InferAgentStateSchema, InferAgentStreamTransformers, InferAgentTools, InferAgentType, type InferChannelType, type InferContextInput, type InferMergedInputState, type InferMergedState, type InferMiddlewareContext, type InferMiddlewareContextInput, type InferMiddlewareContextInputs, type InferMiddlewareContextSchema, type InferMiddlewareContexts, type InferMiddlewareFullContext, type InferMiddlewareInputState, type InferMiddlewareInputStates, type InferMiddlewareSchema, type InferMiddlewareState, type InferMiddlewareStates, InferMiddlewareStreamTransformers, InferMiddlewareStreamTransformersArray, type InferMiddlewareStreamTransformersFromConfig, InferMiddlewareTools, InferMiddlewareToolsArray, type InferMiddlewareToolsFromConfig, type InferMiddlewareType, type InferSchemaInput, type InferSchemaUpdateType, type InferSchemaValue, type InferSchemaValueType, Interrupt, JumpTo, type JumpToTarget, MIDDLEWARE_BRAND, MiddlewareError, type MiddlewareResult, type MiddlewareTypeConfig, ModelRequest, MultipleStructuredOutputsError, MultipleToolsBoundError, N, type NormalizedSchemaInput, type NormalizedSchemaUpdate, ProviderStrategy, type ReactAgent, ResolveAgentTypeConfig, type ResolveMiddlewareTypeConfig, type ResponseFormat, type ResponseFormatUndefined, type Runtime$1 as Runtime, StructuredOutputParsingError, type SubagentRunStream, type ToAnnotationRoot, ToolCall, type ToolCallHandler, type ToolCallRequest, type ToolCallStreamUnion, ToolInvocationError, ToolResult, ToolStrategy, ToolsToMessageToolSet, type TypedToolStrategy, UserInput, WithStateGraphNodes, type WrapModelCallHandler, type WrapModelCallHook, type WrapToolCallHook, createAgent, createMiddleware, createSubagentTransformer, createToolCallTransformer, providerStrategy, toolStrategy };
240
240
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/agents/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/agents/index.ts"],"mappings":"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"}
@@ -8,6 +8,7 @@ import { AgentTypeConfig, BuiltInState, CombineStreamTransformers, CombineTools,
8
8
  import { createToolCallTransformer } from "./transformers/tool-call.js";
9
9
  import { AgentRunStream, SubagentRunStream, ToolCallStreamUnion } from "./transformers/types.js";
10
10
  import { createSubagentTransformer } from "./transformers/subagent.js";
11
+ import "./transformers/index.js";
11
12
  import { ReactAgent } from "./ReactAgent.js";
12
13
  import { createMiddleware } from "./middleware.js";
13
14
  import { FakeToolCallingModel } from "./tests/utils.js";
@@ -15,7 +16,6 @@ import { ClientTool, ServerTool } from "@langchain/core/tools";
15
16
  import { StateDefinitionInit, StreamTransformer } from "@langchain/langgraph";
16
17
  import { InteropZodObject, InteropZodType } from "@langchain/core/utils/types";
17
18
  import { SerializableSchema } from "@langchain/core/utils/standard_schema";
18
-
19
19
  //#region src/agents/index.d.ts
20
20
  /**
21
21
  * Creates a production-ready ReAct (Reasoning + Acting) agent that combines language models with tools
@@ -236,5 +236,5 @@ declare function createAgent<StructuredResponseFormat extends Record<string, any
236
236
  streamTransformers?: TStreamTransformers;
237
237
  }): ReactAgent<AgentTypeConfig<StructuredResponseFormat, TStateSchema, ContextSchema, TMiddleware, CombineTools<TTools, TMiddleware>, CombineStreamTransformers<TStreamTransformers, TMiddleware>>>;
238
238
  //#endregion
239
- export { createAgent };
239
+ export { type AfterAgentHook, type AfterModelHook, type AgentMiddleware, type AgentRunStream, AgentTypeConfig, type AnyAgentMiddleware, type AnyAnnotationRoot, type BeforeAgentHook, type BeforeModelHook, BuiltInState, CombineStreamTransformers, CombineTools, CreateAgentParams, DefaultAgentTypeConfig, type DefaultMiddlewareTypeConfig, ExecutedToolCall, ExtractZodArrayTypes, FakeToolCallingModel, InferAgentContext, InferAgentContextSchema, InferAgentMiddleware, InferAgentResponse, InferAgentState, InferAgentStateSchema, InferAgentStreamTransformers, InferAgentTools, InferAgentType, type InferChannelType, type InferContextInput, type InferMergedInputState, type InferMergedState, type InferMiddlewareContext, type InferMiddlewareContextInput, type InferMiddlewareContextInputs, type InferMiddlewareContextSchema, type InferMiddlewareContexts, type InferMiddlewareFullContext, type InferMiddlewareInputState, type InferMiddlewareInputStates, type InferMiddlewareSchema, type InferMiddlewareState, type InferMiddlewareStates, InferMiddlewareStreamTransformers, InferMiddlewareStreamTransformersArray, type InferMiddlewareStreamTransformersFromConfig, InferMiddlewareTools, InferMiddlewareToolsArray, type InferMiddlewareToolsFromConfig, type InferMiddlewareType, type InferSchemaInput, type InferSchemaUpdateType, type InferSchemaValue, type InferSchemaValueType, Interrupt, JumpTo, type JumpToTarget, MIDDLEWARE_BRAND, MiddlewareError, type MiddlewareResult, type MiddlewareTypeConfig, ModelRequest, MultipleStructuredOutputsError, MultipleToolsBoundError, N, type NormalizedSchemaInput, type NormalizedSchemaUpdate, ProviderStrategy, type ReactAgent, ResolveAgentTypeConfig, type ResolveMiddlewareTypeConfig, type ResponseFormat, type ResponseFormatUndefined, type Runtime$1 as Runtime, StructuredOutputParsingError, type SubagentRunStream, type ToAnnotationRoot, ToolCall, type ToolCallHandler, type ToolCallRequest, type ToolCallStreamUnion, ToolInvocationError, ToolResult, ToolStrategy, ToolsToMessageToolSet, type TypedToolStrategy, UserInput, WithStateGraphNodes, type WrapModelCallHandler, type WrapModelCallHook, type WrapToolCallHook, createAgent, createMiddleware, createSubagentTransformer, createToolCallTransformer, providerStrategy, toolStrategy };
240
240
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/agents/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/agents/index.ts"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import "./errors.js";
2
- import "./responses.js";
3
- import "./transformers/tool-call.js";
4
- import "./transformers/subagent.js";
1
+ import { MiddlewareError, MultipleStructuredOutputsError, MultipleToolsBoundError, StructuredOutputParsingError, ToolInvocationError } from "./errors.js";
2
+ import { ProviderStrategy, ToolStrategy, providerStrategy, toolStrategy } from "./responses.js";
3
+ import { createToolCallTransformer } from "./transformers/tool-call.js";
4
+ import { createSubagentTransformer } from "./transformers/subagent.js";
5
5
  import "./transformers/index.js";
6
6
  import { ReactAgent } from "./ReactAgent.js";
7
- import "./middleware/types.js";
8
- import "./middleware.js";
9
- import "./tests/utils.js";
7
+ import { MIDDLEWARE_BRAND } from "./middleware/types.js";
8
+ import { createMiddleware } from "./middleware.js";
9
+ import { FakeToolCallingModel } from "./tests/utils.js";
10
10
  //#region src/agents/index.ts
11
11
  function createAgent(params) {
12
12
  return new ReactAgent(params);
13
13
  }
14
14
  //#endregion
15
- export { createAgent };
15
+ export { FakeToolCallingModel, MIDDLEWARE_BRAND, MiddlewareError, MultipleStructuredOutputsError, MultipleToolsBoundError, ProviderStrategy, StructuredOutputParsingError, ToolInvocationError, ToolStrategy, createAgent, createMiddleware, createSubagentTransformer, createToolCallTransformer, providerStrategy, toolStrategy };
16
16
 
17
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/agents/index.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\nimport type {\n InteropZodObject,\n InteropZodType,\n} from \"@langchain/core/utils/types\";\nimport type { ClientTool, ServerTool } from \"@langchain/core/tools\";\nimport type {\n StateDefinitionInit,\n StreamTransformer,\n} from \"@langchain/langgraph\";\n\nimport type { ResponseFormatUndefined } from \"./responses.js\";\nimport type {\n CreateAgentParams,\n AgentTypeConfig,\n CombineTools,\n CombineStreamTransformers,\n} from \"./types.js\";\nimport type {\n AnyAgentMiddleware,\n AnyAnnotationRoot,\n} from \"./middleware/types.js\";\nimport type { ExtractZodArrayTypes } from \"./types.js\";\nimport type { SerializableSchema } from \"@langchain/core/utils/standard_schema\";\nimport type {\n ToolStrategy,\n TypedToolStrategy,\n ProviderStrategy,\n ResponseFormat,\n JsonSchemaFormat,\n} from \"./responses.js\";\nimport { ReactAgent } from \"./ReactAgent.js\";\n\n/**\n * Creates a production-ready ReAct (Reasoning + Acting) agent that combines language models with tools\n * and middleware to create systems that can reason about tasks, decide which tools to use, and iteratively\n * work towards solutions.\n *\n * The agent follows the ReAct pattern, interleaving reasoning steps with tool calls to iteratively\n * work towards solutions. It can handle multiple tool calls in sequence or parallel, maintain state\n * across interactions, and provide auditable decision processes.\n *\n * ## Core Components\n *\n * ### Model\n * The reasoning engine can be specified as:\n * - **String identifier**: `\"openai:gpt-4o\"` for simple setup\n * - **Model instance**: Configured model object for full control\n * - **Dynamic function**: Select models at runtime based on state\n *\n * ### Tools\n * Tools give agents the ability to take actions:\n * - Pass an array of tools created with the `tool` function\n * - Or provide a configured `ToolNode` for custom error handling\n *\n * ### Prompt\n * Shape how your agent approaches tasks:\n * - String for simple instructions\n * - SystemMessage for structured prompts\n * - Function for dynamic prompts based on state\n *\n * ### Middleware\n * Middleware allows you to extend the agent's behavior:\n * - Add pre/post-model processing for context injection or validation\n * - Add dynamic control flows, e.g. terminate invocation or retries\n * - Add human-in-the-loop capabilities\n * - Add tool calls to the agent\n * - Add tool results to the agent\n *\n * ## Advanced Features\n *\n * - **Structured Output**: Use `responseFormat` with a Zod schema to get typed responses\n * - **Memory**: Extend the state schema to remember information across interactions\n * - **Streaming**: Get real-time updates as the agent processes\n *\n * @param options - Configuration options for the agent\n * @param options.llm - The language model as an instance of a chat model\n * @param options.model - The language model as a string identifier, see more in {@link https://docs.langchain.com/oss/javascript/langchain/models#basic-usage | Models}.\n * @param options.tools - Array of tools or configured ToolNode\n * @param options.prompt - System instructions (string, SystemMessage, or function)\n * @param options.responseFormat - Zod schema for structured output\n * @param options.stateSchema - Custom state schema for memory\n * @param options.middleware - Array of middleware for extending agent behavior, see more in {@link https://docs.langchain.com/oss/javascript/langchain/middleware | Middleware}.\n *\n * @returns A ReactAgent instance with `invoke` and `stream` methods\n *\n * @example Basic agent with tools\n * ```ts\n * import { createAgent, tool } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const search = tool(\n * ({ query }) => `Results for: ${query}`,\n * {\n * name: \"search\",\n * description: \"Search for information\",\n * schema: z.object({\n * query: z.string().describe(\"The search query\"),\n * })\n * }\n * );\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [search],\n * });\n *\n * const result = await agent.invoke({\n * messages: [{ role: \"user\", content: \"Search for ReAct agents\" }],\n * });\n * ```\n *\n * @example Structured output\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const ContactInfo = z.object({\n * name: z.string(),\n * email: z.string(),\n * phone: z.string(),\n * });\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [],\n * responseFormat: ContactInfo,\n * });\n *\n * const result = await agent.invoke({\n * messages: [{\n * role: \"user\",\n * content: \"Extract: John Doe, john@example.com, (555) 123-4567\"\n * }],\n * });\n *\n * console.log(result.structuredResponse);\n * // { name: 'John Doe', email: 'john@example.com', phone: '(555) 123-4567' }\n * ```\n *\n * @example Streaming responses\n * ```ts\n * const stream = await agent.stream(\n * { messages: [{ role: \"user\", content: \"What's the weather?\" }] },\n * { streamMode: \"values\" }\n * );\n *\n * for await (const chunk of stream) {\n * // ...\n * }\n * ```\n *\n * @example With StateSchema\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { StateSchema, ReducedValue } from \"@langchain/langgraph\";\n * import { z } from \"zod\";\n *\n * const AgentState = new StateSchema({\n * userId: z.string(),\n * count: z.number().default(0),\n * history: new ReducedValue(\n * z.array(z.string()).default(() => []),\n * { inputSchema: z.string(), reducer: (c, n) => [...c, n] }\n * ),\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * tools: [searchTool],\n * stateSchema: AgentState,\n * });\n * ```\n */\n// Overload 1: With responseFormat as single InteropZodType\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n InteropZodType<StructuredResponseFormat>\n > & {\n responseFormat: InteropZodType<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 2: With responseFormat as array of InteropZodTypes (infers union type)\nexport function createAgent<\n StructuredResponseFormat extends readonly InteropZodType<any>[],\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n StructuredResponseFormat\n > & {\n responseFormat: StructuredResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 3: With responseFormat as JsonSchemaFormat (JSON schema object)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat\n > & {\n responseFormat: JsonSchemaFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 4: With responseFormat as array of JsonSchemaFormat (JSON schema objects)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 5: With responseFormat as union of JsonSchemaFormat | JsonSchemaFormat[]\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat | JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat | JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 6: With responseFormat as single SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema\n > & {\n responseFormat: SerializableSchema;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 7: With responseFormat as array of SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema[]\n > & {\n responseFormat: SerializableSchema[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 8: With responseFormat as TypedToolStrategy (for union types from toolStrategy)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TypedToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: TypedToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 9: With responseFormat as single ToolStrategy instance\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 10: With responseFormat as ProviderStrategy\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ProviderStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ProviderStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 11: Without responseFormat property at all - with proper middleware state typing\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 12: With responseFormat explicitly undefined\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n responseFormat?: undefined;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 13: For other ResponseFormat values (failsafe)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ResponseFormat\n > & {\n responseFormat: ResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Implementation\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any>,\n TStateSchema extends StateDefinitionInit,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject,\n TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n TStreamTransformers extends ReadonlyArray<() => StreamTransformer<any>> =\n readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n any\n >\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n> {\n return new ReactAgent(params);\n}\n\n// Re-export types and utilities\nexport * from \"./types.js\";\nexport * from \"./errors.js\";\nexport * from \"./nodes/types.js\";\nexport type { JumpToTarget } from \"./constants.js\";\nexport type { Runtime } from \"./runtime.js\";\nexport {\n toolStrategy,\n providerStrategy,\n ToolStrategy,\n ProviderStrategy,\n type TypedToolStrategy,\n type ResponseFormat,\n type ResponseFormatUndefined,\n} from \"./responses.js\";\nexport { createMiddleware } from \"./middleware.js\";\nexport { MIDDLEWARE_BRAND } from \"./middleware/types.js\";\nexport type * from \"./middleware/types.js\";\nexport { FakeToolCallingModel } from \"./tests/utils.js\";\nexport type { ReactAgent } from \"./ReactAgent.js\";\nexport {\n createToolCallTransformer,\n createSubagentTransformer,\n type AgentRunStream,\n type ToolCallStreamUnion,\n type SubagentRunStream,\n} from \"./transformers/index.js\";\n"],"mappings":";;;;;;;;;;AA+pBA,SAAgB,YAad,QAeA;AACA,QAAO,IAAI,WAAW,OAAO"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/agents/index.ts"],"sourcesContent":["/* oxlint-disable @typescript-eslint/no-explicit-any */\nimport type {\n InteropZodObject,\n InteropZodType,\n} from \"@langchain/core/utils/types\";\nimport type { ClientTool, ServerTool } from \"@langchain/core/tools\";\nimport type {\n StateDefinitionInit,\n StreamTransformer,\n} from \"@langchain/langgraph\";\n\nimport type { ResponseFormatUndefined } from \"./responses.js\";\nimport type {\n CreateAgentParams,\n AgentTypeConfig,\n CombineTools,\n CombineStreamTransformers,\n} from \"./types.js\";\nimport type {\n AnyAgentMiddleware,\n AnyAnnotationRoot,\n} from \"./middleware/types.js\";\nimport type { ExtractZodArrayTypes } from \"./types.js\";\nimport type { SerializableSchema } from \"@langchain/core/utils/standard_schema\";\nimport type {\n ToolStrategy,\n TypedToolStrategy,\n ProviderStrategy,\n ResponseFormat,\n JsonSchemaFormat,\n} from \"./responses.js\";\nimport { ReactAgent } from \"./ReactAgent.js\";\n\n/**\n * Creates a production-ready ReAct (Reasoning + Acting) agent that combines language models with tools\n * and middleware to create systems that can reason about tasks, decide which tools to use, and iteratively\n * work towards solutions.\n *\n * The agent follows the ReAct pattern, interleaving reasoning steps with tool calls to iteratively\n * work towards solutions. It can handle multiple tool calls in sequence or parallel, maintain state\n * across interactions, and provide auditable decision processes.\n *\n * ## Core Components\n *\n * ### Model\n * The reasoning engine can be specified as:\n * - **String identifier**: `\"openai:gpt-4o\"` for simple setup\n * - **Model instance**: Configured model object for full control\n * - **Dynamic function**: Select models at runtime based on state\n *\n * ### Tools\n * Tools give agents the ability to take actions:\n * - Pass an array of tools created with the `tool` function\n * - Or provide a configured `ToolNode` for custom error handling\n *\n * ### Prompt\n * Shape how your agent approaches tasks:\n * - String for simple instructions\n * - SystemMessage for structured prompts\n * - Function for dynamic prompts based on state\n *\n * ### Middleware\n * Middleware allows you to extend the agent's behavior:\n * - Add pre/post-model processing for context injection or validation\n * - Add dynamic control flows, e.g. terminate invocation or retries\n * - Add human-in-the-loop capabilities\n * - Add tool calls to the agent\n * - Add tool results to the agent\n *\n * ## Advanced Features\n *\n * - **Structured Output**: Use `responseFormat` with a Zod schema to get typed responses\n * - **Memory**: Extend the state schema to remember information across interactions\n * - **Streaming**: Get real-time updates as the agent processes\n *\n * @param options - Configuration options for the agent\n * @param options.llm - The language model as an instance of a chat model\n * @param options.model - The language model as a string identifier, see more in {@link https://docs.langchain.com/oss/javascript/langchain/models#basic-usage | Models}.\n * @param options.tools - Array of tools or configured ToolNode\n * @param options.prompt - System instructions (string, SystemMessage, or function)\n * @param options.responseFormat - Zod schema for structured output\n * @param options.stateSchema - Custom state schema for memory\n * @param options.middleware - Array of middleware for extending agent behavior, see more in {@link https://docs.langchain.com/oss/javascript/langchain/middleware | Middleware}.\n *\n * @returns A ReactAgent instance with `invoke` and `stream` methods\n *\n * @example Basic agent with tools\n * ```ts\n * import { createAgent, tool } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const search = tool(\n * ({ query }) => `Results for: ${query}`,\n * {\n * name: \"search\",\n * description: \"Search for information\",\n * schema: z.object({\n * query: z.string().describe(\"The search query\"),\n * })\n * }\n * );\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [search],\n * });\n *\n * const result = await agent.invoke({\n * messages: [{ role: \"user\", content: \"Search for ReAct agents\" }],\n * });\n * ```\n *\n * @example Structured output\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { z } from \"zod\";\n *\n * const ContactInfo = z.object({\n * name: z.string(),\n * email: z.string(),\n * phone: z.string(),\n * });\n *\n * const agent = createAgent({\n * llm: \"openai:gpt-4o\",\n * tools: [],\n * responseFormat: ContactInfo,\n * });\n *\n * const result = await agent.invoke({\n * messages: [{\n * role: \"user\",\n * content: \"Extract: John Doe, john@example.com, (555) 123-4567\"\n * }],\n * });\n *\n * console.log(result.structuredResponse);\n * // { name: 'John Doe', email: 'john@example.com', phone: '(555) 123-4567' }\n * ```\n *\n * @example Streaming responses\n * ```ts\n * const stream = await agent.stream(\n * { messages: [{ role: \"user\", content: \"What's the weather?\" }] },\n * { streamMode: \"values\" }\n * );\n *\n * for await (const chunk of stream) {\n * // ...\n * }\n * ```\n *\n * @example With StateSchema\n * ```ts\n * import { createAgent } from \"langchain\";\n * import { StateSchema, ReducedValue } from \"@langchain/langgraph\";\n * import { z } from \"zod\";\n *\n * const AgentState = new StateSchema({\n * userId: z.string(),\n * count: z.number().default(0),\n * history: new ReducedValue(\n * z.array(z.string()).default(() => []),\n * { inputSchema: z.string(), reducer: (c, n) => [...c, n] }\n * ),\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * tools: [searchTool],\n * stateSchema: AgentState,\n * });\n * ```\n */\n// Overload 1: With responseFormat as single InteropZodType\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n InteropZodType<StructuredResponseFormat>\n > & {\n responseFormat: InteropZodType<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 2: With responseFormat as array of InteropZodTypes (infers union type)\nexport function createAgent<\n StructuredResponseFormat extends readonly InteropZodType<any>[],\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n StructuredResponseFormat\n > & {\n responseFormat: StructuredResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ExtractZodArrayTypes<StructuredResponseFormat> extends Record<string, any>\n ? ExtractZodArrayTypes<StructuredResponseFormat>\n : Record<string, any>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 3: With responseFormat as JsonSchemaFormat (JSON schema object)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat\n > & {\n responseFormat: JsonSchemaFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 4: With responseFormat as array of JsonSchemaFormat (JSON schema objects)\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 5: With responseFormat as union of JsonSchemaFormat | JsonSchemaFormat[]\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n JsonSchemaFormat | JsonSchemaFormat[]\n > & {\n responseFormat: JsonSchemaFormat | JsonSchemaFormat[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 6: With responseFormat as single SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema\n > & {\n responseFormat: SerializableSchema;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 7: With responseFormat as array of SerializableSchema\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n SerializableSchema[]\n > & {\n responseFormat: SerializableSchema[];\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n Record<string, unknown>,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 8: With responseFormat as TypedToolStrategy (for union types from toolStrategy)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TypedToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: TypedToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 9: With responseFormat as single ToolStrategy instance\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ToolStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ToolStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 10: With responseFormat as ProviderStrategy\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ProviderStrategy<StructuredResponseFormat>\n > & {\n responseFormat: ProviderStrategy<StructuredResponseFormat>;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 11: Without responseFormat property at all - with proper middleware state typing\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 12: With responseFormat explicitly undefined\nexport function createAgent<\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: Omit<\n CreateAgentParams<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n never\n >,\n \"responseFormat\"\n > & {\n responseFormat?: undefined;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n ResponseFormatUndefined,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Overload 13: For other ResponseFormat values (failsafe)\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any> = Record<string, any>,\n TStateSchema extends StateDefinitionInit | undefined = undefined,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject =\n AnyAnnotationRoot,\n const TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n const TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n const TStreamTransformers extends ReadonlyArray<\n () => StreamTransformer<any>\n > = readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n ResponseFormat\n > & {\n responseFormat: ResponseFormat;\n middleware?: TMiddleware;\n tools?: TTools;\n streamTransformers?: TStreamTransformers;\n }\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n>;\n\n// Implementation\nexport function createAgent<\n StructuredResponseFormat extends Record<string, any>,\n TStateSchema extends StateDefinitionInit,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject,\n TMiddleware extends readonly AnyAgentMiddleware[] =\n readonly AnyAgentMiddleware[],\n TTools extends readonly (ClientTool | ServerTool)[] = readonly (\n | ClientTool\n | ServerTool\n )[],\n TStreamTransformers extends ReadonlyArray<() => StreamTransformer<any>> =\n readonly [],\n>(\n params: CreateAgentParams<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n any\n >\n): ReactAgent<\n AgentTypeConfig<\n StructuredResponseFormat,\n TStateSchema,\n ContextSchema,\n TMiddleware,\n CombineTools<TTools, TMiddleware>,\n CombineStreamTransformers<TStreamTransformers, TMiddleware>\n >\n> {\n return new ReactAgent(params);\n}\n\n// Re-export types and utilities\nexport * from \"./types.js\";\nexport * from \"./errors.js\";\nexport * from \"./nodes/types.js\";\nexport type { JumpToTarget } from \"./constants.js\";\nexport type { Runtime } from \"./runtime.js\";\nexport {\n toolStrategy,\n providerStrategy,\n ToolStrategy,\n ProviderStrategy,\n type TypedToolStrategy,\n type ResponseFormat,\n type ResponseFormatUndefined,\n} from \"./responses.js\";\nexport { createMiddleware } from \"./middleware.js\";\nexport { MIDDLEWARE_BRAND } from \"./middleware/types.js\";\nexport type * from \"./middleware/types.js\";\nexport { FakeToolCallingModel } from \"./tests/utils.js\";\nexport type { ReactAgent } from \"./ReactAgent.js\";\nexport {\n createToolCallTransformer,\n createSubagentTransformer,\n type AgentRunStream,\n type ToolCallStreamUnion,\n type SubagentRunStream,\n} from \"./transformers/index.js\";\n"],"mappings":";;;;;;;;;;AA+pBA,SAAgB,YAad,QAeA;CACA,OAAO,IAAI,WAAW,MAAM;AAC9B"}
@@ -1,6 +1,7 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  let zod_v3 = require("zod/v3");
3
2
  //#region src/agents/middleware/constants.ts
3
+ /** LangGraph's messages handlers skip runs tagged with this, keeping middleware-internal model calls out of the messages stream. */
4
+ const INTERNAL_CALL_TAG = "nostream";
4
5
  const RetrySchema = zod_v3.z.object({
5
6
  /**
6
7
  * Maximum number of retry attempts after the initial call.
@@ -35,6 +36,7 @@ const RetrySchema = zod_v3.z.object({
35
36
  jitter: zod_v3.z.boolean().default(true)
36
37
  });
37
38
  //#endregion
39
+ exports.INTERNAL_CALL_TAG = INTERNAL_CALL_TAG;
38
40
  exports.RetrySchema = RetrySchema;
39
41
 
40
42
  //# sourceMappingURL=constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","names":["z"],"sources":["../../../src/agents/middleware/constants.ts"],"sourcesContent":["import { z } from \"zod/v3\";\n\nexport const RetrySchema = z.object({\n /**\n * Maximum number of retry attempts after the initial call.\n * Default is 2 retries (3 total attempts). Must be >= 0.\n */\n maxRetries: z.number().min(0).default(2),\n\n /**\n * Either an array of error constructors to retry on, or a function\n * that takes an error and returns `true` if it should be retried.\n * Default is to retry on all errors.\n */\n retryOn: z\n .union([\n z.function().args(z.instanceof(Error)).returns(z.boolean()),\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n z.array(z.custom<new (...args: any[]) => Error>()),\n ])\n .default(() => () => true),\n\n /**\n * Multiplier for exponential backoff. Each retry waits\n * `initialDelayMs * (backoffFactor ** retryNumber)` milliseconds.\n * Set to 0.0 for constant delay. Default is 2.0.\n */\n backoffFactor: z.number().min(0).default(2.0),\n\n /**\n * Initial delay in milliseconds before first retry. Default is 1000 (1 second).\n */\n initialDelayMs: z.number().min(0).default(1000),\n\n /**\n * Maximum delay in milliseconds between retries. Caps exponential\n * backoff growth. Default is 60000 (60 seconds).\n */\n maxDelayMs: z.number().min(0).default(60000),\n\n /**\n * Whether to add random jitter (±25%) to delay to avoid thundering herd.\n * Default is `true`.\n */\n jitter: z.boolean().default(true),\n});\n"],"mappings":";;;AAEA,MAAa,cAAcA,OAAAA,EAAE,OAAO;;;;;CAKlC,YAAYA,OAAAA,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;;;;;;CAOxC,SAASA,OAAAA,EACN,MAAM,CACLA,OAAAA,EAAE,UAAU,CAAC,KAAKA,OAAAA,EAAE,WAAW,MAAM,CAAC,CAAC,QAAQA,OAAAA,EAAE,SAAS,CAAC,EAE3DA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,QAAuC,CAAC,CACnD,CAAC,CACD,oBAAoB,KAAK;;;;;;CAO5B,eAAeA,OAAAA,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAI;;;;CAK7C,gBAAgBA,OAAAA,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAK;;;;;CAM/C,YAAYA,OAAAA,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAM;;;;;CAM5C,QAAQA,OAAAA,EAAE,SAAS,CAAC,QAAQ,KAAK;CAClC,CAAC"}
1
+ {"version":3,"file":"constants.cjs","names":["z"],"sources":["../../../src/agents/middleware/constants.ts"],"sourcesContent":["import { z } from \"zod/v3\";\n\n/** LangGraph's messages handlers skip runs tagged with this, keeping middleware-internal model calls out of the messages stream. */\nexport const INTERNAL_CALL_TAG = \"nostream\";\n\nexport const RetrySchema = z.object({\n /**\n * Maximum number of retry attempts after the initial call.\n * Default is 2 retries (3 total attempts). Must be >= 0.\n */\n maxRetries: z.number().min(0).default(2),\n\n /**\n * Either an array of error constructors to retry on, or a function\n * that takes an error and returns `true` if it should be retried.\n * Default is to retry on all errors.\n */\n retryOn: z\n .union([\n z.function().args(z.instanceof(Error)).returns(z.boolean()),\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n z.array(z.custom<new (...args: any[]) => Error>()),\n ])\n .default(() => () => true),\n\n /**\n * Multiplier for exponential backoff. Each retry waits\n * `initialDelayMs * (backoffFactor ** retryNumber)` milliseconds.\n * Set to 0.0 for constant delay. Default is 2.0.\n */\n backoffFactor: z.number().min(0).default(2.0),\n\n /**\n * Initial delay in milliseconds before first retry. Default is 1000 (1 second).\n */\n initialDelayMs: z.number().min(0).default(1000),\n\n /**\n * Maximum delay in milliseconds between retries. Caps exponential\n * backoff growth. Default is 60000 (60 seconds).\n */\n maxDelayMs: z.number().min(0).default(60000),\n\n /**\n * Whether to add random jitter (±25%) to delay to avoid thundering herd.\n * Default is `true`.\n */\n jitter: z.boolean().default(true),\n});\n"],"mappings":";;;AAGA,MAAa,oBAAoB;AAEjC,MAAa,cAAcA,OAAAA,EAAE,OAAO;;;;;CAKlC,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;;;;;;CAOvC,SAASA,OAAAA,EACN,MAAM,CACLA,OAAAA,EAAE,SAAS,CAAC,CAAC,KAAKA,OAAAA,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,QAAQA,OAAAA,EAAE,QAAQ,CAAC,GAE1DA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAsC,CAAC,CACnD,CAAC,CAAC,CACD,oBAAoB,IAAI;;;;;;CAO3B,eAAeA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAG;;;;CAK5C,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAI;;;;;CAM9C,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAK;;;;;CAM3C,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI;AAClC,CAAC"}