langchain 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (1451) hide show
  1. package/dist/agents/ReactAgent.cjs +2 -2
  2. package/dist/agents/ReactAgent.cjs.map +1 -1
  3. package/dist/agents/ReactAgent.d.cts +1 -2
  4. package/dist/agents/ReactAgent.d.cts.map +1 -1
  5. package/dist/agents/ReactAgent.d.ts +1 -2
  6. package/dist/agents/ReactAgent.d.ts.map +1 -1
  7. package/dist/agents/ReactAgent.js +2 -2
  8. package/dist/agents/ReactAgent.js.map +1 -1
  9. package/dist/agents/RunnableCallable.cjs +10 -0
  10. package/dist/agents/RunnableCallable.cjs.map +1 -1
  11. package/dist/agents/RunnableCallable.d.cts +5 -0
  12. package/dist/agents/RunnableCallable.d.cts.map +1 -1
  13. package/dist/agents/RunnableCallable.d.ts +5 -0
  14. package/dist/agents/RunnableCallable.d.ts.map +1 -1
  15. package/dist/agents/RunnableCallable.js +10 -0
  16. package/dist/agents/RunnableCallable.js.map +1 -1
  17. package/dist/agents/annotation.cjs +14 -0
  18. package/dist/agents/annotation.cjs.map +1 -1
  19. package/dist/agents/annotation.d.cts +17 -5
  20. package/dist/agents/annotation.d.cts.map +1 -1
  21. package/dist/agents/annotation.d.ts +16 -4
  22. package/dist/agents/annotation.d.ts.map +1 -1
  23. package/dist/agents/annotation.js +12 -1
  24. package/dist/agents/annotation.js.map +1 -1
  25. package/dist/agents/createAgent.cjs.map +1 -1
  26. package/dist/agents/createAgent.js.map +1 -1
  27. package/dist/agents/errors.d.cts +9 -2
  28. package/dist/agents/errors.d.cts.map +1 -1
  29. package/dist/agents/errors.d.ts +9 -2
  30. package/dist/agents/errors.d.ts.map +1 -1
  31. package/dist/agents/index.cjs +3 -0
  32. package/dist/agents/index.cjs.map +1 -1
  33. package/dist/agents/index.d.cts +7 -6
  34. package/dist/agents/index.d.cts.map +1 -1
  35. package/dist/agents/index.d.ts +7 -6
  36. package/dist/agents/index.d.ts.map +1 -1
  37. package/dist/agents/index.js +4 -1
  38. package/dist/agents/index.js.map +1 -1
  39. package/dist/agents/interrupt.d.cts +18 -16
  40. package/dist/agents/interrupt.d.cts.map +1 -1
  41. package/dist/agents/interrupt.d.ts +16 -17
  42. package/dist/agents/interrupt.d.ts.map +1 -1
  43. package/dist/agents/interrupt.js +3 -1
  44. package/dist/agents/middlewareAgent/ReactAgent.cjs +394 -70
  45. package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -1
  46. package/dist/agents/middlewareAgent/ReactAgent.d.cts +178 -11
  47. package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -1
  48. package/dist/agents/middlewareAgent/ReactAgent.d.ts +178 -11
  49. package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -1
  50. package/dist/agents/middlewareAgent/ReactAgent.js +395 -71
  51. package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -1
  52. package/dist/agents/middlewareAgent/annotation.cjs +10 -4
  53. package/dist/agents/middlewareAgent/annotation.cjs.map +1 -1
  54. package/dist/agents/middlewareAgent/annotation.js +10 -4
  55. package/dist/agents/middlewareAgent/annotation.js.map +1 -1
  56. package/dist/agents/middlewareAgent/constants.d.cts +5 -0
  57. package/dist/agents/middlewareAgent/constants.d.cts.map +1 -0
  58. package/dist/agents/middlewareAgent/constants.d.ts +5 -0
  59. package/dist/agents/middlewareAgent/constants.d.ts.map +1 -0
  60. package/dist/agents/middlewareAgent/index.cjs.map +1 -1
  61. package/dist/agents/middlewareAgent/index.js.map +1 -1
  62. package/dist/agents/middlewareAgent/middleware/callLimit.cjs +128 -0
  63. package/dist/agents/middlewareAgent/middleware/callLimit.cjs.map +1 -0
  64. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts +119 -0
  65. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts.map +1 -0
  66. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts +119 -0
  67. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts.map +1 -0
  68. package/dist/agents/middlewareAgent/middleware/callLimit.js +127 -0
  69. package/dist/agents/middlewareAgent/middleware/callLimit.js.map +1 -0
  70. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs +278 -0
  71. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs.map +1 -0
  72. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts +239 -0
  73. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts.map +1 -0
  74. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts +239 -0
  75. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts.map +1 -0
  76. package/dist/agents/middlewareAgent/middleware/contextEditing.js +276 -0
  77. package/dist/agents/middlewareAgent/middleware/contextEditing.js.map +1 -0
  78. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs +58 -0
  79. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs.map +1 -0
  80. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts +46 -0
  81. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts.map +1 -0
  82. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts +46 -0
  83. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts.map +1 -0
  84. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js +58 -0
  85. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js.map +1 -0
  86. package/dist/agents/middlewareAgent/middleware/hitl.cjs +192 -86
  87. package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -1
  88. package/dist/agents/middlewareAgent/middleware/hitl.d.cts +387 -62
  89. package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -1
  90. package/dist/agents/middlewareAgent/middleware/hitl.d.ts +387 -62
  91. package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -1
  92. package/dist/agents/middlewareAgent/middleware/hitl.js +193 -87
  93. package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -1
  94. package/dist/agents/middlewareAgent/middleware/index.cjs +29 -3
  95. package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -1
  96. package/dist/agents/middlewareAgent/middleware/index.d.cts +13 -4
  97. package/dist/agents/middlewareAgent/middleware/index.d.ts +13 -4
  98. package/dist/agents/middlewareAgent/middleware/index.js +20 -3
  99. package/dist/agents/middlewareAgent/middleware/index.js.map +1 -1
  100. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs +193 -0
  101. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs.map +1 -0
  102. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts +83 -0
  103. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts.map +1 -0
  104. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts +83 -0
  105. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts.map +1 -0
  106. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js +192 -0
  107. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js.map +1 -0
  108. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs +67 -0
  109. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs.map +1 -0
  110. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts +45 -0
  111. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts.map +1 -0
  112. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts +45 -0
  113. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts.map +1 -0
  114. package/dist/agents/middlewareAgent/middleware/modelFallback.js +67 -0
  115. package/dist/agents/middlewareAgent/middleware/modelFallback.js.map +1 -0
  116. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs +333 -0
  117. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs.map +1 -0
  118. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts +155 -0
  119. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts.map +1 -0
  120. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts +155 -0
  121. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts.map +1 -0
  122. package/dist/agents/middlewareAgent/middleware/piiRedaction.js +332 -0
  123. package/dist/agents/middlewareAgent/middleware/piiRedaction.js.map +1 -0
  124. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs +64 -36
  125. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -1
  126. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts +64 -19
  127. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -1
  128. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts +64 -19
  129. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -1
  130. package/dist/agents/middlewareAgent/middleware/promptCaching.js +64 -36
  131. package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -1
  132. package/dist/agents/middlewareAgent/middleware/summarization.cjs +27 -35
  133. package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -1
  134. package/dist/agents/middlewareAgent/middleware/summarization.d.cts +12 -17
  135. package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -1
  136. package/dist/agents/middlewareAgent/middleware/summarization.d.ts +12 -17
  137. package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -1
  138. package/dist/agents/middlewareAgent/middleware/summarization.js +28 -35
  139. package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -1
  140. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs +242 -0
  141. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs.map +1 -0
  142. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts +158 -0
  143. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts.map +1 -0
  144. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts +158 -0
  145. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts.map +1 -0
  146. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js +240 -0
  147. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js.map +1 -0
  148. package/dist/agents/middlewareAgent/middleware/utils.cjs +26 -0
  149. package/dist/agents/middlewareAgent/middleware/utils.cjs.map +1 -0
  150. package/dist/agents/middlewareAgent/middleware/utils.d.cts +13 -0
  151. package/dist/agents/middlewareAgent/middleware/utils.d.cts.map +1 -0
  152. package/dist/agents/middlewareAgent/middleware/utils.d.ts +13 -0
  153. package/dist/agents/middlewareAgent/middleware/utils.d.ts.map +1 -0
  154. package/dist/agents/middlewareAgent/middleware/utils.js +25 -0
  155. package/dist/agents/middlewareAgent/middleware/utils.js.map +1 -0
  156. package/dist/agents/middlewareAgent/middleware.cjs +9 -5
  157. package/dist/agents/middlewareAgent/middleware.cjs.map +1 -1
  158. package/dist/agents/middlewareAgent/middleware.d.cts +78 -7
  159. package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -1
  160. package/dist/agents/middlewareAgent/middleware.d.ts +78 -7
  161. package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -1
  162. package/dist/agents/middlewareAgent/middleware.js +9 -5
  163. package/dist/agents/middlewareAgent/middleware.js.map +1 -1
  164. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +4 -4
  165. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -1
  166. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +4 -4
  167. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -1
  168. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +260 -117
  169. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -1
  170. package/dist/agents/middlewareAgent/nodes/AgentNode.js +263 -120
  171. package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -1
  172. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +4 -4
  173. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -1
  174. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +4 -4
  175. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -1
  176. package/dist/agents/middlewareAgent/nodes/middleware.cjs +51 -25
  177. package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -1
  178. package/dist/agents/middlewareAgent/nodes/middleware.js +51 -26
  179. package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -1
  180. package/dist/agents/middlewareAgent/nodes/utils.cjs +20 -28
  181. package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -1
  182. package/dist/agents/middlewareAgent/nodes/utils.js +20 -27
  183. package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -1
  184. package/dist/agents/middlewareAgent/types.d.cts +182 -90
  185. package/dist/agents/middlewareAgent/types.d.cts.map +1 -1
  186. package/dist/agents/middlewareAgent/types.d.ts +182 -90
  187. package/dist/agents/middlewareAgent/types.d.ts.map +1 -1
  188. package/dist/agents/model.cjs +13 -0
  189. package/dist/agents/model.cjs.map +1 -0
  190. package/dist/agents/model.js +11 -0
  191. package/dist/agents/model.js.map +1 -0
  192. package/dist/agents/nodes/AgentNode.cjs +56 -28
  193. package/dist/agents/nodes/AgentNode.cjs.map +1 -1
  194. package/dist/agents/nodes/AgentNode.js +57 -29
  195. package/dist/agents/nodes/AgentNode.js.map +1 -1
  196. package/dist/agents/nodes/ToolNode.cjs +1 -1
  197. package/dist/agents/nodes/ToolNode.cjs.map +1 -1
  198. package/dist/agents/nodes/ToolNode.d.cts +2 -2
  199. package/dist/agents/nodes/ToolNode.js +1 -1
  200. package/dist/agents/nodes/ToolNode.js.map +1 -1
  201. package/dist/agents/responses.cjs +52 -10
  202. package/dist/agents/responses.cjs.map +1 -1
  203. package/dist/agents/responses.d.cts +12 -20
  204. package/dist/agents/responses.d.cts.map +1 -1
  205. package/dist/agents/responses.d.ts +12 -20
  206. package/dist/agents/responses.d.ts.map +1 -1
  207. package/dist/agents/responses.js +52 -11
  208. package/dist/agents/responses.js.map +1 -1
  209. package/dist/agents/tests/utils.cjs +77 -0
  210. package/dist/agents/tests/utils.cjs.map +1 -0
  211. package/dist/agents/tests/utils.d.cts +53 -0
  212. package/dist/agents/tests/utils.d.cts.map +1 -0
  213. package/dist/agents/tests/utils.d.ts +53 -0
  214. package/dist/agents/tests/utils.d.ts.map +1 -0
  215. package/dist/agents/tests/utils.js +76 -0
  216. package/dist/agents/tests/utils.js.map +1 -0
  217. package/dist/agents/types.cjs +7 -0
  218. package/dist/agents/types.cjs.map +1 -0
  219. package/dist/agents/types.d.cts +40 -7
  220. package/dist/agents/types.d.cts.map +1 -1
  221. package/dist/agents/types.d.ts +40 -7
  222. package/dist/agents/types.d.ts.map +1 -1
  223. package/dist/agents/types.js +6 -0
  224. package/dist/agents/types.js.map +1 -0
  225. package/dist/agents/utils.cjs +5 -23
  226. package/dist/agents/utils.cjs.map +1 -1
  227. package/dist/agents/utils.js +2 -19
  228. package/dist/agents/utils.js.map +1 -1
  229. package/dist/chat_models/universal.cjs +7 -0
  230. package/dist/chat_models/universal.cjs.map +1 -1
  231. package/dist/chat_models/universal.d.cts +7 -2
  232. package/dist/chat_models/universal.d.cts.map +1 -1
  233. package/dist/chat_models/universal.d.ts +7 -2
  234. package/dist/chat_models/universal.d.ts.map +1 -1
  235. package/dist/chat_models/universal.js +7 -0
  236. package/dist/chat_models/universal.js.map +1 -1
  237. package/dist/embeddings/cache_backed.d.ts +1 -1
  238. package/dist/hub/base.cjs +4 -1
  239. package/dist/hub/base.cjs.map +1 -1
  240. package/dist/hub/base.js +4 -1
  241. package/dist/hub/base.js.map +1 -1
  242. package/dist/index.cjs +97 -7
  243. package/dist/index.cjs.map +1 -1
  244. package/dist/index.d.cts +24 -8
  245. package/dist/index.d.ts +24 -8
  246. package/dist/index.js +52 -6
  247. package/dist/index.js.map +1 -1
  248. package/dist/load/import_constants.cjs +0 -19
  249. package/dist/load/import_constants.cjs.map +1 -1
  250. package/dist/load/import_constants.js +0 -19
  251. package/dist/load/import_constants.js.map +1 -1
  252. package/dist/load/import_map.cjs +3 -114
  253. package/dist/load/import_map.cjs.map +1 -1
  254. package/dist/load/import_map.js +4 -115
  255. package/dist/load/import_map.js.map +1 -1
  256. package/dist/load/serializable.d.cts +1 -10
  257. package/dist/load/serializable.d.ts +1 -10
  258. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs +5 -4
  259. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs.map +1 -1
  260. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js +3 -2
  261. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js.map +1 -1
  262. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs +83 -0
  263. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs.map +1 -0
  264. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js +79 -0
  265. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js.map +1 -0
  266. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs +16 -0
  267. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs.map +1 -0
  268. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js +13 -0
  269. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js.map +1 -0
  270. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs +77 -0
  271. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs.map +1 -0
  272. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js +74 -0
  273. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js.map +1 -0
  274. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs +115 -0
  275. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs.map +1 -0
  276. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js +112 -0
  277. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js.map +1 -0
  278. package/dist/storage/encoder_backed.cjs +1 -1
  279. package/dist/storage/encoder_backed.d.cts +1 -1
  280. package/dist/storage/encoder_backed.d.ts +1 -1
  281. package/dist/storage/encoder_backed.js +1 -1
  282. package/dist/storage/file_system.cjs +1 -1
  283. package/dist/storage/file_system.js +1 -1
  284. package/package.json +39 -652
  285. package/dist/chains/analyze_documents_chain.cjs +0 -83
  286. package/dist/chains/analyze_documents_chain.cjs.map +0 -1
  287. package/dist/chains/analyze_documents_chain.d.cts +0 -58
  288. package/dist/chains/analyze_documents_chain.d.cts.map +0 -1
  289. package/dist/chains/analyze_documents_chain.d.ts +0 -58
  290. package/dist/chains/analyze_documents_chain.d.ts.map +0 -1
  291. package/dist/chains/analyze_documents_chain.js +0 -82
  292. package/dist/chains/analyze_documents_chain.js.map +0 -1
  293. package/dist/chains/api/api_chain.cjs +0 -100
  294. package/dist/chains/api/api_chain.cjs.map +0 -1
  295. package/dist/chains/api/api_chain.d.cts +0 -63
  296. package/dist/chains/api/api_chain.d.cts.map +0 -1
  297. package/dist/chains/api/api_chain.d.ts +0 -63
  298. package/dist/chains/api/api_chain.d.ts.map +0 -1
  299. package/dist/chains/api/api_chain.js +0 -100
  300. package/dist/chains/api/api_chain.js.map +0 -1
  301. package/dist/chains/api/prompts.cjs +0 -38
  302. package/dist/chains/api/prompts.cjs.map +0 -1
  303. package/dist/chains/api/prompts.js +0 -36
  304. package/dist/chains/api/prompts.js.map +0 -1
  305. package/dist/chains/base.cjs +0 -180
  306. package/dist/chains/base.cjs.map +0 -1
  307. package/dist/chains/base.d.cts +0 -88
  308. package/dist/chains/base.d.cts.map +0 -1
  309. package/dist/chains/base.d.ts +0 -88
  310. package/dist/chains/base.d.ts.map +0 -1
  311. package/dist/chains/base.js +0 -179
  312. package/dist/chains/base.js.map +0 -1
  313. package/dist/chains/chat_vector_db_chain.cjs +0 -130
  314. package/dist/chains/chat_vector_db_chain.cjs.map +0 -1
  315. package/dist/chains/chat_vector_db_chain.d.cts +0 -62
  316. package/dist/chains/chat_vector_db_chain.d.cts.map +0 -1
  317. package/dist/chains/chat_vector_db_chain.d.ts +0 -62
  318. package/dist/chains/chat_vector_db_chain.d.ts.map +0 -1
  319. package/dist/chains/chat_vector_db_chain.js +0 -129
  320. package/dist/chains/chat_vector_db_chain.js.map +0 -1
  321. package/dist/chains/combine_docs_chain.cjs +0 -275
  322. package/dist/chains/combine_docs_chain.cjs.map +0 -1
  323. package/dist/chains/combine_docs_chain.d.cts +0 -126
  324. package/dist/chains/combine_docs_chain.d.cts.map +0 -1
  325. package/dist/chains/combine_docs_chain.d.ts +0 -126
  326. package/dist/chains/combine_docs_chain.d.ts.map +0 -1
  327. package/dist/chains/combine_docs_chain.js +0 -272
  328. package/dist/chains/combine_docs_chain.js.map +0 -1
  329. package/dist/chains/combine_documents/base.cjs +0 -22
  330. package/dist/chains/combine_documents/base.cjs.map +0 -1
  331. package/dist/chains/combine_documents/base.js +0 -18
  332. package/dist/chains/combine_documents/base.js.map +0 -1
  333. package/dist/chains/combine_documents/index.cjs +0 -16
  334. package/dist/chains/combine_documents/index.cjs.map +0 -1
  335. package/dist/chains/combine_documents/index.d.cts +0 -2
  336. package/dist/chains/combine_documents/index.d.ts +0 -2
  337. package/dist/chains/combine_documents/index.js +0 -10
  338. package/dist/chains/combine_documents/index.js.map +0 -1
  339. package/dist/chains/combine_documents/reduce.cjs +0 -73
  340. package/dist/chains/combine_documents/reduce.cjs.map +0 -1
  341. package/dist/chains/combine_documents/reduce.d.cts +0 -36
  342. package/dist/chains/combine_documents/reduce.d.cts.map +0 -1
  343. package/dist/chains/combine_documents/reduce.d.ts +0 -36
  344. package/dist/chains/combine_documents/reduce.d.ts.map +0 -1
  345. package/dist/chains/combine_documents/reduce.js +0 -66
  346. package/dist/chains/combine_documents/reduce.js.map +0 -1
  347. package/dist/chains/combine_documents/stuff.cjs +0 -41
  348. package/dist/chains/combine_documents/stuff.cjs.map +0 -1
  349. package/dist/chains/combine_documents/stuff.d.cts +0 -40
  350. package/dist/chains/combine_documents/stuff.d.cts.map +0 -1
  351. package/dist/chains/combine_documents/stuff.d.ts +0 -40
  352. package/dist/chains/combine_documents/stuff.d.ts.map +0 -1
  353. package/dist/chains/combine_documents/stuff.js +0 -40
  354. package/dist/chains/combine_documents/stuff.js.map +0 -1
  355. package/dist/chains/constitutional_ai/constitutional_chain.cjs +0 -131
  356. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +0 -1
  357. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -79
  358. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +0 -1
  359. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -79
  360. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +0 -1
  361. package/dist/chains/constitutional_ai/constitutional_chain.js +0 -131
  362. package/dist/chains/constitutional_ai/constitutional_chain.js.map +0 -1
  363. package/dist/chains/constitutional_ai/constitutional_principle.cjs +0 -322
  364. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +0 -1
  365. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -50
  366. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +0 -1
  367. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -50
  368. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +0 -1
  369. package/dist/chains/constitutional_ai/constitutional_principle.js +0 -320
  370. package/dist/chains/constitutional_ai/constitutional_principle.js.map +0 -1
  371. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +0 -96
  372. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +0 -1
  373. package/dist/chains/constitutional_ai/constitutional_prompts.js +0 -94
  374. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +0 -1
  375. package/dist/chains/conversation.cjs +0 -50
  376. package/dist/chains/conversation.cjs.map +0 -1
  377. package/dist/chains/conversation.d.cts +0 -34
  378. package/dist/chains/conversation.d.cts.map +0 -1
  379. package/dist/chains/conversation.d.ts +0 -34
  380. package/dist/chains/conversation.d.ts.map +0 -1
  381. package/dist/chains/conversation.js +0 -48
  382. package/dist/chains/conversation.js.map +0 -1
  383. package/dist/chains/conversational_retrieval_chain.cjs +0 -218
  384. package/dist/chains/conversational_retrieval_chain.cjs.map +0 -1
  385. package/dist/chains/conversational_retrieval_chain.d.cts +0 -152
  386. package/dist/chains/conversational_retrieval_chain.d.cts.map +0 -1
  387. package/dist/chains/conversational_retrieval_chain.d.ts +0 -152
  388. package/dist/chains/conversational_retrieval_chain.d.ts.map +0 -1
  389. package/dist/chains/conversational_retrieval_chain.js +0 -217
  390. package/dist/chains/conversational_retrieval_chain.js.map +0 -1
  391. package/dist/chains/graph_qa/cypher.cjs +0 -133
  392. package/dist/chains/graph_qa/cypher.cjs.map +0 -1
  393. package/dist/chains/graph_qa/cypher.d.cts +0 -76
  394. package/dist/chains/graph_qa/cypher.d.cts.map +0 -1
  395. package/dist/chains/graph_qa/cypher.d.ts +0 -76
  396. package/dist/chains/graph_qa/cypher.d.ts.map +0 -1
  397. package/dist/chains/graph_qa/cypher.js +0 -126
  398. package/dist/chains/graph_qa/cypher.js.map +0 -1
  399. package/dist/chains/graph_qa/prompts.cjs +0 -46
  400. package/dist/chains/graph_qa/prompts.cjs.map +0 -1
  401. package/dist/chains/graph_qa/prompts.js +0 -44
  402. package/dist/chains/graph_qa/prompts.js.map +0 -1
  403. package/dist/chains/history_aware_retriever.cjs +0 -55
  404. package/dist/chains/history_aware_retriever.cjs.map +0 -1
  405. package/dist/chains/history_aware_retriever.d.cts +0 -64
  406. package/dist/chains/history_aware_retriever.d.cts.map +0 -1
  407. package/dist/chains/history_aware_retriever.d.ts +0 -64
  408. package/dist/chains/history_aware_retriever.d.ts.map +0 -1
  409. package/dist/chains/history_aware_retriever.js +0 -49
  410. package/dist/chains/history_aware_retriever.js.map +0 -1
  411. package/dist/chains/index.cjs +0 -106
  412. package/dist/chains/index.cjs.map +0 -1
  413. package/dist/chains/index.d.cts +0 -25
  414. package/dist/chains/index.d.ts +0 -25
  415. package/dist/chains/index.js +0 -67
  416. package/dist/chains/index.js.map +0 -1
  417. package/dist/chains/llm_chain.cjs +0 -155
  418. package/dist/chains/llm_chain.cjs.map +0 -1
  419. package/dist/chains/llm_chain.d.cts +0 -97
  420. package/dist/chains/llm_chain.d.cts.map +0 -1
  421. package/dist/chains/llm_chain.d.ts +0 -97
  422. package/dist/chains/llm_chain.d.ts.map +0 -1
  423. package/dist/chains/llm_chain.js +0 -154
  424. package/dist/chains/llm_chain.js.map +0 -1
  425. package/dist/chains/load.cjs +0 -48
  426. package/dist/chains/load.cjs.map +0 -1
  427. package/dist/chains/load.d.cts +0 -30
  428. package/dist/chains/load.d.cts.map +0 -1
  429. package/dist/chains/load.d.ts +0 -30
  430. package/dist/chains/load.d.ts.map +0 -1
  431. package/dist/chains/load.js +0 -42
  432. package/dist/chains/load.js.map +0 -1
  433. package/dist/chains/openai_functions/base.cjs +0 -139
  434. package/dist/chains/openai_functions/base.cjs.map +0 -1
  435. package/dist/chains/openai_functions/base.d.cts +0 -172
  436. package/dist/chains/openai_functions/base.d.cts.map +0 -1
  437. package/dist/chains/openai_functions/base.d.ts +0 -172
  438. package/dist/chains/openai_functions/base.d.ts.map +0 -1
  439. package/dist/chains/openai_functions/base.js +0 -137
  440. package/dist/chains/openai_functions/base.js.map +0 -1
  441. package/dist/chains/openai_functions/extraction.cjs +0 -71
  442. package/dist/chains/openai_functions/extraction.cjs.map +0 -1
  443. package/dist/chains/openai_functions/extraction.d.cts +0 -29
  444. package/dist/chains/openai_functions/extraction.d.cts.map +0 -1
  445. package/dist/chains/openai_functions/extraction.d.ts +0 -29
  446. package/dist/chains/openai_functions/extraction.d.ts.map +0 -1
  447. package/dist/chains/openai_functions/extraction.js +0 -69
  448. package/dist/chains/openai_functions/extraction.js.map +0 -1
  449. package/dist/chains/openai_functions/index.cjs +0 -33
  450. package/dist/chains/openai_functions/index.cjs.map +0 -1
  451. package/dist/chains/openai_functions/index.d.cts +0 -5
  452. package/dist/chains/openai_functions/index.d.ts +0 -5
  453. package/dist/chains/openai_functions/index.js +0 -21
  454. package/dist/chains/openai_functions/index.js.map +0 -1
  455. package/dist/chains/openai_functions/openapi.cjs +0 -287
  456. package/dist/chains/openai_functions/openapi.cjs.map +0 -1
  457. package/dist/chains/openai_functions/openapi.d.cts +0 -61
  458. package/dist/chains/openai_functions/openapi.d.cts.map +0 -1
  459. package/dist/chains/openai_functions/openapi.d.ts +0 -61
  460. package/dist/chains/openai_functions/openapi.d.ts.map +0 -1
  461. package/dist/chains/openai_functions/openapi.js +0 -285
  462. package/dist/chains/openai_functions/openapi.js.map +0 -1
  463. package/dist/chains/openai_functions/tagging.cjs +0 -72
  464. package/dist/chains/openai_functions/tagging.cjs.map +0 -1
  465. package/dist/chains/openai_functions/tagging.d.cts +0 -47
  466. package/dist/chains/openai_functions/tagging.d.cts.map +0 -1
  467. package/dist/chains/openai_functions/tagging.d.ts +0 -47
  468. package/dist/chains/openai_functions/tagging.d.ts.map +0 -1
  469. package/dist/chains/openai_functions/tagging.js +0 -70
  470. package/dist/chains/openai_functions/tagging.js.map +0 -1
  471. package/dist/chains/query_constructor/index.cjs +0 -145
  472. package/dist/chains/query_constructor/index.cjs.map +0 -1
  473. package/dist/chains/query_constructor/index.d.cts +0 -82
  474. package/dist/chains/query_constructor/index.d.cts.map +0 -1
  475. package/dist/chains/query_constructor/index.d.ts +0 -82
  476. package/dist/chains/query_constructor/index.d.ts.map +0 -1
  477. package/dist/chains/query_constructor/index.js +0 -130
  478. package/dist/chains/query_constructor/index.js.map +0 -1
  479. package/dist/chains/query_constructor/ir.cjs +0 -22
  480. package/dist/chains/query_constructor/ir.cjs.map +0 -1
  481. package/dist/chains/query_constructor/ir.d.cts +0 -1
  482. package/dist/chains/query_constructor/ir.d.ts +0 -1
  483. package/dist/chains/query_constructor/ir.js +0 -12
  484. package/dist/chains/query_constructor/ir.js.map +0 -1
  485. package/dist/chains/query_constructor/parser.cjs +0 -80
  486. package/dist/chains/query_constructor/parser.cjs.map +0 -1
  487. package/dist/chains/query_constructor/parser.d.cts +0 -43
  488. package/dist/chains/query_constructor/parser.d.cts.map +0 -1
  489. package/dist/chains/query_constructor/parser.d.ts +0 -43
  490. package/dist/chains/query_constructor/parser.d.ts.map +0 -1
  491. package/dist/chains/query_constructor/parser.js +0 -79
  492. package/dist/chains/query_constructor/parser.js.map +0 -1
  493. package/dist/chains/query_constructor/prompt.cjs +0 -137
  494. package/dist/chains/query_constructor/prompt.cjs.map +0 -1
  495. package/dist/chains/query_constructor/prompt.d.cts +0 -22
  496. package/dist/chains/query_constructor/prompt.d.cts.map +0 -1
  497. package/dist/chains/query_constructor/prompt.d.ts +0 -22
  498. package/dist/chains/query_constructor/prompt.d.ts.map +0 -1
  499. package/dist/chains/query_constructor/prompt.js +0 -132
  500. package/dist/chains/query_constructor/prompt.js.map +0 -1
  501. package/dist/chains/question_answering/load.cjs +0 -99
  502. package/dist/chains/question_answering/load.cjs.map +0 -1
  503. package/dist/chains/question_answering/load.d.cts +0 -72
  504. package/dist/chains/question_answering/load.d.cts.map +0 -1
  505. package/dist/chains/question_answering/load.d.ts +0 -72
  506. package/dist/chains/question_answering/load.d.ts.map +0 -1
  507. package/dist/chains/question_answering/load.js +0 -96
  508. package/dist/chains/question_answering/load.js.map +0 -1
  509. package/dist/chains/question_answering/map_reduce_prompts.cjs +0 -61
  510. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +0 -1
  511. package/dist/chains/question_answering/map_reduce_prompts.js +0 -59
  512. package/dist/chains/question_answering/map_reduce_prompts.js.map +0 -1
  513. package/dist/chains/question_answering/refine_prompts.cjs +0 -60
  514. package/dist/chains/question_answering/refine_prompts.cjs.map +0 -1
  515. package/dist/chains/question_answering/refine_prompts.js +0 -58
  516. package/dist/chains/question_answering/refine_prompts.js.map +0 -1
  517. package/dist/chains/question_answering/stuff_prompts.cjs +0 -20
  518. package/dist/chains/question_answering/stuff_prompts.cjs.map +0 -1
  519. package/dist/chains/question_answering/stuff_prompts.js +0 -19
  520. package/dist/chains/question_answering/stuff_prompts.js.map +0 -1
  521. package/dist/chains/retrieval.cjs +0 -55
  522. package/dist/chains/retrieval.cjs.map +0 -1
  523. package/dist/chains/retrieval.d.cts +0 -77
  524. package/dist/chains/retrieval.d.cts.map +0 -1
  525. package/dist/chains/retrieval.d.ts +0 -77
  526. package/dist/chains/retrieval.d.ts.map +0 -1
  527. package/dist/chains/retrieval.js +0 -49
  528. package/dist/chains/retrieval.js.map +0 -1
  529. package/dist/chains/retrieval_qa.cjs +0 -106
  530. package/dist/chains/retrieval_qa.cjs.map +0 -1
  531. package/dist/chains/retrieval_qa.d.cts +0 -81
  532. package/dist/chains/retrieval_qa.d.cts.map +0 -1
  533. package/dist/chains/retrieval_qa.d.ts +0 -81
  534. package/dist/chains/retrieval_qa.d.ts.map +0 -1
  535. package/dist/chains/retrieval_qa.js +0 -106
  536. package/dist/chains/retrieval_qa.js.map +0 -1
  537. package/dist/chains/router/llm_router.cjs +0 -50
  538. package/dist/chains/router/llm_router.cjs.map +0 -1
  539. package/dist/chains/router/llm_router.d.cts +0 -54
  540. package/dist/chains/router/llm_router.d.cts.map +0 -1
  541. package/dist/chains/router/llm_router.d.ts +0 -54
  542. package/dist/chains/router/llm_router.d.ts.map +0 -1
  543. package/dist/chains/router/llm_router.js +0 -50
  544. package/dist/chains/router/llm_router.js.map +0 -1
  545. package/dist/chains/router/multi_prompt.cjs +0 -116
  546. package/dist/chains/router/multi_prompt.cjs.map +0 -1
  547. package/dist/chains/router/multi_prompt.d.cts +0 -76
  548. package/dist/chains/router/multi_prompt.d.cts.map +0 -1
  549. package/dist/chains/router/multi_prompt.d.ts +0 -76
  550. package/dist/chains/router/multi_prompt.d.ts.map +0 -1
  551. package/dist/chains/router/multi_prompt.js +0 -115
  552. package/dist/chains/router/multi_prompt.js.map +0 -1
  553. package/dist/chains/router/multi_prompt_prompt.cjs +0 -22
  554. package/dist/chains/router/multi_prompt_prompt.cjs.map +0 -1
  555. package/dist/chains/router/multi_prompt_prompt.js +0 -21
  556. package/dist/chains/router/multi_prompt_prompt.js.map +0 -1
  557. package/dist/chains/router/multi_retrieval_prompt.cjs +0 -22
  558. package/dist/chains/router/multi_retrieval_prompt.cjs.map +0 -1
  559. package/dist/chains/router/multi_retrieval_prompt.js +0 -21
  560. package/dist/chains/router/multi_retrieval_prompt.js.map +0 -1
  561. package/dist/chains/router/multi_retrieval_qa.cjs +0 -137
  562. package/dist/chains/router/multi_retrieval_qa.cjs.map +0 -1
  563. package/dist/chains/router/multi_retrieval_qa.d.cts +0 -100
  564. package/dist/chains/router/multi_retrieval_qa.d.cts.map +0 -1
  565. package/dist/chains/router/multi_retrieval_qa.d.ts +0 -100
  566. package/dist/chains/router/multi_retrieval_qa.d.ts.map +0 -1
  567. package/dist/chains/router/multi_retrieval_qa.js +0 -136
  568. package/dist/chains/router/multi_retrieval_qa.js.map +0 -1
  569. package/dist/chains/router/multi_route.cjs +0 -69
  570. package/dist/chains/router/multi_route.cjs.map +0 -1
  571. package/dist/chains/router/multi_route.d.cts +0 -69
  572. package/dist/chains/router/multi_route.d.cts.map +0 -1
  573. package/dist/chains/router/multi_route.d.ts +0 -69
  574. package/dist/chains/router/multi_route.d.ts.map +0 -1
  575. package/dist/chains/router/multi_route.js +0 -68
  576. package/dist/chains/router/multi_route.js.map +0 -1
  577. package/dist/chains/router/utils.cjs +0 -18
  578. package/dist/chains/router/utils.cjs.map +0 -1
  579. package/dist/chains/router/utils.js +0 -17
  580. package/dist/chains/router/utils.js.map +0 -1
  581. package/dist/chains/sequential_chain.cjs +0 -255
  582. package/dist/chains/sequential_chain.cjs.map +0 -1
  583. package/dist/chains/sequential_chain.d.cts +0 -158
  584. package/dist/chains/sequential_chain.d.cts.map +0 -1
  585. package/dist/chains/sequential_chain.d.ts +0 -158
  586. package/dist/chains/sequential_chain.d.ts.map +0 -1
  587. package/dist/chains/sequential_chain.js +0 -254
  588. package/dist/chains/sequential_chain.js.map +0 -1
  589. package/dist/chains/serde.d.cts +0 -156
  590. package/dist/chains/serde.d.cts.map +0 -1
  591. package/dist/chains/serde.d.ts +0 -156
  592. package/dist/chains/serde.d.ts.map +0 -1
  593. package/dist/chains/sql_db/index.cjs +0 -35
  594. package/dist/chains/sql_db/index.cjs.map +0 -1
  595. package/dist/chains/sql_db/index.d.cts +0 -3
  596. package/dist/chains/sql_db/index.d.ts +0 -3
  597. package/dist/chains/sql_db/index.js +0 -21
  598. package/dist/chains/sql_db/index.js.map +0 -1
  599. package/dist/chains/sql_db/sql_db_chain.cjs +0 -196
  600. package/dist/chains/sql_db/sql_db_chain.cjs.map +0 -1
  601. package/dist/chains/sql_db/sql_db_chain.d.cts +0 -124
  602. package/dist/chains/sql_db/sql_db_chain.d.cts.map +0 -1
  603. package/dist/chains/sql_db/sql_db_chain.d.ts +0 -124
  604. package/dist/chains/sql_db/sql_db_chain.d.ts.map +0 -1
  605. package/dist/chains/sql_db/sql_db_chain.js +0 -194
  606. package/dist/chains/sql_db/sql_db_chain.js.map +0 -1
  607. package/dist/chains/sql_db/sql_db_prompt.cjs +0 -194
  608. package/dist/chains/sql_db/sql_db_prompt.cjs.map +0 -1
  609. package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -44
  610. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +0 -1
  611. package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -44
  612. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +0 -1
  613. package/dist/chains/sql_db/sql_db_prompt.js +0 -186
  614. package/dist/chains/sql_db/sql_db_prompt.js.map +0 -1
  615. package/dist/chains/summarization/load.cjs +0 -74
  616. package/dist/chains/summarization/load.cjs.map +0 -1
  617. package/dist/chains/summarization/load.d.cts +0 -33
  618. package/dist/chains/summarization/load.d.cts.map +0 -1
  619. package/dist/chains/summarization/load.d.ts +0 -33
  620. package/dist/chains/summarization/load.d.ts.map +0 -1
  621. package/dist/chains/summarization/load.js +0 -74
  622. package/dist/chains/summarization/load.js.map +0 -1
  623. package/dist/chains/summarization/refine_prompts.cjs +0 -24
  624. package/dist/chains/summarization/refine_prompts.cjs.map +0 -1
  625. package/dist/chains/summarization/refine_prompts.js +0 -23
  626. package/dist/chains/summarization/refine_prompts.js.map +0 -1
  627. package/dist/chains/summarization/stuff_prompts.cjs +0 -19
  628. package/dist/chains/summarization/stuff_prompts.cjs.map +0 -1
  629. package/dist/chains/summarization/stuff_prompts.js +0 -18
  630. package/dist/chains/summarization/stuff_prompts.js.map +0 -1
  631. package/dist/chains/transform.cjs +0 -43
  632. package/dist/chains/transform.cjs.map +0 -1
  633. package/dist/chains/transform.d.cts +0 -44
  634. package/dist/chains/transform.d.cts.map +0 -1
  635. package/dist/chains/transform.d.ts +0 -44
  636. package/dist/chains/transform.d.ts.map +0 -1
  637. package/dist/chains/transform.js +0 -43
  638. package/dist/chains/transform.js.map +0 -1
  639. package/dist/chains/vector_db_qa.cjs +0 -95
  640. package/dist/chains/vector_db_qa.cjs.map +0 -1
  641. package/dist/chains/vector_db_qa.d.cts +0 -66
  642. package/dist/chains/vector_db_qa.d.cts.map +0 -1
  643. package/dist/chains/vector_db_qa.d.ts +0 -66
  644. package/dist/chains/vector_db_qa.d.ts.map +0 -1
  645. package/dist/chains/vector_db_qa.js +0 -95
  646. package/dist/chains/vector_db_qa.js.map +0 -1
  647. package/dist/document.cjs +0 -21
  648. package/dist/document.cjs.map +0 -1
  649. package/dist/document.d.cts +0 -2
  650. package/dist/document.d.ts +0 -2
  651. package/dist/document.js +0 -10
  652. package/dist/document.js.map +0 -1
  653. package/dist/document_loaders/base.cjs +0 -22
  654. package/dist/document_loaders/base.cjs.map +0 -1
  655. package/dist/document_loaders/base.d.cts +0 -1
  656. package/dist/document_loaders/base.d.ts +0 -1
  657. package/dist/document_loaders/base.js +0 -12
  658. package/dist/document_loaders/base.js.map +0 -1
  659. package/dist/document_loaders/fs/buffer.cjs +0 -69
  660. package/dist/document_loaders/fs/buffer.cjs.map +0 -1
  661. package/dist/document_loaders/fs/buffer.d.cts +0 -46
  662. package/dist/document_loaders/fs/buffer.d.cts.map +0 -1
  663. package/dist/document_loaders/fs/buffer.d.ts +0 -46
  664. package/dist/document_loaders/fs/buffer.d.ts.map +0 -1
  665. package/dist/document_loaders/fs/buffer.js +0 -63
  666. package/dist/document_loaders/fs/buffer.js.map +0 -1
  667. package/dist/document_loaders/fs/directory.cjs +0 -116
  668. package/dist/document_loaders/fs/directory.cjs.map +0 -1
  669. package/dist/document_loaders/fs/directory.d.cts +0 -76
  670. package/dist/document_loaders/fs/directory.d.cts.map +0 -1
  671. package/dist/document_loaders/fs/directory.d.ts +0 -76
  672. package/dist/document_loaders/fs/directory.d.ts.map +0 -1
  673. package/dist/document_loaders/fs/directory.js +0 -109
  674. package/dist/document_loaders/fs/directory.js.map +0 -1
  675. package/dist/document_loaders/fs/json.cjs +0 -128
  676. package/dist/document_loaders/fs/json.cjs.map +0 -1
  677. package/dist/document_loaders/fs/json.d.cts +0 -65
  678. package/dist/document_loaders/fs/json.d.cts.map +0 -1
  679. package/dist/document_loaders/fs/json.d.ts +0 -65
  680. package/dist/document_loaders/fs/json.d.ts.map +0 -1
  681. package/dist/document_loaders/fs/json.js +0 -121
  682. package/dist/document_loaders/fs/json.js.map +0 -1
  683. package/dist/document_loaders/fs/multi_file.cjs +0 -82
  684. package/dist/document_loaders/fs/multi_file.cjs.map +0 -1
  685. package/dist/document_loaders/fs/multi_file.d.cts +0 -43
  686. package/dist/document_loaders/fs/multi_file.d.cts.map +0 -1
  687. package/dist/document_loaders/fs/multi_file.d.ts +0 -43
  688. package/dist/document_loaders/fs/multi_file.d.ts.map +0 -1
  689. package/dist/document_loaders/fs/multi_file.js +0 -76
  690. package/dist/document_loaders/fs/multi_file.js.map +0 -1
  691. package/dist/document_loaders/fs/text.cjs +0 -101
  692. package/dist/document_loaders/fs/text.cjs.map +0 -1
  693. package/dist/document_loaders/fs/text.d.cts +0 -57
  694. package/dist/document_loaders/fs/text.d.cts.map +0 -1
  695. package/dist/document_loaders/fs/text.d.ts +0 -57
  696. package/dist/document_loaders/fs/text.d.ts.map +0 -1
  697. package/dist/document_loaders/fs/text.js +0 -95
  698. package/dist/document_loaders/fs/text.js.map +0 -1
  699. package/dist/evaluation/agents/index.cjs +0 -1
  700. package/dist/evaluation/agents/index.js +0 -1
  701. package/dist/evaluation/agents/prompt.cjs +0 -132
  702. package/dist/evaluation/agents/prompt.cjs.map +0 -1
  703. package/dist/evaluation/agents/prompt.js +0 -130
  704. package/dist/evaluation/agents/prompt.js.map +0 -1
  705. package/dist/evaluation/agents/trajectory.cjs +0 -132
  706. package/dist/evaluation/agents/trajectory.cjs.map +0 -1
  707. package/dist/evaluation/agents/trajectory.d.cts +0 -61
  708. package/dist/evaluation/agents/trajectory.d.cts.map +0 -1
  709. package/dist/evaluation/agents/trajectory.d.ts +0 -61
  710. package/dist/evaluation/agents/trajectory.d.ts.map +0 -1
  711. package/dist/evaluation/agents/trajectory.js +0 -130
  712. package/dist/evaluation/agents/trajectory.js.map +0 -1
  713. package/dist/evaluation/base.cjs +0 -169
  714. package/dist/evaluation/base.cjs.map +0 -1
  715. package/dist/evaluation/base.d.cts +0 -240
  716. package/dist/evaluation/base.d.cts.map +0 -1
  717. package/dist/evaluation/base.d.ts +0 -240
  718. package/dist/evaluation/base.d.ts.map +0 -1
  719. package/dist/evaluation/base.js +0 -164
  720. package/dist/evaluation/base.js.map +0 -1
  721. package/dist/evaluation/comparison/index.cjs +0 -1
  722. package/dist/evaluation/comparison/index.js +0 -1
  723. package/dist/evaluation/comparison/pairwise.cjs +0 -178
  724. package/dist/evaluation/comparison/pairwise.cjs.map +0 -1
  725. package/dist/evaluation/comparison/pairwise.d.cts +0 -56
  726. package/dist/evaluation/comparison/pairwise.d.cts.map +0 -1
  727. package/dist/evaluation/comparison/pairwise.d.ts +0 -56
  728. package/dist/evaluation/comparison/pairwise.d.ts.map +0 -1
  729. package/dist/evaluation/comparison/pairwise.js +0 -175
  730. package/dist/evaluation/comparison/pairwise.js.map +0 -1
  731. package/dist/evaluation/comparison/prompt.cjs +0 -77
  732. package/dist/evaluation/comparison/prompt.cjs.map +0 -1
  733. package/dist/evaluation/comparison/prompt.js +0 -75
  734. package/dist/evaluation/comparison/prompt.js.map +0 -1
  735. package/dist/evaluation/criteria/criteria.cjs +0 -164
  736. package/dist/evaluation/criteria/criteria.cjs.map +0 -1
  737. package/dist/evaluation/criteria/criteria.d.cts +0 -85
  738. package/dist/evaluation/criteria/criteria.d.cts.map +0 -1
  739. package/dist/evaluation/criteria/criteria.d.ts +0 -85
  740. package/dist/evaluation/criteria/criteria.d.ts.map +0 -1
  741. package/dist/evaluation/criteria/criteria.js +0 -161
  742. package/dist/evaluation/criteria/criteria.js.map +0 -1
  743. package/dist/evaluation/criteria/index.cjs +0 -1
  744. package/dist/evaluation/criteria/index.js +0 -1
  745. package/dist/evaluation/criteria/prompt.cjs +0 -50
  746. package/dist/evaluation/criteria/prompt.cjs.map +0 -1
  747. package/dist/evaluation/criteria/prompt.js +0 -48
  748. package/dist/evaluation/criteria/prompt.js.map +0 -1
  749. package/dist/evaluation/embedding_distance/base.cjs +0 -108
  750. package/dist/evaluation/embedding_distance/base.cjs.map +0 -1
  751. package/dist/evaluation/embedding_distance/base.d.cts +0 -82
  752. package/dist/evaluation/embedding_distance/base.d.cts.map +0 -1
  753. package/dist/evaluation/embedding_distance/base.d.ts +0 -82
  754. package/dist/evaluation/embedding_distance/base.d.ts.map +0 -1
  755. package/dist/evaluation/embedding_distance/base.js +0 -105
  756. package/dist/evaluation/embedding_distance/base.js.map +0 -1
  757. package/dist/evaluation/embedding_distance/index.cjs +0 -1
  758. package/dist/evaluation/embedding_distance/index.js +0 -1
  759. package/dist/evaluation/index.cjs +0 -54
  760. package/dist/evaluation/index.cjs.map +0 -1
  761. package/dist/evaluation/index.d.cts +0 -8
  762. package/dist/evaluation/index.d.ts +0 -8
  763. package/dist/evaluation/index.js +0 -35
  764. package/dist/evaluation/index.js.map +0 -1
  765. package/dist/evaluation/loader.cjs +0 -57
  766. package/dist/evaluation/loader.cjs.map +0 -1
  767. package/dist/evaluation/loader.d.cts +0 -38
  768. package/dist/evaluation/loader.d.cts.map +0 -1
  769. package/dist/evaluation/loader.d.ts +0 -38
  770. package/dist/evaluation/loader.d.ts.map +0 -1
  771. package/dist/evaluation/loader.js +0 -56
  772. package/dist/evaluation/loader.js.map +0 -1
  773. package/dist/evaluation/qa/eval_chain.cjs +0 -41
  774. package/dist/evaluation/qa/eval_chain.cjs.map +0 -1
  775. package/dist/evaluation/qa/eval_chain.d.cts +0 -22
  776. package/dist/evaluation/qa/eval_chain.d.cts.map +0 -1
  777. package/dist/evaluation/qa/eval_chain.d.ts +0 -22
  778. package/dist/evaluation/qa/eval_chain.d.ts.map +0 -1
  779. package/dist/evaluation/qa/eval_chain.js +0 -41
  780. package/dist/evaluation/qa/eval_chain.js.map +0 -1
  781. package/dist/evaluation/qa/index.cjs +0 -1
  782. package/dist/evaluation/qa/index.js +0 -1
  783. package/dist/evaluation/qa/prompt.cjs +0 -31
  784. package/dist/evaluation/qa/prompt.cjs.map +0 -1
  785. package/dist/evaluation/qa/prompt.js +0 -30
  786. package/dist/evaluation/qa/prompt.js.map +0 -1
  787. package/dist/evaluation/types.d.cts +0 -40
  788. package/dist/evaluation/types.d.cts.map +0 -1
  789. package/dist/evaluation/types.d.ts +0 -40
  790. package/dist/evaluation/types.d.ts.map +0 -1
  791. package/dist/langchain-core/dist/load/map_keys.d.cts +0 -10
  792. package/dist/langchain-core/dist/load/map_keys.d.cts.map +0 -1
  793. package/dist/langchain-core/dist/load/serializable.d.cts +0 -82
  794. package/dist/langchain-core/dist/load/serializable.d.cts.map +0 -1
  795. package/dist/langchain-core/dist/messages/base.d.cts +0 -125
  796. package/dist/langchain-core/dist/messages/base.d.cts.map +0 -1
  797. package/dist/langchain-core/dist/messages/content/base.d.cts +0 -22
  798. package/dist/langchain-core/dist/messages/content/base.d.cts.map +0 -1
  799. package/dist/langchain-core/dist/messages/content/data.d.cts +0 -96
  800. package/dist/langchain-core/dist/messages/content/data.d.cts.map +0 -1
  801. package/dist/langchain-core/dist/messages/content/index.d.cts +0 -102
  802. package/dist/langchain-core/dist/messages/content/index.d.cts.map +0 -1
  803. package/dist/langchain-core/dist/messages/content/multimodal.d.cts +0 -110
  804. package/dist/langchain-core/dist/messages/content/multimodal.d.cts.map +0 -1
  805. package/dist/langchain-core/dist/messages/content/tools.d.cts +0 -153
  806. package/dist/langchain-core/dist/messages/content/tools.d.cts.map +0 -1
  807. package/dist/langchain-core/dist/messages/message.d.cts +0 -598
  808. package/dist/langchain-core/dist/messages/message.d.cts.map +0 -1
  809. package/dist/langchain-core/dist/messages/metadata.d.cts +0 -97
  810. package/dist/langchain-core/dist/messages/metadata.d.cts.map +0 -1
  811. package/dist/langchain-core/dist/messages/utils.d.cts +0 -75
  812. package/dist/langchain-core/dist/messages/utils.d.cts.map +0 -1
  813. package/dist/langchain-core/dist/prompt_values.d.cts +0 -13
  814. package/dist/langchain-core/dist/prompt_values.d.cts.map +0 -1
  815. package/dist/langchain-core/dist/utils/types/index.d.cts +0 -8
  816. package/dist/langchain-core/dist/utils/types/index.d.cts.map +0 -1
  817. package/dist/libs/langchain-core/dist/load/map_keys.d.ts +0 -10
  818. package/dist/libs/langchain-core/dist/load/map_keys.d.ts.map +0 -1
  819. package/dist/libs/langchain-core/dist/load/serializable.d.ts +0 -82
  820. package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +0 -1
  821. package/dist/libs/langchain-core/dist/messages/base.d.ts +0 -125
  822. package/dist/libs/langchain-core/dist/messages/base.d.ts.map +0 -1
  823. package/dist/libs/langchain-core/dist/messages/content/base.d.ts +0 -22
  824. package/dist/libs/langchain-core/dist/messages/content/base.d.ts.map +0 -1
  825. package/dist/libs/langchain-core/dist/messages/content/data.d.ts +0 -96
  826. package/dist/libs/langchain-core/dist/messages/content/data.d.ts.map +0 -1
  827. package/dist/libs/langchain-core/dist/messages/content/index.d.ts +0 -102
  828. package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +0 -1
  829. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts +0 -110
  830. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts.map +0 -1
  831. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts +0 -153
  832. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts.map +0 -1
  833. package/dist/libs/langchain-core/dist/messages/message.d.ts +0 -598
  834. package/dist/libs/langchain-core/dist/messages/message.d.ts.map +0 -1
  835. package/dist/libs/langchain-core/dist/messages/metadata.d.ts +0 -97
  836. package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +0 -1
  837. package/dist/libs/langchain-core/dist/messages/utils.d.ts +0 -75
  838. package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +0 -1
  839. package/dist/libs/langchain-core/dist/prompt_values.d.ts +0 -13
  840. package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +0 -1
  841. package/dist/libs/langchain-core/dist/utils/types/index.d.ts +0 -10
  842. package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +0 -1
  843. package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +0 -1
  844. package/dist/load/map_keys.d.cts +0 -8
  845. package/dist/load/map_keys.d.cts.map +0 -1
  846. package/dist/load/map_keys.d.ts +0 -8
  847. package/dist/load/map_keys.d.ts.map +0 -1
  848. package/dist/load/serializable.d.cts.map +0 -1
  849. package/dist/load/serializable.d.ts.map +0 -1
  850. package/dist/memory/buffer_memory.cjs +0 -80
  851. package/dist/memory/buffer_memory.cjs.map +0 -1
  852. package/dist/memory/buffer_memory.d.cts +0 -67
  853. package/dist/memory/buffer_memory.d.cts.map +0 -1
  854. package/dist/memory/buffer_memory.d.ts +0 -67
  855. package/dist/memory/buffer_memory.d.ts.map +0 -1
  856. package/dist/memory/buffer_memory.js +0 -79
  857. package/dist/memory/buffer_memory.js.map +0 -1
  858. package/dist/memory/buffer_token_memory.cjs +0 -80
  859. package/dist/memory/buffer_token_memory.cjs.map +0 -1
  860. package/dist/memory/buffer_token_memory.d.cts +0 -67
  861. package/dist/memory/buffer_token_memory.d.cts.map +0 -1
  862. package/dist/memory/buffer_token_memory.d.ts +0 -67
  863. package/dist/memory/buffer_token_memory.d.ts.map +0 -1
  864. package/dist/memory/buffer_token_memory.js +0 -79
  865. package/dist/memory/buffer_token_memory.js.map +0 -1
  866. package/dist/memory/buffer_window_memory.cjs +0 -77
  867. package/dist/memory/buffer_window_memory.cjs.map +0 -1
  868. package/dist/memory/buffer_window_memory.d.cts +0 -64
  869. package/dist/memory/buffer_window_memory.d.cts.map +0 -1
  870. package/dist/memory/buffer_window_memory.d.ts +0 -64
  871. package/dist/memory/buffer_window_memory.d.ts.map +0 -1
  872. package/dist/memory/buffer_window_memory.js +0 -76
  873. package/dist/memory/buffer_window_memory.js.map +0 -1
  874. package/dist/memory/chat_memory.cjs +0 -53
  875. package/dist/memory/chat_memory.cjs.map +0 -1
  876. package/dist/memory/chat_memory.d.cts +0 -42
  877. package/dist/memory/chat_memory.d.cts.map +0 -1
  878. package/dist/memory/chat_memory.d.ts +0 -42
  879. package/dist/memory/chat_memory.d.ts.map +0 -1
  880. package/dist/memory/chat_memory.js +0 -47
  881. package/dist/memory/chat_memory.js.map +0 -1
  882. package/dist/memory/combined_memory.cjs +0 -88
  883. package/dist/memory/combined_memory.cjs.map +0 -1
  884. package/dist/memory/combined_memory.d.cts +0 -60
  885. package/dist/memory/combined_memory.d.cts.map +0 -1
  886. package/dist/memory/combined_memory.d.ts +0 -60
  887. package/dist/memory/combined_memory.d.ts.map +0 -1
  888. package/dist/memory/combined_memory.js +0 -88
  889. package/dist/memory/combined_memory.js.map +0 -1
  890. package/dist/memory/entity_memory.cjs +0 -144
  891. package/dist/memory/entity_memory.cjs.map +0 -1
  892. package/dist/memory/entity_memory.d.cts +0 -99
  893. package/dist/memory/entity_memory.d.cts.map +0 -1
  894. package/dist/memory/entity_memory.d.ts +0 -99
  895. package/dist/memory/entity_memory.d.ts.map +0 -1
  896. package/dist/memory/entity_memory.js +0 -143
  897. package/dist/memory/entity_memory.js.map +0 -1
  898. package/dist/memory/index.cjs +0 -85
  899. package/dist/memory/index.cjs.map +0 -1
  900. package/dist/memory/index.d.cts +0 -14
  901. package/dist/memory/index.d.ts +0 -14
  902. package/dist/memory/index.js +0 -39
  903. package/dist/memory/index.js.map +0 -1
  904. package/dist/memory/prompt.cjs +0 -124
  905. package/dist/memory/prompt.cjs.map +0 -1
  906. package/dist/memory/prompt.d.cts +0 -12
  907. package/dist/memory/prompt.d.cts.map +0 -1
  908. package/dist/memory/prompt.d.ts +0 -12
  909. package/dist/memory/prompt.d.ts.map +0 -1
  910. package/dist/memory/prompt.js +0 -120
  911. package/dist/memory/prompt.js.map +0 -1
  912. package/dist/memory/stores/entity/base.cjs +0 -13
  913. package/dist/memory/stores/entity/base.cjs.map +0 -1
  914. package/dist/memory/stores/entity/base.d.cts +0 -18
  915. package/dist/memory/stores/entity/base.d.cts.map +0 -1
  916. package/dist/memory/stores/entity/base.d.ts +0 -18
  917. package/dist/memory/stores/entity/base.d.ts.map +0 -1
  918. package/dist/memory/stores/entity/base.js +0 -12
  919. package/dist/memory/stores/entity/base.js.map +0 -1
  920. package/dist/memory/stores/entity/in_memory.cjs +0 -64
  921. package/dist/memory/stores/entity/in_memory.cjs.map +0 -1
  922. package/dist/memory/stores/entity/in_memory.js +0 -64
  923. package/dist/memory/stores/entity/in_memory.js.map +0 -1
  924. package/dist/memory/summary.cjs +0 -127
  925. package/dist/memory/summary.cjs.map +0 -1
  926. package/dist/memory/summary.d.cts +0 -101
  927. package/dist/memory/summary.d.cts.map +0 -1
  928. package/dist/memory/summary.d.ts +0 -101
  929. package/dist/memory/summary.d.ts.map +0 -1
  930. package/dist/memory/summary.js +0 -125
  931. package/dist/memory/summary.js.map +0 -1
  932. package/dist/memory/summary_buffer.cjs +0 -117
  933. package/dist/memory/summary_buffer.cjs.map +0 -1
  934. package/dist/memory/summary_buffer.d.cts +0 -90
  935. package/dist/memory/summary_buffer.d.cts.map +0 -1
  936. package/dist/memory/summary_buffer.d.ts +0 -90
  937. package/dist/memory/summary_buffer.d.ts.map +0 -1
  938. package/dist/memory/summary_buffer.js +0 -116
  939. package/dist/memory/summary_buffer.js.map +0 -1
  940. package/dist/memory/vector_store.cjs +0 -87
  941. package/dist/memory/vector_store.cjs.map +0 -1
  942. package/dist/memory/vector_store.d.cts +0 -81
  943. package/dist/memory/vector_store.d.cts.map +0 -1
  944. package/dist/memory/vector_store.d.ts +0 -81
  945. package/dist/memory/vector_store.d.ts.map +0 -1
  946. package/dist/memory/vector_store.js +0 -86
  947. package/dist/memory/vector_store.js.map +0 -1
  948. package/dist/output_parsers/combining.cjs +0 -61
  949. package/dist/output_parsers/combining.cjs.map +0 -1
  950. package/dist/output_parsers/combining.d.cts +0 -46
  951. package/dist/output_parsers/combining.d.cts.map +0 -1
  952. package/dist/output_parsers/combining.d.ts +0 -46
  953. package/dist/output_parsers/combining.d.ts.map +0 -1
  954. package/dist/output_parsers/combining.js +0 -60
  955. package/dist/output_parsers/combining.js.map +0 -1
  956. package/dist/output_parsers/datetime.cjs +0 -46
  957. package/dist/output_parsers/datetime.cjs.map +0 -1
  958. package/dist/output_parsers/datetime.d.cts +0 -33
  959. package/dist/output_parsers/datetime.d.cts.map +0 -1
  960. package/dist/output_parsers/datetime.d.ts +0 -33
  961. package/dist/output_parsers/datetime.d.ts.map +0 -1
  962. package/dist/output_parsers/datetime.js +0 -45
  963. package/dist/output_parsers/datetime.js.map +0 -1
  964. package/dist/output_parsers/expression.cjs +0 -86
  965. package/dist/output_parsers/expression.cjs.map +0 -1
  966. package/dist/output_parsers/expression.d.cts +0 -53
  967. package/dist/output_parsers/expression.d.cts.map +0 -1
  968. package/dist/output_parsers/expression.d.ts +0 -53
  969. package/dist/output_parsers/expression.d.ts.map +0 -1
  970. package/dist/output_parsers/expression.js +0 -79
  971. package/dist/output_parsers/expression.js.map +0 -1
  972. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +0 -38
  973. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +0 -1
  974. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +0 -38
  975. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +0 -1
  976. package/dist/output_parsers/expression_type_handlers/base.cjs +0 -130
  977. package/dist/output_parsers/expression_type_handlers/base.cjs.map +0 -1
  978. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -108
  979. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +0 -1
  980. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -108
  981. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +0 -1
  982. package/dist/output_parsers/expression_type_handlers/base.js +0 -129
  983. package/dist/output_parsers/expression_type_handlers/base.js.map +0 -1
  984. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +0 -38
  985. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +0 -1
  986. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +0 -38
  987. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +0 -1
  988. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +0 -64
  989. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +0 -1
  990. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +0 -64
  991. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +0 -1
  992. package/dist/output_parsers/expression_type_handlers/factory.cjs +0 -68
  993. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +0 -1
  994. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -35
  995. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +0 -1
  996. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -35
  997. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +0 -1
  998. package/dist/output_parsers/expression_type_handlers/factory.js +0 -68
  999. package/dist/output_parsers/expression_type_handlers/factory.js.map +0 -1
  1000. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +0 -299
  1001. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +0 -1
  1002. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js +0 -298
  1003. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +0 -1
  1004. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +0 -40
  1005. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +0 -1
  1006. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +0 -40
  1007. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +0 -1
  1008. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +0 -48
  1009. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +0 -1
  1010. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +0 -48
  1011. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +0 -1
  1012. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +0 -36
  1013. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +0 -1
  1014. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +0 -36
  1015. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +0 -1
  1016. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +0 -40
  1017. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +0 -1
  1018. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +0 -40
  1019. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +0 -1
  1020. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +0 -45
  1021. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +0 -1
  1022. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +0 -45
  1023. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +0 -1
  1024. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +0 -37
  1025. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +0 -1
  1026. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +0 -37
  1027. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +0 -1
  1028. package/dist/output_parsers/expression_type_handlers/types.d.cts +0 -95
  1029. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +0 -1
  1030. package/dist/output_parsers/expression_type_handlers/types.d.ts +0 -95
  1031. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +0 -1
  1032. package/dist/output_parsers/fix.cjs +0 -92
  1033. package/dist/output_parsers/fix.cjs.map +0 -1
  1034. package/dist/output_parsers/fix.d.cts +0 -60
  1035. package/dist/output_parsers/fix.d.cts.map +0 -1
  1036. package/dist/output_parsers/fix.d.ts +0 -60
  1037. package/dist/output_parsers/fix.d.ts.map +0 -1
  1038. package/dist/output_parsers/fix.js +0 -91
  1039. package/dist/output_parsers/fix.js.map +0 -1
  1040. package/dist/output_parsers/http_response.cjs +0 -53
  1041. package/dist/output_parsers/http_response.cjs.map +0 -1
  1042. package/dist/output_parsers/http_response.d.cts +0 -33
  1043. package/dist/output_parsers/http_response.d.cts.map +0 -1
  1044. package/dist/output_parsers/http_response.d.ts +0 -33
  1045. package/dist/output_parsers/http_response.d.ts.map +0 -1
  1046. package/dist/output_parsers/http_response.js +0 -52
  1047. package/dist/output_parsers/http_response.js.map +0 -1
  1048. package/dist/output_parsers/index.cjs +0 -74
  1049. package/dist/output_parsers/index.cjs.map +0 -1
  1050. package/dist/output_parsers/index.d.cts +0 -11
  1051. package/dist/output_parsers/index.d.ts +0 -11
  1052. package/dist/output_parsers/index.js +0 -37
  1053. package/dist/output_parsers/index.js.map +0 -1
  1054. package/dist/output_parsers/noop.cjs +0 -43
  1055. package/dist/output_parsers/noop.cjs.map +0 -1
  1056. package/dist/output_parsers/noop.js +0 -42
  1057. package/dist/output_parsers/noop.js.map +0 -1
  1058. package/dist/output_parsers/openai_functions.cjs +0 -145
  1059. package/dist/output_parsers/openai_functions.cjs.map +0 -1
  1060. package/dist/output_parsers/openai_functions.d.cts +0 -85
  1061. package/dist/output_parsers/openai_functions.d.cts.map +0 -1
  1062. package/dist/output_parsers/openai_functions.d.ts +0 -85
  1063. package/dist/output_parsers/openai_functions.d.ts.map +0 -1
  1064. package/dist/output_parsers/openai_functions.js +0 -142
  1065. package/dist/output_parsers/openai_functions.js.map +0 -1
  1066. package/dist/output_parsers/openai_tools.cjs +0 -89
  1067. package/dist/output_parsers/openai_tools.cjs.map +0 -1
  1068. package/dist/output_parsers/openai_tools.d.cts +0 -69
  1069. package/dist/output_parsers/openai_tools.d.cts.map +0 -1
  1070. package/dist/output_parsers/openai_tools.d.ts +0 -69
  1071. package/dist/output_parsers/openai_tools.d.ts.map +0 -1
  1072. package/dist/output_parsers/openai_tools.js +0 -87
  1073. package/dist/output_parsers/openai_tools.js.map +0 -1
  1074. package/dist/output_parsers/prompts.cjs +0 -25
  1075. package/dist/output_parsers/prompts.cjs.map +0 -1
  1076. package/dist/output_parsers/prompts.js +0 -24
  1077. package/dist/output_parsers/prompts.js.map +0 -1
  1078. package/dist/output_parsers/regex.cjs +0 -74
  1079. package/dist/output_parsers/regex.cjs.map +0 -1
  1080. package/dist/output_parsers/regex.d.cts +0 -49
  1081. package/dist/output_parsers/regex.d.cts.map +0 -1
  1082. package/dist/output_parsers/regex.d.ts +0 -49
  1083. package/dist/output_parsers/regex.d.ts.map +0 -1
  1084. package/dist/output_parsers/regex.js +0 -73
  1085. package/dist/output_parsers/regex.js.map +0 -1
  1086. package/dist/output_parsers/router.cjs +0 -40
  1087. package/dist/output_parsers/router.cjs.map +0 -1
  1088. package/dist/output_parsers/router.d.cts +0 -36
  1089. package/dist/output_parsers/router.d.cts.map +0 -1
  1090. package/dist/output_parsers/router.d.ts +0 -36
  1091. package/dist/output_parsers/router.d.ts.map +0 -1
  1092. package/dist/output_parsers/router.js +0 -39
  1093. package/dist/output_parsers/router.js.map +0 -1
  1094. package/dist/output_parsers/structured.cjs +0 -164
  1095. package/dist/output_parsers/structured.cjs.map +0 -1
  1096. package/dist/output_parsers/structured.d.cts +0 -97
  1097. package/dist/output_parsers/structured.d.cts.map +0 -1
  1098. package/dist/output_parsers/structured.d.ts +0 -97
  1099. package/dist/output_parsers/structured.d.ts.map +0 -1
  1100. package/dist/output_parsers/structured.js +0 -161
  1101. package/dist/output_parsers/structured.js.map +0 -1
  1102. package/dist/retrievers/contextual_compression.cjs +0 -53
  1103. package/dist/retrievers/contextual_compression.cjs.map +0 -1
  1104. package/dist/retrievers/contextual_compression.d.cts +0 -42
  1105. package/dist/retrievers/contextual_compression.d.cts.map +0 -1
  1106. package/dist/retrievers/contextual_compression.d.ts +0 -42
  1107. package/dist/retrievers/contextual_compression.d.ts.map +0 -1
  1108. package/dist/retrievers/contextual_compression.js +0 -47
  1109. package/dist/retrievers/contextual_compression.js.map +0 -1
  1110. package/dist/retrievers/document_compressors/chain_extract.cjs +0 -103
  1111. package/dist/retrievers/document_compressors/chain_extract.cjs.map +0 -1
  1112. package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -47
  1113. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +0 -1
  1114. package/dist/retrievers/document_compressors/chain_extract.d.ts +0 -47
  1115. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +0 -1
  1116. package/dist/retrievers/document_compressors/chain_extract.js +0 -97
  1117. package/dist/retrievers/document_compressors/chain_extract.js.map +0 -1
  1118. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +0 -16
  1119. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +0 -1
  1120. package/dist/retrievers/document_compressors/chain_extract_prompt.js +0 -15
  1121. package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +0 -1
  1122. package/dist/retrievers/document_compressors/embeddings_filter.cjs +0 -74
  1123. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +0 -1
  1124. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -58
  1125. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +0 -1
  1126. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -58
  1127. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +0 -1
  1128. package/dist/retrievers/document_compressors/embeddings_filter.js +0 -68
  1129. package/dist/retrievers/document_compressors/embeddings_filter.js.map +0 -1
  1130. package/dist/retrievers/document_compressors/index.cjs +0 -69
  1131. package/dist/retrievers/document_compressors/index.cjs.map +0 -1
  1132. package/dist/retrievers/document_compressors/index.d.cts +0 -61
  1133. package/dist/retrievers/document_compressors/index.d.cts.map +0 -1
  1134. package/dist/retrievers/document_compressors/index.d.ts +0 -61
  1135. package/dist/retrievers/document_compressors/index.d.ts.map +0 -1
  1136. package/dist/retrievers/document_compressors/index.js +0 -62
  1137. package/dist/retrievers/document_compressors/index.js.map +0 -1
  1138. package/dist/retrievers/ensemble.cjs +0 -76
  1139. package/dist/retrievers/ensemble.cjs.map +0 -1
  1140. package/dist/retrievers/ensemble.d.cts +0 -39
  1141. package/dist/retrievers/ensemble.d.cts.map +0 -1
  1142. package/dist/retrievers/ensemble.d.ts +0 -39
  1143. package/dist/retrievers/ensemble.d.ts.map +0 -1
  1144. package/dist/retrievers/ensemble.js +0 -70
  1145. package/dist/retrievers/ensemble.js.map +0 -1
  1146. package/dist/retrievers/hyde.cjs +0 -128
  1147. package/dist/retrievers/hyde.cjs.map +0 -1
  1148. package/dist/retrievers/hyde.d.cts +0 -61
  1149. package/dist/retrievers/hyde.d.cts.map +0 -1
  1150. package/dist/retrievers/hyde.d.ts +0 -61
  1151. package/dist/retrievers/hyde.d.ts.map +0 -1
  1152. package/dist/retrievers/hyde.js +0 -121
  1153. package/dist/retrievers/hyde.js.map +0 -1
  1154. package/dist/retrievers/matryoshka_retriever.cjs +0 -116
  1155. package/dist/retrievers/matryoshka_retriever.cjs.map +0 -1
  1156. package/dist/retrievers/matryoshka_retriever.d.cts +0 -99
  1157. package/dist/retrievers/matryoshka_retriever.d.cts.map +0 -1
  1158. package/dist/retrievers/matryoshka_retriever.d.ts +0 -99
  1159. package/dist/retrievers/matryoshka_retriever.d.ts.map +0 -1
  1160. package/dist/retrievers/matryoshka_retriever.js +0 -110
  1161. package/dist/retrievers/matryoshka_retriever.js.map +0 -1
  1162. package/dist/retrievers/multi_query.cjs +0 -150
  1163. package/dist/retrievers/multi_query.cjs.map +0 -1
  1164. package/dist/retrievers/multi_query.d.cts +0 -59
  1165. package/dist/retrievers/multi_query.d.cts.map +0 -1
  1166. package/dist/retrievers/multi_query.d.ts +0 -59
  1167. package/dist/retrievers/multi_query.d.ts.map +0 -1
  1168. package/dist/retrievers/multi_query.js +0 -144
  1169. package/dist/retrievers/multi_query.js.map +0 -1
  1170. package/dist/retrievers/multi_vector.cjs +0 -67
  1171. package/dist/retrievers/multi_vector.cjs.map +0 -1
  1172. package/dist/retrievers/multi_vector.d.cts +0 -51
  1173. package/dist/retrievers/multi_vector.d.cts.map +0 -1
  1174. package/dist/retrievers/multi_vector.d.ts +0 -51
  1175. package/dist/retrievers/multi_vector.d.ts.map +0 -1
  1176. package/dist/retrievers/multi_vector.js +0 -61
  1177. package/dist/retrievers/multi_vector.js.map +0 -1
  1178. package/dist/retrievers/parent_document.cjs +0 -137
  1179. package/dist/retrievers/parent_document.cjs.map +0 -1
  1180. package/dist/retrievers/parent_document.d.cts +0 -92
  1181. package/dist/retrievers/parent_document.d.cts.map +0 -1
  1182. package/dist/retrievers/parent_document.d.ts +0 -92
  1183. package/dist/retrievers/parent_document.d.ts.map +0 -1
  1184. package/dist/retrievers/parent_document.js +0 -131
  1185. package/dist/retrievers/parent_document.js.map +0 -1
  1186. package/dist/retrievers/score_threshold.cjs +0 -43
  1187. package/dist/retrievers/score_threshold.cjs.map +0 -1
  1188. package/dist/retrievers/score_threshold.d.cts +0 -20
  1189. package/dist/retrievers/score_threshold.d.cts.map +0 -1
  1190. package/dist/retrievers/score_threshold.d.ts +0 -20
  1191. package/dist/retrievers/score_threshold.d.ts.map +0 -1
  1192. package/dist/retrievers/score_threshold.js +0 -37
  1193. package/dist/retrievers/score_threshold.js.map +0 -1
  1194. package/dist/retrievers/self_query/functional.cjs +0 -21
  1195. package/dist/retrievers/self_query/functional.cjs.map +0 -1
  1196. package/dist/retrievers/self_query/functional.d.cts +0 -2
  1197. package/dist/retrievers/self_query/functional.d.ts +0 -2
  1198. package/dist/retrievers/self_query/functional.js +0 -10
  1199. package/dist/retrievers/self_query/functional.js.map +0 -1
  1200. package/dist/retrievers/self_query/index.cjs +0 -130
  1201. package/dist/retrievers/self_query/index.cjs.map +0 -1
  1202. package/dist/retrievers/self_query/index.d.cts +0 -79
  1203. package/dist/retrievers/self_query/index.d.cts.map +0 -1
  1204. package/dist/retrievers/self_query/index.d.ts +0 -79
  1205. package/dist/retrievers/self_query/index.d.ts.map +0 -1
  1206. package/dist/retrievers/self_query/index.js +0 -106
  1207. package/dist/retrievers/self_query/index.js.map +0 -1
  1208. package/dist/retrievers/time_weighted.cjs +0 -236
  1209. package/dist/retrievers/time_weighted.cjs.map +0 -1
  1210. package/dist/retrievers/time_weighted.d.cts +0 -142
  1211. package/dist/retrievers/time_weighted.d.cts.map +0 -1
  1212. package/dist/retrievers/time_weighted.d.ts +0 -142
  1213. package/dist/retrievers/time_weighted.d.ts.map +0 -1
  1214. package/dist/retrievers/time_weighted.js +0 -228
  1215. package/dist/retrievers/time_weighted.js.map +0 -1
  1216. package/dist/sql_db.cjs +0 -119
  1217. package/dist/sql_db.cjs.map +0 -1
  1218. package/dist/sql_db.d.cts +0 -60
  1219. package/dist/sql_db.d.cts.map +0 -1
  1220. package/dist/sql_db.d.ts +0 -60
  1221. package/dist/sql_db.d.ts.map +0 -1
  1222. package/dist/sql_db.js +0 -113
  1223. package/dist/sql_db.js.map +0 -1
  1224. package/dist/stores/doc/base.cjs +0 -20
  1225. package/dist/stores/doc/base.cjs.map +0 -1
  1226. package/dist/stores/doc/base.d.cts +0 -15
  1227. package/dist/stores/doc/base.d.cts.map +0 -1
  1228. package/dist/stores/doc/base.d.ts +0 -15
  1229. package/dist/stores/doc/base.d.ts.map +0 -1
  1230. package/dist/stores/doc/base.js +0 -14
  1231. package/dist/stores/doc/base.js.map +0 -1
  1232. package/dist/stores/doc/in_memory.cjs +0 -94
  1233. package/dist/stores/doc/in_memory.cjs.map +0 -1
  1234. package/dist/stores/doc/in_memory.d.cts +0 -53
  1235. package/dist/stores/doc/in_memory.d.cts.map +0 -1
  1236. package/dist/stores/doc/in_memory.d.ts +0 -53
  1237. package/dist/stores/doc/in_memory.d.ts.map +0 -1
  1238. package/dist/stores/doc/in_memory.js +0 -87
  1239. package/dist/stores/doc/in_memory.js.map +0 -1
  1240. package/dist/stores/file/base.cjs +0 -13
  1241. package/dist/stores/file/base.cjs.map +0 -1
  1242. package/dist/stores/file/base.d.cts +0 -15
  1243. package/dist/stores/file/base.d.cts.map +0 -1
  1244. package/dist/stores/file/base.d.ts +0 -15
  1245. package/dist/stores/file/base.d.ts.map +0 -1
  1246. package/dist/stores/file/base.js +0 -12
  1247. package/dist/stores/file/base.js.map +0 -1
  1248. package/dist/stores/file/in_memory.cjs +0 -53
  1249. package/dist/stores/file/in_memory.cjs.map +0 -1
  1250. package/dist/stores/file/in_memory.d.cts +0 -33
  1251. package/dist/stores/file/in_memory.d.cts.map +0 -1
  1252. package/dist/stores/file/in_memory.d.ts +0 -33
  1253. package/dist/stores/file/in_memory.d.ts.map +0 -1
  1254. package/dist/stores/file/in_memory.js +0 -47
  1255. package/dist/stores/file/in_memory.js.map +0 -1
  1256. package/dist/stores/file/node.cjs +0 -52
  1257. package/dist/stores/file/node.cjs.map +0 -1
  1258. package/dist/stores/file/node.d.cts +0 -29
  1259. package/dist/stores/file/node.d.cts.map +0 -1
  1260. package/dist/stores/file/node.d.ts +0 -29
  1261. package/dist/stores/file/node.d.ts.map +0 -1
  1262. package/dist/stores/file/node.js +0 -46
  1263. package/dist/stores/file/node.js.map +0 -1
  1264. package/dist/stores/message/in_memory.cjs +0 -21
  1265. package/dist/stores/message/in_memory.cjs.map +0 -1
  1266. package/dist/stores/message/in_memory.d.cts +0 -2
  1267. package/dist/stores/message/in_memory.d.ts +0 -2
  1268. package/dist/stores/message/in_memory.js +0 -10
  1269. package/dist/stores/message/in_memory.js.map +0 -1
  1270. package/dist/text_splitter.cjs +0 -22
  1271. package/dist/text_splitter.cjs.map +0 -1
  1272. package/dist/text_splitter.d.cts +0 -1
  1273. package/dist/text_splitter.d.ts +0 -1
  1274. package/dist/text_splitter.js +0 -12
  1275. package/dist/text_splitter.js.map +0 -1
  1276. package/dist/tools/chain.cjs +0 -36
  1277. package/dist/tools/chain.cjs.map +0 -1
  1278. package/dist/tools/chain.d.cts +0 -32
  1279. package/dist/tools/chain.d.cts.map +0 -1
  1280. package/dist/tools/chain.d.ts +0 -32
  1281. package/dist/tools/chain.d.ts.map +0 -1
  1282. package/dist/tools/chain.js +0 -30
  1283. package/dist/tools/chain.js.map +0 -1
  1284. package/dist/tools/fs.cjs +0 -56
  1285. package/dist/tools/fs.cjs.map +0 -1
  1286. package/dist/tools/fs.d.cts +0 -92
  1287. package/dist/tools/fs.d.cts.map +0 -1
  1288. package/dist/tools/fs.d.ts +0 -92
  1289. package/dist/tools/fs.d.ts.map +0 -1
  1290. package/dist/tools/fs.js +0 -54
  1291. package/dist/tools/fs.js.map +0 -1
  1292. package/dist/tools/index.cjs +0 -68
  1293. package/dist/tools/index.cjs.map +0 -1
  1294. package/dist/tools/index.d.cts +0 -8
  1295. package/dist/tools/index.d.ts +0 -8
  1296. package/dist/tools/index.js +0 -30
  1297. package/dist/tools/index.js.map +0 -1
  1298. package/dist/tools/json.cjs +0 -107
  1299. package/dist/tools/json.cjs.map +0 -1
  1300. package/dist/tools/json.d.cts +0 -65
  1301. package/dist/tools/json.d.cts.map +0 -1
  1302. package/dist/tools/json.d.ts +0 -65
  1303. package/dist/tools/json.d.ts.map +0 -1
  1304. package/dist/tools/json.js +0 -104
  1305. package/dist/tools/json.js.map +0 -1
  1306. package/dist/tools/render.cjs +0 -55
  1307. package/dist/tools/render.cjs.map +0 -1
  1308. package/dist/tools/render.d.cts +0 -32
  1309. package/dist/tools/render.d.cts.map +0 -1
  1310. package/dist/tools/render.d.ts +0 -32
  1311. package/dist/tools/render.d.ts.map +0 -1
  1312. package/dist/tools/render.js +0 -48
  1313. package/dist/tools/render.js.map +0 -1
  1314. package/dist/tools/requests.cjs +0 -73
  1315. package/dist/tools/requests.cjs.map +0 -1
  1316. package/dist/tools/requests.d.cts +0 -56
  1317. package/dist/tools/requests.d.cts.map +0 -1
  1318. package/dist/tools/requests.d.ts +0 -56
  1319. package/dist/tools/requests.d.ts.map +0 -1
  1320. package/dist/tools/requests.js +0 -71
  1321. package/dist/tools/requests.js.map +0 -1
  1322. package/dist/tools/retriever.cjs +0 -30
  1323. package/dist/tools/retriever.cjs.map +0 -1
  1324. package/dist/tools/retriever.d.cts +0 -19
  1325. package/dist/tools/retriever.d.cts.map +0 -1
  1326. package/dist/tools/retriever.d.ts +0 -19
  1327. package/dist/tools/retriever.d.ts.map +0 -1
  1328. package/dist/tools/retriever.js +0 -24
  1329. package/dist/tools/retriever.js.map +0 -1
  1330. package/dist/tools/sql.cjs +0 -165
  1331. package/dist/tools/sql.cjs.map +0 -1
  1332. package/dist/tools/sql.d.cts +0 -86
  1333. package/dist/tools/sql.d.cts.map +0 -1
  1334. package/dist/tools/sql.d.ts +0 -86
  1335. package/dist/tools/sql.d.ts.map +0 -1
  1336. package/dist/tools/sql.js +0 -156
  1337. package/dist/tools/sql.js.map +0 -1
  1338. package/dist/tools/vectorstore.cjs +0 -45
  1339. package/dist/tools/vectorstore.cjs.map +0 -1
  1340. package/dist/tools/vectorstore.d.cts +0 -40
  1341. package/dist/tools/vectorstore.d.cts.map +0 -1
  1342. package/dist/tools/vectorstore.d.ts +0 -40
  1343. package/dist/tools/vectorstore.d.ts.map +0 -1
  1344. package/dist/tools/vectorstore.js +0 -44
  1345. package/dist/tools/vectorstore.js.map +0 -1
  1346. package/dist/tools/webbrowser.cjs +0 -176
  1347. package/dist/tools/webbrowser.cjs.map +0 -1
  1348. package/dist/tools/webbrowser.d.cts +0 -69
  1349. package/dist/tools/webbrowser.d.cts.map +0 -1
  1350. package/dist/tools/webbrowser.d.ts +0 -69
  1351. package/dist/tools/webbrowser.d.ts.map +0 -1
  1352. package/dist/tools/webbrowser.js +0 -168
  1353. package/dist/tools/webbrowser.js.map +0 -1
  1354. package/dist/types/expression-parser.d.cts +0 -91
  1355. package/dist/types/expression-parser.d.cts.map +0 -1
  1356. package/dist/types/expression-parser.d.ts +0 -91
  1357. package/dist/types/expression-parser.d.ts.map +0 -1
  1358. package/dist/types/type-utils.d.cts +0 -7
  1359. package/dist/types/type-utils.d.cts.map +0 -1
  1360. package/dist/types/type-utils.d.ts +0 -7
  1361. package/dist/types/type-utils.d.ts.map +0 -1
  1362. package/dist/util/document.cjs +0 -23
  1363. package/dist/util/document.cjs.map +0 -1
  1364. package/dist/util/document.d.cts +0 -15
  1365. package/dist/util/document.d.cts.map +0 -1
  1366. package/dist/util/document.d.ts +0 -15
  1367. package/dist/util/document.d.ts.map +0 -1
  1368. package/dist/util/document.js +0 -17
  1369. package/dist/util/document.js.map +0 -1
  1370. package/dist/util/entrypoint_deprecation.cjs +0 -1
  1371. package/dist/util/entrypoint_deprecation.js +0 -1
  1372. package/dist/util/env.cjs +0 -2
  1373. package/dist/util/env.js +0 -1
  1374. package/dist/util/extname.cjs +0 -7
  1375. package/dist/util/extname.cjs.map +0 -1
  1376. package/dist/util/extname.js +0 -6
  1377. package/dist/util/extname.js.map +0 -1
  1378. package/dist/util/hub.cjs +0 -39
  1379. package/dist/util/hub.cjs.map +0 -1
  1380. package/dist/util/hub.js +0 -38
  1381. package/dist/util/hub.js.map +0 -1
  1382. package/dist/util/load.cjs +0 -15
  1383. package/dist/util/load.cjs.map +0 -1
  1384. package/dist/util/load.d.cts +0 -6
  1385. package/dist/util/load.d.cts.map +0 -1
  1386. package/dist/util/load.d.ts +0 -6
  1387. package/dist/util/load.d.ts.map +0 -1
  1388. package/dist/util/load.js +0 -14
  1389. package/dist/util/load.js.map +0 -1
  1390. package/dist/util/math.cjs +0 -22
  1391. package/dist/util/math.cjs.map +0 -1
  1392. package/dist/util/math.d.cts +0 -1
  1393. package/dist/util/math.d.ts +0 -1
  1394. package/dist/util/math.js +0 -12
  1395. package/dist/util/math.js.map +0 -1
  1396. package/dist/util/ml-distance/distances.cjs +0 -35
  1397. package/dist/util/ml-distance/distances.cjs.map +0 -1
  1398. package/dist/util/ml-distance/distances.js +0 -33
  1399. package/dist/util/ml-distance/distances.js.map +0 -1
  1400. package/dist/util/ml-distance/similarities.cjs +0 -23
  1401. package/dist/util/ml-distance/similarities.cjs.map +0 -1
  1402. package/dist/util/ml-distance/similarities.d.cts +0 -11
  1403. package/dist/util/ml-distance/similarities.d.cts.map +0 -1
  1404. package/dist/util/ml-distance/similarities.d.ts +0 -11
  1405. package/dist/util/ml-distance/similarities.d.ts.map +0 -1
  1406. package/dist/util/ml-distance/similarities.js +0 -22
  1407. package/dist/util/ml-distance/similarities.js.map +0 -1
  1408. package/dist/util/ml-distance-euclidean/euclidean.cjs +0 -14
  1409. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +0 -1
  1410. package/dist/util/ml-distance-euclidean/euclidean.js +0 -13
  1411. package/dist/util/ml-distance-euclidean/euclidean.js.map +0 -1
  1412. package/dist/util/openapi.cjs +0 -149
  1413. package/dist/util/openapi.cjs.map +0 -1
  1414. package/dist/util/openapi.d.cts +0 -83
  1415. package/dist/util/openapi.d.cts.map +0 -1
  1416. package/dist/util/openapi.d.ts +0 -83
  1417. package/dist/util/openapi.d.ts.map +0 -1
  1418. package/dist/util/openapi.js +0 -148
  1419. package/dist/util/openapi.js.map +0 -1
  1420. package/dist/util/parse.cjs +0 -22
  1421. package/dist/util/parse.cjs.map +0 -1
  1422. package/dist/util/parse.js +0 -21
  1423. package/dist/util/parse.js.map +0 -1
  1424. package/dist/util/set.cjs +0 -35
  1425. package/dist/util/set.cjs.map +0 -1
  1426. package/dist/util/set.js +0 -32
  1427. package/dist/util/set.js.map +0 -1
  1428. package/dist/util/sql_utils.cjs +0 -178
  1429. package/dist/util/sql_utils.cjs.map +0 -1
  1430. package/dist/util/sql_utils.d.cts +0 -31
  1431. package/dist/util/sql_utils.d.cts.map +0 -1
  1432. package/dist/util/sql_utils.d.ts +0 -31
  1433. package/dist/util/sql_utils.d.ts.map +0 -1
  1434. package/dist/util/sql_utils.js +0 -173
  1435. package/dist/util/sql_utils.js.map +0 -1
  1436. package/dist/util/time.cjs +0 -25
  1437. package/dist/util/time.cjs.map +0 -1
  1438. package/dist/util/time.d.cts +0 -10
  1439. package/dist/util/time.d.cts.map +0 -1
  1440. package/dist/util/time.d.ts +0 -10
  1441. package/dist/util/time.d.ts.map +0 -1
  1442. package/dist/util/time.js +0 -19
  1443. package/dist/util/time.js.map +0 -1
  1444. package/dist/vectorstores/memory.cjs +0 -265
  1445. package/dist/vectorstores/memory.cjs.map +0 -1
  1446. package/dist/vectorstores/memory.d.cts +0 -216
  1447. package/dist/vectorstores/memory.d.cts.map +0 -1
  1448. package/dist/vectorstores/memory.d.ts +0 -216
  1449. package/dist/vectorstores/memory.d.ts.map +0 -1
  1450. package/dist/vectorstores/memory.js +0 -259
  1451. package/dist/vectorstores/memory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AgentNode.js","names":["options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>","#run","#options","#structuredToolInfo","state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"]","config: RunnableConfig","#invokeModel","#areMoreStepsNeeded","options: {\n lastMessage?: string;\n }","#deriveModel","#executePrepareModelRequestHooks","#bindTools","#getModelInputState","#handleMultipleStructuredOutputs","#handleSingleStructuredOutput","response: AIMessage","toolCalls: ToolCall[]","#handleToolStrategyError","toolCall: ToolCall","lastMessage?: string","error: ToolStrategyError","response: BaseMessage","model: LanguageModelLike","config: LangGraphRunnableConfig","systemMessage: BaseMessage | undefined","currentOptions: ModelRequest","runtime: Runtime<any>","preparedOptions?: ModelRequest","options: Partial<BaseChatModelCallOptions>"],"sources":["../../../../src/agents/middlewareAgent/nodes/AgentNode.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-instanceof/no-instanceof */\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport {\n BaseMessage,\n AIMessage,\n ToolMessage,\n SystemMessage,\n} from \"@langchain/core/messages\";\nimport { z } from \"zod/v3\";\nimport { Command, type LangGraphRunnableConfig } from \"@langchain/langgraph\";\nimport { type LanguageModelLike } from \"@langchain/core/language_models/base\";\nimport { type BaseChatModelCallOptions } from \"@langchain/core/language_models/chat_models\";\nimport {\n InteropZodObject,\n getSchemaDescription,\n} from \"@langchain/core/utils/types\";\nimport type { ToolCall } from \"@langchain/core/messages/tool\";\n\nimport { initChatModel } from \"../../../chat_models/universal.js\";\nimport { MultipleStructuredOutputsError } from \"../../errors.js\";\nimport { RunnableCallable } from \"../../RunnableCallable.js\";\nimport { PreHookAnnotation, AnyAnnotationRoot } from \"../../annotation.js\";\nimport {\n bindTools,\n getPromptRunnable,\n validateLLMHasNoBoundTools,\n hasToolCalls,\n hasSupportForJsonSchemaOutput,\n} from \"../../utils.js\";\nimport { mergeAbortSignals } from \"../../nodes/utils.js\";\nimport {\n ModelRequest,\n CreateAgentParams,\n InternalAgentState,\n Runtime,\n AgentMiddleware,\n} from \"../types.js\";\nimport type { ClientTool, ServerTool } from \"../../types.js\";\nimport { withAgentName } from \"../../withAgentName.js\";\nimport {\n ToolStrategy,\n ProviderStrategy,\n transformResponseFormat,\n ToolStrategyError,\n} from \"../../responses.js\";\nimport { parseToolCalls, parseToolResults } from \"./utils.js\";\n\ntype ResponseHandlerResult<StructuredResponseFormat> =\n | {\n structuredResponse: StructuredResponseFormat;\n messages: BaseMessage[];\n }\n | Promise<Command>;\n\nexport interface AgentNodeOptions<\n StructuredResponseFormat extends Record<string, unknown> = Record<\n string,\n unknown\n >,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> extends Pick<\n CreateAgentParams<StructuredResponseFormat, ContextSchema>,\n | \"llm\"\n | \"model\"\n | \"prompt\"\n | \"includeAgentName\"\n | \"name\"\n | \"responseFormat\"\n | \"middleware\"\n > {\n toolClasses: (ClientTool | ServerTool)[];\n shouldReturnDirect: Set<string>;\n signal?: AbortSignal;\n prepareModelRequestHookMiddleware?: [\n AgentMiddleware<any, any, any>,\n () => any\n ][];\n}\n\nexport class AgentNode<\n StructuredResponseFormat extends Record<string, unknown> = Record<\n string,\n unknown\n >,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> extends RunnableCallable<\n InternalAgentState<StructuredResponseFormat> & PreHookAnnotation[\"State\"],\n { messages: BaseMessage[] } | { structuredResponse: StructuredResponseFormat }\n> {\n #options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>;\n\n #structuredToolInfo: Record<string, ToolStrategy> = {};\n\n constructor(\n options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>\n ) {\n super({\n name: options.name ?? \"model\",\n func: (input, config) =>\n this.#run(input, config as RunnableConfig) as any,\n });\n\n this.#options = options;\n\n /**\n * Populate a list of structured tool info.\n */\n this.#structuredToolInfo = (\n transformResponseFormat(this.#options.responseFormat).filter(\n (format) => format instanceof ToolStrategy\n ) as ToolStrategy[]\n ).reduce((acc, format) => {\n acc[format.name] = format;\n return acc;\n }, {} as Record<string, ToolStrategy>);\n }\n\n async #run(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: RunnableConfig\n ) {\n /**\n * Check if we just executed a returnDirect tool\n * If so, we should generate structured response (if needed) and stop\n */\n const lastMessage = state.messages.at(-1);\n if (\n lastMessage &&\n ToolMessage.isInstance(lastMessage) &&\n lastMessage.name &&\n this.#options.shouldReturnDirect.has(lastMessage.name)\n ) {\n /**\n * return directly without invoking the model again\n */\n return { messages: [] };\n }\n\n const response = await this.#invokeModel(state, config);\n\n /**\n * if we were able to generate a structured response, return it\n */\n if (\"structuredResponse\" in response) {\n return {\n messages: [...state.messages, ...(response.messages || [])],\n structuredResponse: response.structuredResponse,\n };\n }\n\n /**\n * if we need to direct the agent to the model, return the update\n */\n if (response instanceof Command) {\n return response;\n }\n\n response.name = this.name;\n response.lc_kwargs.name = this.name;\n\n if (this.#areMoreStepsNeeded(state, response)) {\n return {\n messages: [\n new AIMessage({\n content: \"Sorry, need more steps to process this request.\",\n name: this.name,\n id: response.id,\n }),\n ],\n };\n }\n\n return { messages: [response] };\n }\n\n /**\n * Derive the model from the options.\n * @param state - The state of the agent.\n * @param config - The config of the agent.\n * @returns The model.\n */\n #deriveModel(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: RunnableConfig\n ) {\n if (this.#options.model) {\n if (typeof this.#options.model === \"string\") {\n return initChatModel(this.#options.model);\n }\n\n throw new Error(\"`model` option must be a string.\");\n }\n\n const model = this.#options.llm;\n\n /**\n * If the model is a function, call it to get the model.\n */\n if (typeof model === \"function\") {\n return model(state, config);\n }\n\n if (model) {\n return model;\n }\n\n throw new Error(\n \"No model option was provided, either via `model` or via `llm` option.\"\n );\n }\n\n async #invokeModel(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: RunnableConfig,\n options: {\n lastMessage?: string;\n } = {}\n ): Promise<AIMessage | ResponseHandlerResult<StructuredResponseFormat>> {\n const model = await this.#deriveModel(state, config);\n\n /**\n * Execute prepareModelRequest hooks from beforeModelNodes\n */\n const preparedOptions = await this.#executePrepareModelRequestHooks(\n model,\n state,\n config\n );\n\n /**\n * If user provides a model in the preparedOptions, use it,\n * otherwise use the model from the options\n */\n const finalModel = preparedOptions?.model ?? model;\n\n /**\n * Check if the LLM already has bound tools and throw if it does.\n */\n validateLLMHasNoBoundTools(finalModel);\n\n const modelWithTools = await this.#bindTools(finalModel, preparedOptions);\n let modelInput = this.#getModelInputState(state);\n\n // Use messages from preparedOptions if provided\n if (preparedOptions?.messages) {\n modelInput = { ...modelInput, messages: preparedOptions.messages };\n }\n\n const signal = mergeAbortSignals(this.#options.signal, config.signal);\n const invokeConfig = { ...config, signal };\n const response = (await modelWithTools.invoke(\n modelInput,\n invokeConfig\n )) as AIMessage;\n\n /**\n * if the user requests a native schema output, try to parse the response\n * and return the structured response if it is valid\n */\n if (this.#options.responseFormat instanceof ProviderStrategy) {\n const structuredResponse = this.#options.responseFormat.parse(response);\n if (structuredResponse) {\n return { structuredResponse, messages: [response] };\n }\n }\n\n if (!response.tool_calls) {\n return response;\n }\n\n const toolCalls = response.tool_calls.filter(\n (call) => call.name in this.#structuredToolInfo\n );\n\n /**\n * if there were not structured tool calls, we can return the response\n */\n if (toolCalls.length === 0) {\n return response;\n }\n\n /**\n * if there were multiple structured tool calls, we should throw an error as this\n * scenario is not defined/supported.\n */\n if (toolCalls.length > 1) {\n return this.#handleMultipleStructuredOutputs(response, toolCalls);\n }\n\n const toolStrategy = this.#structuredToolInfo[toolCalls[0].name];\n const toolMessageContent = toolStrategy?.options?.toolMessageContent;\n return this.#handleSingleStructuredOutput(\n response,\n toolCalls[0],\n toolMessageContent ?? options.lastMessage\n );\n }\n\n /**\n * If the model returns multiple structured outputs, we need to handle it.\n * @param response - The response from the model\n * @param toolCalls - The tool calls that were made\n * @returns The response from the model\n */\n #handleMultipleStructuredOutputs(\n response: AIMessage,\n toolCalls: ToolCall[]\n ): Promise<Command> {\n /**\n * the following should never happen, let's throw an error if it does\n */\n if (this.#options.responseFormat instanceof ProviderStrategy) {\n throw new Error(\n \"Multiple structured outputs should not apply to native structured output responses\"\n );\n }\n\n const multipleStructuredOutputsError = new MultipleStructuredOutputsError(\n toolCalls.map((call) => call.name)\n );\n\n return this.#handleToolStrategyError(\n multipleStructuredOutputsError,\n response,\n toolCalls[0]\n );\n }\n\n /**\n * If the model returns a single structured output, we need to handle it.\n * @param toolCall - The tool call that was made\n * @returns The structured response and a message to the LLM if needed\n */\n #handleSingleStructuredOutput(\n response: AIMessage,\n toolCall: ToolCall,\n lastMessage?: string\n ): ResponseHandlerResult<StructuredResponseFormat> {\n const tool = this.#structuredToolInfo[toolCall.name];\n\n try {\n const structuredResponse = tool.parse(\n toolCall.args\n ) as StructuredResponseFormat;\n\n return {\n structuredResponse,\n messages: [\n response,\n new AIMessage(\n lastMessage ??\n `Returning structured response: ${JSON.stringify(\n structuredResponse\n )}`\n ),\n ],\n };\n } catch (error) {\n return this.#handleToolStrategyError(\n error as ToolStrategyError,\n response,\n toolCall\n );\n }\n }\n\n async #handleToolStrategyError(\n error: ToolStrategyError,\n response: AIMessage,\n toolCall: ToolCall\n ): Promise<Command> {\n /**\n * Using the `errorHandler` option of the first `ToolStrategy` entry is sufficient here.\n * There is technically only one `ToolStrategy` entry in `structuredToolInfo` if the user\n * uses `toolStrategy` to define the response format. If the user applies a list of json\n * schema objects, these will be transformed into multiple `ToolStrategy` entries but all\n * with the same `handleError` option.\n */\n const errorHandler = Object.values(this.#structuredToolInfo).at(0)?.options\n ?.handleError;\n\n const toolCallId = toolCall.id;\n if (!toolCallId) {\n throw new Error(\n \"Tool call ID is required to handle tool output errors. Please provide a tool call ID.\"\n );\n }\n\n /**\n * retry if:\n */\n if (\n /**\n * if the user has provided `true` as the `errorHandler` option, return a new AIMessage\n * with the error message and retry the tool call.\n */\n (typeof errorHandler === \"boolean\" && errorHandler) ||\n /**\n * if `errorHandler` is an array and contains MultipleStructuredOutputsError\n */\n (Array.isArray(errorHandler) &&\n errorHandler.some((h) => h instanceof MultipleStructuredOutputsError))\n ) {\n return new Command({\n update: {\n messages: [\n response,\n new ToolMessage({\n content: error.message,\n tool_call_id: toolCallId,\n }),\n ],\n },\n goto: \"model\",\n });\n }\n\n /**\n * if `errorHandler` is a string, retry the tool call with given string\n */\n if (typeof errorHandler === \"string\") {\n return new Command({\n update: {\n messages: [\n response,\n new ToolMessage({\n content: errorHandler,\n tool_call_id: toolCallId,\n }),\n ],\n },\n goto: \"model\",\n });\n }\n\n /**\n * if `errorHandler` is a function, retry the tool call with the function\n */\n if (typeof errorHandler === \"function\") {\n const content = await errorHandler(error);\n if (typeof content !== \"string\") {\n throw new Error(\"Error handler must return a string.\");\n }\n\n return new Command({\n update: {\n messages: [\n response,\n new ToolMessage({\n content,\n tool_call_id: toolCallId,\n }),\n ],\n },\n goto: \"model\",\n });\n }\n\n /**\n * throw otherwise, e.g. if `errorHandler` is not defined or set to `false`\n */\n throw error;\n }\n\n #areMoreStepsNeeded(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n response: BaseMessage\n ): boolean {\n const allToolsReturnDirect =\n AIMessage.isInstance(response) &&\n response.tool_calls?.every((call) =>\n this.#options.shouldReturnDirect.has(call.name)\n );\n const remainingSteps =\n \"remainingSteps\" in state ? (state.remainingSteps as number) : undefined;\n return Boolean(\n remainingSteps &&\n ((remainingSteps < 1 && allToolsReturnDirect) ||\n (remainingSteps < 2 && hasToolCalls(state.messages)))\n );\n }\n\n #getModelInputState(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"]\n ): Omit<InternalAgentState<StructuredResponseFormat>, \"llmInputMessages\"> {\n const { messages, llmInputMessages, ...rest } = state;\n if (llmInputMessages && llmInputMessages.length > 0) {\n return { messages: llmInputMessages, ...rest } as Omit<\n InternalAgentState<StructuredResponseFormat>,\n \"llmInputMessages\"\n >;\n }\n return { messages, ...rest } as Omit<\n InternalAgentState<StructuredResponseFormat>,\n \"llmInputMessages\"\n >;\n }\n\n async #executePrepareModelRequestHooks(\n model: LanguageModelLike,\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: LangGraphRunnableConfig\n ): Promise<ModelRequest | undefined> {\n if (\n !this.#options.prepareModelRequestHookMiddleware ||\n this.#options.prepareModelRequestHookMiddleware.length === 0\n ) {\n return undefined;\n }\n\n // Get the prompt for system message\n let systemMessage: BaseMessage | undefined;\n if (typeof this.#options.prompt === \"string\") {\n systemMessage = new SystemMessage(this.#options.prompt);\n } else if (BaseMessage.isInstance(this.#options.prompt)) {\n systemMessage = this.#options.prompt;\n }\n\n // Prepare the initial call options\n let currentOptions: ModelRequest = {\n model,\n systemMessage,\n messages: state.messages,\n tools: [],\n };\n\n // Execute prepareModelRequest hooks from all middleware\n const middlewareList = this.#options.prepareModelRequestHookMiddleware;\n for (const [middleware, getMiddlewareState] of middlewareList) {\n // Merge context with default context of middleware\n const context = {\n ...(middleware.contextSchema?.parse({}) || {}),\n ...(config?.context || {}),\n };\n\n // Create runtime\n const runtime: Runtime<any> = {\n toolCalls: parseToolCalls(state.messages),\n toolResults: parseToolResults(state.messages),\n context,\n };\n\n const result = await middleware.prepareModelRequest!(\n currentOptions,\n {\n messages: state.messages,\n ...getMiddlewareState(),\n },\n {\n ...runtime,\n context,\n }\n );\n\n if (result) {\n currentOptions = { ...currentOptions, ...result };\n }\n }\n\n return currentOptions;\n }\n\n async #bindTools(\n model: LanguageModelLike,\n preparedOptions?: ModelRequest\n ): Promise<Runnable> {\n const options: Partial<BaseChatModelCallOptions> = {};\n const structuredTools = Object.values(this.#structuredToolInfo);\n\n // Use tools from preparedOptions if provided, otherwise use default tools\n const allTools = this.#options.toolClasses.concat(\n ...structuredTools.map((toolStrategy) => toolStrategy.tool),\n ...(preparedOptions?.tools || [])\n );\n\n /**\n * If there are structured tools, we need to set the tool choice to \"any\"\n * so that the model can choose to use a structured tool or not.\n */\n const toolChoice =\n preparedOptions?.toolChoice ||\n (structuredTools.length > 0 ? \"any\" : undefined);\n\n /**\n * check if the user requests a native schema output\n */\n if (this.#options.responseFormat instanceof ProviderStrategy) {\n /**\n * if the model does not support JSON schema output, throw an error\n */\n if (!hasSupportForJsonSchemaOutput(model)) {\n throw new Error(\n \"Model does not support native structured output responses. Please use a model that supports native structured output responses or use a tool output.\"\n );\n }\n\n const jsonSchemaParams = {\n name: this.#options.responseFormat.schema?.name ?? \"extract\",\n description: getSchemaDescription(this.#options.responseFormat.schema),\n schema: this.#options.responseFormat.schema,\n strict: true,\n };\n\n Object.assign(options, {\n response_format: {\n type: \"json_schema\",\n json_schema: jsonSchemaParams,\n },\n ls_structured_output_format: {\n kwargs: { method: \"json_schema\" },\n schema: this.#options.responseFormat.schema,\n },\n strict: true,\n });\n }\n\n /**\n * Bind tools to the model if they are not already bound.\n */\n const modelWithTools = await bindTools(model, allTools, {\n ...options,\n tool_choice: toolChoice,\n });\n\n /**\n * Create a model runnable with the prompt and agent name\n */\n const modelRunnable = getPromptRunnable(\n (preparedOptions?.systemMessage as SystemMessage) ?? this.#options.prompt\n ).pipe(\n this.#options.includeAgentName === \"inline\"\n ? withAgentName(modelWithTools, this.#options.includeAgentName)\n : modelWithTools\n );\n\n return modelRunnable;\n }\n\n static get nodeOptions(): {\n input: z.ZodObject<{ messages: z.ZodArray<z.ZodType<BaseMessage>> }>;\n } {\n return {\n input: z.object({\n messages: z.array(z.custom<BaseMessage>()),\n }),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentNode.js","names":["options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>","#run","#options","model: string | LanguageModelLike","state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"]","config: RunnableConfig","#invokeModel","#runState","#areMoreStepsNeeded","options: {\n lastMessage?: string;\n }","#deriveModel","#executePrepareModelRequestHooks","#getResponseFormat","#bindTools","#getModelInputState","#handleMultipleStructuredOutputs","#handleSingleStructuredOutput","runtime: Runtime<unknown>","response: AIMessage","toolCalls: ToolCall[]","responseFormat: ToolResponseFormat","#handleToolStrategyError","toolCall: ToolCall","lastMessage?: string","error: ToolStrategyError","response: BaseMessage","model: LanguageModelLike","config: LangGraphRunnableConfig","currentOptions: ModelRequest","preparedOptions: ModelRequest | undefined","structuredResponseFormat: ResponseFormat | undefined","options: Partial<BaseChatModelCallOptions>"],"sources":["../../../../src/agents/middlewareAgent/nodes/AgentNode.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-instanceof/no-instanceof */\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { BaseMessage, AIMessage, ToolMessage } from \"@langchain/core/messages\";\nimport { z } from \"zod/v3\";\nimport { Command, type LangGraphRunnableConfig } from \"@langchain/langgraph\";\nimport { type LanguageModelLike } from \"@langchain/core/language_models/base\";\nimport { type BaseChatModelCallOptions } from \"@langchain/core/language_models/chat_models\";\nimport {\n InteropZodObject,\n getSchemaDescription,\n interopParse,\n} from \"@langchain/core/utils/types\";\nimport type { ToolCall } from \"@langchain/core/messages/tool\";\n\nimport { initChatModel } from \"../../../chat_models/universal.js\";\nimport { MultipleStructuredOutputsError } from \"../../errors.js\";\nimport { RunnableCallable } from \"../../RunnableCallable.js\";\nimport { PreHookAnnotation, AnyAnnotationRoot } from \"../../annotation.js\";\nimport {\n bindTools,\n getPromptRunnable,\n validateLLMHasNoBoundTools,\n hasToolCalls,\n isClientTool,\n} from \"../../utils.js\";\nimport { mergeAbortSignals } from \"../../nodes/utils.js\";\nimport {\n ModelRequest,\n CreateAgentParams,\n InternalAgentState,\n Runtime,\n AgentMiddleware,\n PrivateState,\n} from \"../types.js\";\nimport type { ClientTool, ServerTool } from \"../../types.js\";\nimport { withAgentName } from \"../../withAgentName.js\";\nimport {\n ToolStrategy,\n ProviderStrategy,\n transformResponseFormat,\n ToolStrategyError,\n hasSupportForJsonSchemaOutput,\n} from \"../../responses.js\";\n\ntype ResponseHandlerResult<StructuredResponseFormat> =\n | {\n structuredResponse: StructuredResponseFormat;\n messages: BaseMessage[];\n }\n | Promise<Command>;\n\nexport interface AgentNodeOptions<\n StructuredResponseFormat extends Record<string, unknown> = Record<\n string,\n unknown\n >,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> extends Pick<\n CreateAgentParams<StructuredResponseFormat, ContextSchema>,\n | \"model\"\n | \"systemPrompt\"\n | \"includeAgentName\"\n | \"name\"\n | \"responseFormat\"\n | \"middleware\"\n > {\n toolClasses: (ClientTool | ServerTool)[];\n shouldReturnDirect: Set<string>;\n signal?: AbortSignal;\n modifyModelRequestHookMiddleware?: [\n AgentMiddleware<any, any, any>,\n () => any\n ][];\n retryModelRequestHookMiddleware?: [\n AgentMiddleware<any, any, any>,\n () => any\n ][];\n}\n\ninterface NativeResponseFormat {\n type: \"native\";\n strategy: ProviderStrategy;\n}\n\ninterface ToolResponseFormat {\n type: \"tool\";\n tools: Record<string, ToolStrategy>;\n}\n\ntype ResponseFormat = NativeResponseFormat | ToolResponseFormat;\n\nexport class AgentNode<\n StructuredResponseFormat extends Record<string, unknown> = Record<\n string,\n unknown\n >,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> extends RunnableCallable<\n InternalAgentState<StructuredResponseFormat> & PreHookAnnotation[\"State\"],\n | (\n | { messages: BaseMessage[] }\n | { structuredResponse: StructuredResponseFormat }\n ) & { _privateState: PrivateState }\n> {\n #options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>;\n\n #runState: Pick<PrivateState, \"runModelCallCount\"> = {\n runModelCallCount: 0,\n };\n\n constructor(\n options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>\n ) {\n super({\n name: options.name ?? \"model\",\n func: (input, config) =>\n this.#run(input, config as RunnableConfig) as any,\n });\n\n this.#options = options;\n }\n\n /**\n * Returns response format primtivies based on given model and response format provided by the user.\n *\n * If the the user selects a tool output:\n * - return a record of tools to extract structured output from the model's response\n *\n * if the the user selects a native schema output or if the model supports JSON schema output:\n * - return a provider strategy to extract structured output from the model's response\n *\n * @param model - The model to get the response format for.\n * @returns The response format.\n */\n #getResponseFormat(\n model: string | LanguageModelLike\n ): ResponseFormat | undefined {\n if (!this.#options.responseFormat) {\n return undefined;\n }\n\n const strategies = transformResponseFormat(\n this.#options.responseFormat,\n undefined,\n model\n );\n\n /**\n * we either define a list of provider strategies or a list of tool strategies\n */\n const isProviderStrategy = strategies.every(\n (format) => format instanceof ProviderStrategy\n );\n\n /**\n * Populate a list of structured tool info.\n */\n if (!isProviderStrategy) {\n return {\n type: \"tool\",\n tools: (\n strategies.filter(\n (format) => format instanceof ToolStrategy\n ) as ToolStrategy[]\n ).reduce((acc, format) => {\n acc[format.name] = format;\n return acc;\n }, {} as Record<string, ToolStrategy>),\n };\n }\n\n return {\n type: \"native\",\n /**\n * there can only be one provider strategy\n */\n strategy: strategies[0] as ProviderStrategy,\n };\n }\n\n async #run(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: RunnableConfig\n ) {\n /**\n * Check if we just executed a returnDirect tool\n * If so, we should generate structured response (if needed) and stop\n */\n const lastMessage = state.messages.at(-1);\n if (\n lastMessage &&\n ToolMessage.isInstance(lastMessage) &&\n lastMessage.name &&\n this.#options.shouldReturnDirect.has(lastMessage.name)\n ) {\n /**\n * return directly without invoking the model again\n */\n return { messages: [] };\n }\n\n const privateState = this.getState()._privateState;\n const response = await this.#invokeModel(state, config);\n this.#runState.runModelCallCount++;\n const _privateState = {\n ...privateState,\n threadLevelCallCount: privateState.threadLevelCallCount + 1,\n };\n\n /**\n * if we were able to generate a structured response, return it\n */\n if (\"structuredResponse\" in response) {\n return {\n messages: [...state.messages, ...(response.messages || [])],\n structuredResponse: response.structuredResponse,\n _privateState,\n };\n }\n\n /**\n * if we need to direct the agent to the model, return the update\n */\n if (response instanceof Command) {\n return response;\n }\n\n response.name = this.name;\n response.lc_kwargs.name = this.name;\n\n if (this.#areMoreStepsNeeded(state, response)) {\n return {\n messages: [\n new AIMessage({\n content: \"Sorry, need more steps to process this request.\",\n name: this.name,\n id: response.id,\n }),\n ],\n _privateState,\n };\n }\n\n return { messages: [response], _privateState };\n }\n\n /**\n * Derive the model from the options.\n * @param state - The state of the agent.\n * @param config - The config of the agent.\n * @returns The model.\n */\n #deriveModel() {\n if (typeof this.#options.model === \"string\") {\n return initChatModel(this.#options.model);\n }\n\n if (this.#options.model) {\n return this.#options.model;\n }\n\n throw new Error(\"No model option was provided, either via `model` option.\");\n }\n\n async #invokeModel(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: RunnableConfig,\n options: {\n lastMessage?: string;\n } = {}\n ): Promise<AIMessage | ResponseHandlerResult<StructuredResponseFormat>> {\n const model = await this.#deriveModel();\n\n /**\n * Execute modifyModelRequest hooks from beforeModelNodes\n */\n let preparedOptions = await this.#executePrepareModelRequestHooks(\n model,\n state,\n config\n );\n\n /**\n * Retry loop for model invocation with error handling\n * Hard limit of 100 attempts to prevent infinite loops from buggy middleware\n */\n const maxAttempts = 100;\n for (let attempt = 1; attempt <= maxAttempts; attempt++) {\n try {\n /**\n * If user provides a model in the preparedOptions, use it,\n * otherwise use the model from the options\n */\n const finalModel = preparedOptions?.model ?? model;\n\n /**\n * Check if the LLM already has bound tools and throw if it does.\n */\n validateLLMHasNoBoundTools(finalModel);\n\n const structuredResponseFormat = this.#getResponseFormat(finalModel);\n const modelWithTools = await this.#bindTools(\n finalModel,\n preparedOptions,\n structuredResponseFormat\n );\n let modelInput = this.#getModelInputState(state);\n\n /**\n * Use messages from preparedOptions if provided\n */\n if (preparedOptions?.messages) {\n modelInput = { ...modelInput, messages: preparedOptions.messages };\n }\n\n const signal = mergeAbortSignals(this.#options.signal, config.signal);\n const invokeConfig = { ...config, signal };\n const response = (await modelWithTools.invoke(\n modelInput,\n invokeConfig\n )) as AIMessage;\n\n /**\n * if the user requests a native schema output, try to parse the response\n * and return the structured response if it is valid\n */\n if (structuredResponseFormat?.type === \"native\") {\n const structuredResponse =\n structuredResponseFormat.strategy.parse(response);\n if (structuredResponse) {\n return { structuredResponse, messages: [response] };\n }\n\n return response;\n }\n\n if (!structuredResponseFormat || !response.tool_calls) {\n return response;\n }\n\n const toolCalls = response.tool_calls.filter(\n (call) => call.name in structuredResponseFormat.tools\n );\n\n /**\n * if there were not structured tool calls, we can return the response\n */\n if (toolCalls.length === 0) {\n return response;\n }\n\n /**\n * if there were multiple structured tool calls, we should throw an error as this\n * scenario is not defined/supported.\n */\n if (toolCalls.length > 1) {\n return this.#handleMultipleStructuredOutputs(\n response,\n toolCalls,\n structuredResponseFormat\n );\n }\n\n const toolStrategy = structuredResponseFormat.tools[toolCalls[0].name];\n const toolMessageContent = toolStrategy?.options?.toolMessageContent;\n return this.#handleSingleStructuredOutput(\n response,\n toolCalls[0],\n structuredResponseFormat,\n toolMessageContent ?? options.lastMessage\n );\n } catch (error) {\n // Try retry_model_request on each middleware\n const retryMiddleware =\n this.#options.retryModelRequestHookMiddleware ?? [];\n let shouldRetry = false;\n\n for (const [middleware, getMiddlewareState] of retryMiddleware) {\n if (middleware.retryModelRequest) {\n /**\n * Cast config to LangGraphRunnableConfig to access LangGraph-specific properties\n */\n const lgConfig = config as LangGraphRunnableConfig;\n\n /**\n * Merge context with default context of middleware\n */\n const context = middleware.contextSchema\n ? interopParse(middleware.contextSchema, lgConfig?.context || {})\n : lgConfig?.context;\n\n /**\n * Create runtime\n */\n const privateState = this.getState()._privateState;\n const runtime: Runtime<unknown> = {\n ...privateState,\n context,\n writer: lgConfig.writer,\n interrupt: lgConfig.interrupt,\n signal: lgConfig.signal,\n };\n\n const retryRequest = await middleware.retryModelRequest(\n error as Error,\n {\n model: preparedOptions?.model ?? model,\n systemPrompt: preparedOptions?.systemPrompt,\n messages: preparedOptions?.messages ?? state.messages,\n tools: this.#options.toolClasses,\n },\n {\n ...getMiddlewareState(),\n messages: state.messages,\n },\n /**\n * ensure runtime is frozen to prevent modifications\n */\n Object.freeze({\n ...runtime,\n context,\n }),\n attempt\n );\n\n if (retryRequest) {\n // Update preparedOptions with the modified request\n preparedOptions = retryRequest;\n shouldRetry = true;\n // Break on first middleware that wants to retry\n break;\n }\n }\n }\n\n // If no middleware wants to retry, re-raise the error\n if (!shouldRetry) {\n throw error;\n }\n }\n }\n\n // If we exit the loop, max attempts exceeded\n throw new Error(`Maximum retry attempts (${maxAttempts}) exceeded`);\n }\n\n /**\n * If the model returns multiple structured outputs, we need to handle it.\n * @param response - The response from the model\n * @param toolCalls - The tool calls that were made\n * @returns The response from the model\n */\n #handleMultipleStructuredOutputs(\n response: AIMessage,\n toolCalls: ToolCall[],\n responseFormat: ToolResponseFormat\n ): Promise<Command> {\n const multipleStructuredOutputsError = new MultipleStructuredOutputsError(\n toolCalls.map((call) => call.name)\n );\n\n return this.#handleToolStrategyError(\n multipleStructuredOutputsError,\n response,\n toolCalls[0],\n responseFormat\n );\n }\n\n /**\n * If the model returns a single structured output, we need to handle it.\n * @param toolCall - The tool call that was made\n * @returns The structured response and a message to the LLM if needed\n */\n #handleSingleStructuredOutput(\n response: AIMessage,\n toolCall: ToolCall,\n responseFormat: ToolResponseFormat,\n lastMessage?: string\n ): ResponseHandlerResult<StructuredResponseFormat> {\n const tool = responseFormat.tools[toolCall.name];\n\n try {\n const structuredResponse = tool.parse(\n toolCall.args\n ) as StructuredResponseFormat;\n\n return {\n structuredResponse,\n messages: [\n response,\n new AIMessage(\n lastMessage ??\n `Returning structured response: ${JSON.stringify(\n structuredResponse\n )}`\n ),\n ],\n };\n } catch (error) {\n return this.#handleToolStrategyError(\n error as ToolStrategyError,\n response,\n toolCall,\n responseFormat\n );\n }\n }\n\n async #handleToolStrategyError(\n error: ToolStrategyError,\n response: AIMessage,\n toolCall: ToolCall,\n responseFormat: ToolResponseFormat\n ): Promise<Command> {\n /**\n * Using the `errorHandler` option of the first `ToolStrategy` entry is sufficient here.\n * There is technically only one `ToolStrategy` entry in `structuredToolInfo` if the user\n * uses `toolStrategy` to define the response format. If the user applies a list of json\n * schema objects, these will be transformed into multiple `ToolStrategy` entries but all\n * with the same `handleError` option.\n */\n const errorHandler = Object.values(responseFormat.tools).at(0)?.options\n ?.handleError;\n\n const toolCallId = toolCall.id;\n if (!toolCallId) {\n throw new Error(\n \"Tool call ID is required to handle tool output errors. Please provide a tool call ID.\"\n );\n }\n\n /**\n * retry if:\n */\n if (\n /**\n * if the user has provided `true` as the `errorHandler` option, return a new AIMessage\n * with the error message and retry the tool call.\n */\n (typeof errorHandler === \"boolean\" && errorHandler) ||\n /**\n * if `errorHandler` is an array and contains MultipleStructuredOutputsError\n */\n (Array.isArray(errorHandler) &&\n errorHandler.some((h) => h instanceof MultipleStructuredOutputsError))\n ) {\n return new Command({\n update: {\n messages: [\n response,\n new ToolMessage({\n content: error.message,\n tool_call_id: toolCallId,\n }),\n ],\n },\n goto: \"model\",\n });\n }\n\n /**\n * if `errorHandler` is a string, retry the tool call with given string\n */\n if (typeof errorHandler === \"string\") {\n return new Command({\n update: {\n messages: [\n response,\n new ToolMessage({\n content: errorHandler,\n tool_call_id: toolCallId,\n }),\n ],\n },\n goto: \"model\",\n });\n }\n\n /**\n * if `errorHandler` is a function, retry the tool call with the function\n */\n if (typeof errorHandler === \"function\") {\n const content = await errorHandler(error);\n if (typeof content !== \"string\") {\n throw new Error(\"Error handler must return a string.\");\n }\n\n return new Command({\n update: {\n messages: [\n response,\n new ToolMessage({\n content,\n tool_call_id: toolCallId,\n }),\n ],\n },\n goto: \"model\",\n });\n }\n\n /**\n * throw otherwise, e.g. if `errorHandler` is not defined or set to `false`\n */\n throw error;\n }\n\n #areMoreStepsNeeded(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n response: BaseMessage\n ): boolean {\n const allToolsReturnDirect =\n AIMessage.isInstance(response) &&\n response.tool_calls?.every((call) =>\n this.#options.shouldReturnDirect.has(call.name)\n );\n const remainingSteps =\n \"remainingSteps\" in state ? (state.remainingSteps as number) : undefined;\n return Boolean(\n remainingSteps &&\n ((remainingSteps < 1 && allToolsReturnDirect) ||\n (remainingSteps < 2 && hasToolCalls(state.messages)))\n );\n }\n\n #getModelInputState(\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"]\n ): Omit<InternalAgentState<StructuredResponseFormat>, \"llmInputMessages\"> {\n const { messages, llmInputMessages, ...rest } = state;\n if (llmInputMessages && llmInputMessages.length > 0) {\n return { messages: llmInputMessages, ...rest } as Omit<\n InternalAgentState<StructuredResponseFormat>,\n \"llmInputMessages\"\n >;\n }\n return { messages, ...rest } as Omit<\n InternalAgentState<StructuredResponseFormat>,\n \"llmInputMessages\"\n >;\n }\n\n async #executePrepareModelRequestHooks(\n model: LanguageModelLike,\n state: InternalAgentState<StructuredResponseFormat> &\n PreHookAnnotation[\"State\"],\n config: LangGraphRunnableConfig\n ): Promise<ModelRequest | undefined> {\n if (\n !this.#options.modifyModelRequestHookMiddleware ||\n this.#options.modifyModelRequestHookMiddleware.length === 0\n ) {\n return undefined;\n }\n\n /**\n * Get the prompt for system message\n */\n const systemPrompt = this.#options.systemPrompt;\n\n /**\n * Prepare the initial call options\n */\n let currentOptions: ModelRequest = {\n model,\n systemPrompt,\n messages: state.messages,\n tools: this.#options.toolClasses,\n };\n\n /**\n * Execute modifyModelRequest hooks from all middleware\n */\n const middlewareList = this.#options.modifyModelRequestHookMiddleware;\n for (const [middleware, getMiddlewareState] of middlewareList) {\n /**\n * Merge context with default context of middleware\n */\n const context = middleware.contextSchema\n ? interopParse(middleware.contextSchema, config?.context || {})\n : config?.context;\n\n /**\n * Create runtime\n */\n const privateState = this.getState()._privateState;\n const runtime: Runtime<unknown> = {\n ...privateState,\n context,\n writer: config.writer,\n interrupt: config.interrupt,\n signal: config.signal,\n };\n\n const result = await middleware.modifyModelRequest!(\n currentOptions,\n {\n ...getMiddlewareState(),\n messages: state.messages,\n },\n /**\n * ensure runtime is frozen to prevent modifications\n */\n Object.freeze({\n ...runtime,\n context,\n })\n );\n\n if (result) {\n const modifiedTools = result.tools ?? [];\n\n /**\n * Verify that the user didn't add any new tools.\n * We can't allow this as the ToolNode is already initiated with given tools.\n */\n const newTools = modifiedTools.filter(\n (tool) =>\n isClientTool(tool) &&\n !this.#options.toolClasses.some((t) => t.name === tool.name)\n );\n if (newTools.length > 0) {\n throw new Error(\n `You have added a new tool in \"modifyModelRequest\" hook of middleware \"${\n middleware.name\n }\": ${newTools\n .map((tool) => tool.name)\n .join(\", \")}. This is not supported.`\n );\n }\n\n /**\n * Verify that user has not added or modified a tool with the same name.\n * We can't allow this as the ToolNode is already initiated with given tools.\n */\n const invalidTools = modifiedTools.filter(\n (tool) =>\n isClientTool(tool) &&\n this.#options.toolClasses.every((t) => t !== tool)\n );\n if (invalidTools.length > 0) {\n throw new Error(\n `You have modified a tool in \"modifyModelRequest\" hook of middleware \"${\n middleware.name\n }\": ${invalidTools\n .map((tool) => tool.name)\n .join(\", \")}. This is not supported.`\n );\n }\n\n currentOptions = { ...currentOptions, ...result };\n }\n }\n\n return currentOptions;\n }\n\n async #bindTools(\n model: LanguageModelLike,\n preparedOptions: ModelRequest | undefined,\n structuredResponseFormat: ResponseFormat | undefined\n ): Promise<Runnable> {\n const options: Partial<BaseChatModelCallOptions> = {};\n const structuredTools = Object.values(\n structuredResponseFormat && \"tools\" in structuredResponseFormat\n ? structuredResponseFormat.tools\n : {}\n );\n\n // Use tools from preparedOptions if provided, otherwise use default tools\n const allTools = [\n ...(preparedOptions?.tools ?? []),\n ...structuredTools.map((toolStrategy) => toolStrategy.tool),\n ];\n\n /**\n * If there are structured tools, we need to set the tool choice to \"any\"\n * so that the model can choose to use a structured tool or not.\n */\n const toolChoice =\n preparedOptions?.toolChoice ||\n (structuredTools.length > 0 ? \"any\" : undefined);\n\n /**\n * check if the user requests a native schema output\n */\n if (structuredResponseFormat?.type === \"native\") {\n /**\n * if the model does not support JSON schema output, throw an error\n */\n if (!hasSupportForJsonSchemaOutput(model)) {\n throw new Error(\n \"Model does not support native structured output responses. Please use a model that supports native structured output responses or use a tool output.\"\n );\n }\n\n const jsonSchemaParams = {\n name: structuredResponseFormat.strategy.schema?.name ?? \"extract\",\n description: getSchemaDescription(\n structuredResponseFormat.strategy.schema\n ),\n schema: structuredResponseFormat.strategy.schema,\n strict: true,\n };\n\n Object.assign(options, {\n response_format: {\n type: \"json_schema\",\n json_schema: jsonSchemaParams,\n },\n ls_structured_output_format: {\n kwargs: { method: \"json_schema\" },\n schema: structuredResponseFormat.strategy.schema,\n },\n strict: true,\n });\n }\n\n /**\n * Bind tools to the model if they are not already bound.\n */\n const modelWithTools = await bindTools(model, allTools, {\n ...options,\n tool_choice: toolChoice,\n });\n\n /**\n * Create a model runnable with the prompt and agent name\n */\n const modelRunnable = getPromptRunnable(\n preparedOptions?.systemPrompt ?? this.#options.systemPrompt\n ).pipe(\n this.#options.includeAgentName === \"inline\"\n ? withAgentName(modelWithTools, this.#options.includeAgentName)\n : modelWithTools\n );\n\n return modelRunnable;\n }\n\n static get nodeOptions(): {\n input: z.ZodObject<{\n messages: z.ZodArray<z.ZodType<BaseMessage>>;\n _privateState: z.ZodObject<{\n threadLevelCallCount: z.ZodNumber;\n }>;\n }>;\n } {\n return {\n input: z.object({\n messages: z.array(z.custom<BaseMessage>()),\n _privateState: z.object({\n threadLevelCallCount: z.number(),\n }),\n }),\n };\n }\n\n getState(): {\n messages: BaseMessage[];\n _privateState: PrivateState;\n } {\n const origState =\n super.getState() ??\n ({\n _privateState: {\n threadLevelCallCount: 0,\n runModelCallCount: 0,\n },\n } as {\n messages?: BaseMessage[];\n _privateState?: PrivateState;\n });\n\n return {\n messages: [],\n ...origState,\n _privateState: {\n ...(origState._privateState ?? {}),\n ...this.#runState,\n },\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;AA4FA,IAAa,YAAb,cAMU,iBAMR;CACA;CAEA,YAAqD,EACnD,mBAAmB,EACpB;CAED,YACEA,SACA;EACA,MAAM;GACJ,MAAM,QAAQ,QAAQ;GACtB,MAAM,CAAC,OAAO,WACZ,KAAKC,KAAK,OAAO,OAAyB;EAC7C,EAAC;EAEF,KAAKC,WAAW;CACjB;;;;;;;;;;;;;CAcD,mBACEC,OAC4B;AAC5B,MAAI,CAAC,KAAKD,SAAS,eACjB,QAAO;EAGT,MAAM,aAAa,wBACjB,KAAKA,SAAS,gBACd,QACA,MACD;;;;EAKD,MAAM,qBAAqB,WAAW,MACpC,CAAC,WAAW,kBAAkB,iBAC/B;;;;AAKD,MAAI,CAAC,mBACH,QAAO;GACL,MAAM;GACN,OACE,WAAW,OACT,CAAC,WAAW,kBAAkB,aAC/B,CACD,OAAO,CAAC,KAAK,WAAW;IACxB,IAAI,OAAO,QAAQ;AACnB,WAAO;GACR,GAAE,CAAE,EAAiC;EACvC;AAGH,SAAO;GACL,MAAM;GAIN,UAAU,WAAW;EACtB;CACF;CAED,MAAMD,KACJG,OAEAC,QACA;;;;;EAKA,MAAM,cAAc,MAAM,SAAS,GAAG,GAAG;AACzC,MACE,eACA,YAAY,WAAW,YAAY,IACnC,YAAY,QACZ,KAAKH,SAAS,mBAAmB,IAAI,YAAY,KAAK;;;;AAKtD,SAAO,EAAE,UAAU,CAAE,EAAE;EAGzB,MAAM,eAAe,KAAK,UAAU,CAAC;EACrC,MAAM,WAAW,MAAM,KAAKI,aAAa,OAAO,OAAO;EACvD,KAAKC,UAAU;EACf,MAAM,gBAAgB;GACpB,GAAG;GACH,sBAAsB,aAAa,uBAAuB;EAC3D;;;;AAKD,MAAI,wBAAwB,SAC1B,QAAO;GACL,UAAU,CAAC,GAAG,MAAM,UAAU,GAAI,SAAS,YAAY,CAAE,CAAE;GAC3D,oBAAoB,SAAS;GAC7B;EACD;;;;AAMH,MAAI,oBAAoB,QACtB,QAAO;EAGT,SAAS,OAAO,KAAK;EACrB,SAAS,UAAU,OAAO,KAAK;AAE/B,MAAI,KAAKC,oBAAoB,OAAO,SAAS,CAC3C,QAAO;GACL,UAAU,CACR,IAAI,UAAU;IACZ,SAAS;IACT,MAAM,KAAK;IACX,IAAI,SAAS;GACd,EACF;GACD;EACD;AAGH,SAAO;GAAE,UAAU,CAAC,QAAS;GAAE;EAAe;CAC/C;;;;;;;CAQD,eAAe;AACb,MAAI,OAAO,KAAKN,SAAS,UAAU,SACjC,QAAO,cAAc,KAAKA,SAAS,MAAM;AAG3C,MAAI,KAAKA,SAAS,MAChB,QAAO,KAAKA,SAAS;AAGvB,QAAM,IAAI,MAAM;CACjB;CAED,MAAMI,aACJF,OAEAC,QACAI,UAEI,CAAE,GACgE;EACtE,MAAM,QAAQ,MAAM,KAAKC,cAAc;;;;EAKvC,IAAI,kBAAkB,MAAM,KAAKC,iCAC/B,OACA,OACA,OACD;;;;;EAMD,MAAM,cAAc;AACpB,OAAK,IAAI,UAAU,GAAG,WAAW,aAAa,UAC5C,KAAI;;;;;GAKF,MAAM,aAAa,iBAAiB,SAAS;;;;GAK7C,2BAA2B,WAAW;GAEtC,MAAM,2BAA2B,KAAKC,mBAAmB,WAAW;GACpE,MAAM,iBAAiB,MAAM,KAAKC,WAChC,YACA,iBACA,yBACD;GACD,IAAI,aAAa,KAAKC,oBAAoB,MAAM;;;;AAKhD,OAAI,iBAAiB,UACnB,aAAa;IAAE,GAAG;IAAY,UAAU,gBAAgB;GAAU;GAGpE,MAAM,SAAS,kBAAkB,KAAKZ,SAAS,QAAQ,OAAO,OAAO;GACrE,MAAM,eAAe;IAAE,GAAG;IAAQ;GAAQ;GAC1C,MAAM,WAAY,MAAM,eAAe,OACrC,YACA,aACD;;;;;AAMD,OAAI,0BAA0B,SAAS,UAAU;IAC/C,MAAM,qBACJ,yBAAyB,SAAS,MAAM,SAAS;AACnD,QAAI,mBACF,QAAO;KAAE;KAAoB,UAAU,CAAC,QAAS;IAAE;AAGrD,WAAO;GACR;AAED,OAAI,CAAC,4BAA4B,CAAC,SAAS,WACzC,QAAO;GAGT,MAAM,YAAY,SAAS,WAAW,OACpC,CAAC,SAAS,KAAK,QAAQ,yBAAyB,MACjD;;;;AAKD,OAAI,UAAU,WAAW,EACvB,QAAO;;;;;AAOT,OAAI,UAAU,SAAS,EACrB,QAAO,KAAKa,iCACV,UACA,WACA,yBACD;GAGH,MAAM,eAAe,yBAAyB,MAAM,UAAU,GAAG;GACjE,MAAM,qBAAqB,cAAc,SAAS;AAClD,UAAO,KAAKC,8BACV,UACA,UAAU,IACV,0BACA,sBAAsB,QAAQ,YAC/B;EACF,SAAQ,OAAO;GAEd,MAAM,kBACJ,KAAKd,SAAS,mCAAmC,CAAE;GACrD,IAAI,cAAc;AAElB,QAAK,MAAM,CAAC,YAAY,mBAAmB,IAAI,gBAC7C,KAAI,WAAW,mBAAmB;;;;IAIhC,MAAM,WAAW;;;;IAKjB,MAAM,UAAU,WAAW,gBACvB,aAAa,WAAW,eAAe,UAAU,WAAW,CAAE,EAAC,GAC/D,UAAU;;;;IAKd,MAAM,eAAe,KAAK,UAAU,CAAC;IACrC,MAAMe,UAA4B;KAChC,GAAG;KACH;KACA,QAAQ,SAAS;KACjB,WAAW,SAAS;KACpB,QAAQ,SAAS;IAClB;IAED,MAAM,eAAe,MAAM,WAAW;KACpC;KACA;MACE,OAAO,iBAAiB,SAAS;MACjC,cAAc,iBAAiB;MAC/B,UAAU,iBAAiB,YAAY,MAAM;MAC7C,OAAO,KAAKf,SAAS;KACtB;KACD;MACE,GAAG,oBAAoB;MACvB,UAAU,MAAM;KACjB;;;;KAID,OAAO,OAAO;MACZ,GAAG;MACH;KACD,EAAC;KACF;KACD;AAED,QAAI,cAAc;KAEhB,kBAAkB;KAClB,cAAc;AAEd;IACD;GACF;AAIH,OAAI,CAAC,YACH,OAAM;EAET;AAIH,QAAM,IAAI,MAAM,CAAC,wBAAwB,EAAE,YAAY,UAAU,CAAC;CACnE;;;;;;;CAQD,iCACEgB,UACAC,WACAC,gBACkB;EAClB,MAAM,iCAAiC,IAAI,+BACzC,UAAU,IAAI,CAAC,SAAS,KAAK,KAAK;AAGpC,SAAO,KAAKC,yBACV,gCACA,UACA,UAAU,IACV,eACD;CACF;;;;;;CAOD,8BACEH,UACAI,UACAF,gBACAG,aACiD;EACjD,MAAM,OAAO,eAAe,MAAM,SAAS;AAE3C,MAAI;GACF,MAAM,qBAAqB,KAAK,MAC9B,SAAS,KACV;AAED,UAAO;IACL;IACA,UAAU,CACR,UACA,IAAI,UACF,eACE,CAAC,+BAA+B,EAAE,KAAK,UACrC,mBACD,EAAE,CAER;GACF;EACF,SAAQ,OAAO;AACd,UAAO,KAAKF,yBACV,OACA,UACA,UACA,eACD;EACF;CACF;CAED,MAAMA,yBACJG,OACAN,UACAI,UACAF,gBACkB;;;;;;;;EAQlB,MAAM,eAAe,OAAO,OAAO,eAAe,MAAM,CAAC,GAAG,EAAE,EAAE,SAC5D;EAEJ,MAAM,aAAa,SAAS;AAC5B,MAAI,CAAC,WACH,OAAM,IAAI,MACR;;;;AAOJ,MAKG,OAAO,iBAAiB,aAAa,gBAIrC,MAAM,QAAQ,aAAa,IAC1B,aAAa,KAAK,CAAC,MAAM,aAAa,+BAA+B,CAEvE,QAAO,IAAI,QAAQ;GACjB,QAAQ,EACN,UAAU,CACR,UACA,IAAI,YAAY;IACd,SAAS,MAAM;IACf,cAAc;GACf,EACF,EACF;GACD,MAAM;EACP;;;;AAMH,MAAI,OAAO,iBAAiB,SAC1B,QAAO,IAAI,QAAQ;GACjB,QAAQ,EACN,UAAU,CACR,UACA,IAAI,YAAY;IACd,SAAS;IACT,cAAc;GACf,EACF,EACF;GACD,MAAM;EACP;;;;AAMH,MAAI,OAAO,iBAAiB,YAAY;GACtC,MAAM,UAAU,MAAM,aAAa,MAAM;AACzC,OAAI,OAAO,YAAY,SACrB,OAAM,IAAI,MAAM;AAGlB,UAAO,IAAI,QAAQ;IACjB,QAAQ,EACN,UAAU,CACR,UACA,IAAI,YAAY;KACd;KACA,cAAc;IACf,EACF,EACF;IACD,MAAM;GACP;EACF;;;;AAKD,QAAM;CACP;CAED,oBACEhB,OAEAqB,UACS;EACT,MAAM,uBACJ,UAAU,WAAW,SAAS,IAC9B,SAAS,YAAY,MAAM,CAAC,SAC1B,KAAKvB,SAAS,mBAAmB,IAAI,KAAK,KAAK,CAChD;EACH,MAAM,iBACJ,oBAAoB,QAAS,MAAM,iBAA4B;AACjE,SAAO,QACL,mBACI,iBAAiB,KAAK,wBACrB,iBAAiB,KAAK,aAAa,MAAM,SAAS,EACxD;CACF;CAED,oBACEE,OAEwE;EACxE,MAAM,EAAE,UAAU,iBAAkB,GAAG,MAAM,GAAG;AAChD,MAAI,oBAAoB,iBAAiB,SAAS,EAChD,QAAO;GAAE,UAAU;GAAkB,GAAG;EAAM;AAKhD,SAAO;GAAE;GAAU,GAAG;EAAM;CAI7B;CAED,MAAMO,iCACJe,OACAtB,OAEAuB,QACmC;AACnC,MACE,CAAC,KAAKzB,SAAS,oCACf,KAAKA,SAAS,iCAAiC,WAAW,EAE1D,QAAO;;;;EAMT,MAAM,eAAe,KAAKA,SAAS;;;;EAKnC,IAAI0B,iBAA+B;GACjC;GACA;GACA,UAAU,MAAM;GAChB,OAAO,KAAK1B,SAAS;EACtB;;;;EAKD,MAAM,iBAAiB,KAAKA,SAAS;AACrC,OAAK,MAAM,CAAC,YAAY,mBAAmB,IAAI,gBAAgB;;;;GAI7D,MAAM,UAAU,WAAW,gBACvB,aAAa,WAAW,eAAe,QAAQ,WAAW,CAAE,EAAC,GAC7D,QAAQ;;;;GAKZ,MAAM,eAAe,KAAK,UAAU,CAAC;GACrC,MAAMe,UAA4B;IAChC,GAAG;IACH;IACA,QAAQ,OAAO;IACf,WAAW,OAAO;IAClB,QAAQ,OAAO;GAChB;GAED,MAAM,SAAS,MAAM,WAAW;IAC9B;IACA;KACE,GAAG,oBAAoB;KACvB,UAAU,MAAM;IACjB;;;;IAID,OAAO,OAAO;KACZ,GAAG;KACH;IACD,EAAC;IACH;AAED,OAAI,QAAQ;IACV,MAAM,gBAAgB,OAAO,SAAS,CAAE;;;;;IAMxC,MAAM,WAAW,cAAc,OAC7B,CAAC,SACC,aAAa,KAAK,IAClB,CAAC,KAAKf,SAAS,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK,CAC/D;AACD,QAAI,SAAS,SAAS,EACpB,OAAM,IAAI,MACR,CAAC,sEAAsE,EACrE,WAAW,KACZ,GAAG,EAAE,SACH,IAAI,CAAC,SAAS,KAAK,KAAK,CACxB,KAAK,KAAK,CAAC,wBAAwB,CAAC;;;;;IAQ3C,MAAM,eAAe,cAAc,OACjC,CAAC,SACC,aAAa,KAAK,IAClB,KAAKA,SAAS,YAAY,MAAM,CAAC,MAAM,MAAM,KAAK,CACrD;AACD,QAAI,aAAa,SAAS,EACxB,OAAM,IAAI,MACR,CAAC,qEAAqE,EACpE,WAAW,KACZ,GAAG,EAAE,aACH,IAAI,CAAC,SAAS,KAAK,KAAK,CACxB,KAAK,KAAK,CAAC,wBAAwB,CAAC;IAI3C,iBAAiB;KAAE,GAAG;KAAgB,GAAG;IAAQ;GAClD;EACF;AAED,SAAO;CACR;CAED,MAAMW,WACJa,OACAG,iBACAC,0BACmB;EACnB,MAAMC,UAA6C,CAAE;EACrD,MAAM,kBAAkB,OAAO,OAC7B,4BAA4B,WAAW,2BACnC,yBAAyB,QACzB,CAAE,EACP;EAGD,MAAM,WAAW,CACf,GAAI,iBAAiB,SAAS,CAAE,GAChC,GAAG,gBAAgB,IAAI,CAAC,iBAAiB,aAAa,KAAK,AAC5D;;;;;EAMD,MAAM,aACJ,iBAAiB,eAChB,gBAAgB,SAAS,IAAI,QAAQ;;;;AAKxC,MAAI,0BAA0B,SAAS,UAAU;;;;AAI/C,OAAI,CAAC,8BAA8B,MAAM,CACvC,OAAM,IAAI,MACR;GAIJ,MAAM,mBAAmB;IACvB,MAAM,yBAAyB,SAAS,QAAQ,QAAQ;IACxD,aAAa,qBACX,yBAAyB,SAAS,OACnC;IACD,QAAQ,yBAAyB,SAAS;IAC1C,QAAQ;GACT;GAED,OAAO,OAAO,SAAS;IACrB,iBAAiB;KACf,MAAM;KACN,aAAa;IACd;IACD,6BAA6B;KAC3B,QAAQ,EAAE,QAAQ,cAAe;KACjC,QAAQ,yBAAyB,SAAS;IAC3C;IACD,QAAQ;GACT,EAAC;EACH;;;;EAKD,MAAM,iBAAiB,MAAM,UAAU,OAAO,UAAU;GACtD,GAAG;GACH,aAAa;EACd,EAAC;;;;EAKF,MAAM,gBAAgB,kBACpB,iBAAiB,gBAAgB,KAAK7B,SAAS,aAChD,CAAC,KACA,KAAKA,SAAS,qBAAqB,WAC/B,cAAc,gBAAgB,KAAKA,SAAS,iBAAiB,GAC7D,eACL;AAED,SAAO;CACR;CAED,WAAW,cAOT;AACA,SAAO,EACL,OAAO,EAAE,OAAO;GACd,UAAU,EAAE,MAAM,EAAE,QAAqB,CAAC;GAC1C,eAAe,EAAE,OAAO,EACtB,sBAAsB,EAAE,QAAQ,CACjC,EAAC;EACH,EAAC,CACH;CACF;CAED,WAGE;EACA,MAAM,YACJ,MAAM,UAAU,IACf,EACC,eAAe;GACb,sBAAsB;GACtB,mBAAmB;EACpB,EACF;AAKH,SAAO;GACL,UAAU,CAAE;GACZ,GAAG;GACH,eAAe;IACb,GAAI,UAAU,iBAAiB,CAAE;IACjC,GAAG,KAAKK;GACT;EACF;CACF;AACF"}
@@ -10,15 +10,15 @@ var BeforeModelNode = class extends require_middleware.MiddlewareNode {
10
10
  "agents",
11
11
  "beforeModalNodes"
12
12
  ];
13
- constructor(middleware) {
13
+ constructor(middleware, options) {
14
14
  super({
15
15
  name: `BeforeModelNode_${middleware.name}`,
16
16
  func: async (state, config) => this.invokeMiddleware(state, config)
17
- });
17
+ }, options);
18
18
  this.middleware = middleware;
19
19
  }
20
- runHook(state, runtime, controls) {
21
- return this.middleware.beforeModel(state, runtime, controls);
20
+ runHook(state, runtime) {
21
+ return this.middleware.beforeModel(state, runtime);
22
22
  }
23
23
  };
24
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"BeforeModalNode.cjs","names":["MiddlewareNode","middleware: AgentMiddleware<any, any, any>","state: TStateSchema","config?: RunnableConfig<TContextSchema>","runtime: Runtime<TContextSchema>","controls: Controls<TStateSchema>"],"sources":["../../../../src/agents/middlewareAgent/nodes/BeforeModalNode.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { MiddlewareNode } from \"./middleware.js\";\nimport type {\n Controls,\n AgentMiddleware,\n MiddlewareResult,\n Runtime,\n} from \"../types.js\";\n\n/**\n * Node for executing a single middleware's beforeModel hook.\n */\nexport class BeforeModelNode<\n TStateSchema extends Record<string, any> = Record<string, any>,\n TContextSchema extends Record<string, any> = Record<string, any>\n> extends MiddlewareNode<TStateSchema, TContextSchema> {\n lc_namespace = [\"langchain\", \"agents\", \"beforeModalNodes\"];\n\n constructor(public middleware: AgentMiddleware<any, any, any>) {\n super({\n name: `BeforeModelNode_${middleware.name}`,\n func: async (\n state: TStateSchema,\n config?: RunnableConfig<TContextSchema>\n ) => this.invokeMiddleware(state, config),\n });\n }\n\n runHook(\n state: TStateSchema,\n runtime: Runtime<TContextSchema>,\n controls: Controls<TStateSchema>\n ) {\n return this.middleware.beforeModel!(state, runtime, controls) as Promise<\n MiddlewareResult<TStateSchema>\n >;\n }\n}\n"],"mappings":";;;;;;AAaA,IAAa,kBAAb,cAGUA,kCAA6C;CACrD,eAAe;EAAC;EAAa;EAAU;CAAmB;CAE1D,YAAmBC,YAA4C;EAC7D,MAAM;GACJ,MAAM,CAAC,gBAAgB,EAAE,WAAW,MAAM;GAC1C,MAAM,OACJC,OACAC,WACG,KAAK,iBAAiB,OAAO,OAAO;EAC1C,EAAC;EAPe;CAQlB;CAED,QACED,OACAE,SACAC,UACA;AACA,SAAO,KAAK,WAAW,YAAa,OAAO,SAAS,SAAS;CAG9D;AACF"}
1
+ {"version":3,"file":"BeforeModalNode.cjs","names":["MiddlewareNode","middleware: AgentMiddleware<any, any, any>","options: MiddlewareNodeOptions","state: TStateSchema","config?: RunnableConfig<TContextSchema>","runtime: Runtime<TContextSchema>"],"sources":["../../../../src/agents/middlewareAgent/nodes/BeforeModalNode.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { MiddlewareNode, type MiddlewareNodeOptions } from \"./middleware.js\";\nimport type {\n AgentBuiltInState,\n AgentMiddleware,\n MiddlewareResult,\n Runtime,\n} from \"../types.js\";\n\n/**\n * Node for executing a single middleware's beforeModel hook.\n */\nexport class BeforeModelNode<\n TStateSchema extends Record<string, any> = Record<string, any>,\n TContextSchema extends Record<string, any> = Record<string, any>\n> extends MiddlewareNode<TStateSchema, TContextSchema> {\n lc_namespace = [\"langchain\", \"agents\", \"beforeModalNodes\"];\n\n constructor(\n public middleware: AgentMiddleware<any, any, any>,\n options: MiddlewareNodeOptions\n ) {\n super(\n {\n name: `BeforeModelNode_${middleware.name}`,\n func: async (\n state: TStateSchema,\n config?: RunnableConfig<TContextSchema>\n ) => this.invokeMiddleware(state, config),\n },\n options\n );\n }\n\n runHook(state: TStateSchema, runtime: Runtime<TContextSchema>) {\n return this.middleware.beforeModel!(\n state as Record<string, any> & AgentBuiltInState,\n runtime as Runtime<unknown>\n ) as Promise<MiddlewareResult<TStateSchema>>;\n }\n}\n"],"mappings":";;;;;;AAaA,IAAa,kBAAb,cAGUA,kCAA6C;CACrD,eAAe;EAAC;EAAa;EAAU;CAAmB;CAE1D,YACSC,YACPC,SACA;EACA,MACE;GACE,MAAM,CAAC,gBAAgB,EAAE,WAAW,MAAM;GAC1C,MAAM,OACJC,OACAC,WACG,KAAK,iBAAiB,OAAO,OAAO;EAC1C,GACD,QACD;EAZM;CAaR;CAED,QAAQD,OAAqBE,SAAkC;AAC7D,SAAO,KAAK,WAAW,YACrB,OACA,QACD;CACF;AACF"}
@@ -10,15 +10,15 @@ var BeforeModelNode = class extends MiddlewareNode {
10
10
  "agents",
11
11
  "beforeModalNodes"
12
12
  ];
13
- constructor(middleware) {
13
+ constructor(middleware, options) {
14
14
  super({
15
15
  name: `BeforeModelNode_${middleware.name}`,
16
16
  func: async (state, config) => this.invokeMiddleware(state, config)
17
- });
17
+ }, options);
18
18
  this.middleware = middleware;
19
19
  }
20
- runHook(state, runtime, controls) {
21
- return this.middleware.beforeModel(state, runtime, controls);
20
+ runHook(state, runtime) {
21
+ return this.middleware.beforeModel(state, runtime);
22
22
  }
23
23
  };
24
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"BeforeModalNode.js","names":["middleware: AgentMiddleware<any, any, any>","state: TStateSchema","config?: RunnableConfig<TContextSchema>","runtime: Runtime<TContextSchema>","controls: Controls<TStateSchema>"],"sources":["../../../../src/agents/middlewareAgent/nodes/BeforeModalNode.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { MiddlewareNode } from \"./middleware.js\";\nimport type {\n Controls,\n AgentMiddleware,\n MiddlewareResult,\n Runtime,\n} from \"../types.js\";\n\n/**\n * Node for executing a single middleware's beforeModel hook.\n */\nexport class BeforeModelNode<\n TStateSchema extends Record<string, any> = Record<string, any>,\n TContextSchema extends Record<string, any> = Record<string, any>\n> extends MiddlewareNode<TStateSchema, TContextSchema> {\n lc_namespace = [\"langchain\", \"agents\", \"beforeModalNodes\"];\n\n constructor(public middleware: AgentMiddleware<any, any, any>) {\n super({\n name: `BeforeModelNode_${middleware.name}`,\n func: async (\n state: TStateSchema,\n config?: RunnableConfig<TContextSchema>\n ) => this.invokeMiddleware(state, config),\n });\n }\n\n runHook(\n state: TStateSchema,\n runtime: Runtime<TContextSchema>,\n controls: Controls<TStateSchema>\n ) {\n return this.middleware.beforeModel!(state, runtime, controls) as Promise<\n MiddlewareResult<TStateSchema>\n >;\n }\n}\n"],"mappings":";;;;;;AAaA,IAAa,kBAAb,cAGU,eAA6C;CACrD,eAAe;EAAC;EAAa;EAAU;CAAmB;CAE1D,YAAmBA,YAA4C;EAC7D,MAAM;GACJ,MAAM,CAAC,gBAAgB,EAAE,WAAW,MAAM;GAC1C,MAAM,OACJC,OACAC,WACG,KAAK,iBAAiB,OAAO,OAAO;EAC1C,EAAC;EAPe;CAQlB;CAED,QACED,OACAE,SACAC,UACA;AACA,SAAO,KAAK,WAAW,YAAa,OAAO,SAAS,SAAS;CAG9D;AACF"}
1
+ {"version":3,"file":"BeforeModalNode.js","names":["middleware: AgentMiddleware<any, any, any>","options: MiddlewareNodeOptions","state: TStateSchema","config?: RunnableConfig<TContextSchema>","runtime: Runtime<TContextSchema>"],"sources":["../../../../src/agents/middlewareAgent/nodes/BeforeModalNode.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { MiddlewareNode, type MiddlewareNodeOptions } from \"./middleware.js\";\nimport type {\n AgentBuiltInState,\n AgentMiddleware,\n MiddlewareResult,\n Runtime,\n} from \"../types.js\";\n\n/**\n * Node for executing a single middleware's beforeModel hook.\n */\nexport class BeforeModelNode<\n TStateSchema extends Record<string, any> = Record<string, any>,\n TContextSchema extends Record<string, any> = Record<string, any>\n> extends MiddlewareNode<TStateSchema, TContextSchema> {\n lc_namespace = [\"langchain\", \"agents\", \"beforeModalNodes\"];\n\n constructor(\n public middleware: AgentMiddleware<any, any, any>,\n options: MiddlewareNodeOptions\n ) {\n super(\n {\n name: `BeforeModelNode_${middleware.name}`,\n func: async (\n state: TStateSchema,\n config?: RunnableConfig<TContextSchema>\n ) => this.invokeMiddleware(state, config),\n },\n options\n );\n }\n\n runHook(state: TStateSchema, runtime: Runtime<TContextSchema>) {\n return this.middleware.beforeModel!(\n state as Record<string, any> & AgentBuiltInState,\n runtime as Runtime<unknown>\n ) as Promise<MiddlewareResult<TStateSchema>>;\n }\n}\n"],"mappings":";;;;;;AAaA,IAAa,kBAAb,cAGU,eAA6C;CACrD,eAAe;EAAC;EAAa;EAAU;CAAmB;CAE1D,YACSA,YACPC,SACA;EACA,MACE;GACE,MAAM,CAAC,gBAAgB,EAAE,WAAW,MAAM;GAC1C,MAAM,OACJC,OACAC,WACG,KAAK,iBAAiB,OAAO,OAAO;EAC1C,GACD,QACD;EAZM;CAaR;CAED,QAAQD,OAAqBE,SAAkC;AAC7D,SAAO,KAAK,WAAW,YACrB,OACA,QACD;CACF;AACF"}
@@ -1,66 +1,92 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
1
2
  const require_RunnableCallable = require('../../RunnableCallable.cjs');
2
3
  const require_utils = require('./utils.cjs');
4
+ const __langchain_core_utils_types = require_rolldown_runtime.__toESM(require("@langchain/core/utils/types"));
3
5
 
4
6
  //#region src/agents/middlewareAgent/nodes/middleware.ts
5
7
  var MiddlewareNode = class extends require_RunnableCallable.RunnableCallable {
8
+ #options;
9
+ constructor(fields, options) {
10
+ super(fields);
11
+ this.#options = options;
12
+ }
6
13
  async invokeMiddleware(state, config) {
7
14
  /**
8
15
  * Filter context based on middleware's contextSchema
9
16
  */
10
17
  let filteredContext = {};
11
18
  /**
12
- * Check both config.context and config.configurable.context
19
+ * Parse context using middleware's contextSchema to apply defaults and validation
13
20
  */
14
- if (this.middleware.contextSchema && config?.context) {
21
+ if (this.middleware.contextSchema) {
15
22
  /**
16
23
  * Extract only the fields relevant to this middleware's schema
17
24
  */
18
25
  const schemaShape = this.middleware.contextSchema?.shape;
19
26
  if (schemaShape) {
20
27
  const relevantContext = {};
21
- for (const key of Object.keys(schemaShape)) if (key in config.context) relevantContext[key] = config.context[key];
28
+ const invokeContext = config?.context || {};
29
+ for (const key of Object.keys(schemaShape)) if (key in invokeContext) relevantContext[key] = invokeContext[key];
22
30
  /**
23
- * Parse to apply defaults and validation
31
+ * Parse to apply defaults and validation, even if relevantContext is empty
32
+ * This will throw if required fields are missing and no defaults exist
24
33
  */
25
- filteredContext = this.middleware.contextSchema.parse(relevantContext);
34
+ filteredContext = (0, __langchain_core_utils_types.interopParse)(this.middleware.contextSchema, relevantContext);
26
35
  }
27
36
  }
28
37
  /**
29
38
  * ToDo: implement later
30
39
  */
31
40
  const runtime = {
32
- toolCalls: require_utils.parseToolCalls(state.messages),
33
- toolResults: require_utils.parseToolResults(state.messages),
34
- context: filteredContext
35
- };
36
- const controls = {
37
- jumpTo: (target, stateUpdate) => ({
38
- type: "jump",
39
- target,
40
- stateUpdate
41
- }),
42
- terminate: (result$1) => {
43
- if (result$1 instanceof Error) throw result$1;
44
- return {
45
- type: "terminate",
46
- result: result$1
47
- };
48
- }
41
+ context: filteredContext,
42
+ writer: config?.writer,
43
+ interrupt: config?.interrupt,
44
+ signal: config?.signal,
45
+ ...this.#options.getPrivateState()
49
46
  };
50
- const result = await this.runHook(state, runtime, controls);
47
+ const result = await this.runHook(state, Object.freeze({
48
+ ...runtime,
49
+ context: filteredContext
50
+ }));
51
+ delete result?._privateState;
51
52
  /**
52
53
  * If result is undefined, return current state
53
54
  */
54
- if (!result) return state;
55
+ if (!result) return {
56
+ ...state,
57
+ jumpTo: void 0
58
+ };
59
+ /**
60
+ * Verify that the jump target is allowed for the middleware
61
+ */
62
+ const jumpToConstraint = this.name?.startsWith("BeforeModelNode_") ? this.middleware.beforeModelJumpTo : this.middleware.afterModelJumpTo;
63
+ if (typeof result.jumpTo === "string" && !jumpToConstraint?.includes(result.jumpTo)) {
64
+ const constraint = this.name?.startsWith("BeforeModelNode_") ? "beforeModelJumpTo" : "afterModelJumpTo";
65
+ const suggestion = jumpToConstraint && jumpToConstraint.length > 0 ? `must be one of: ${jumpToConstraint?.join(", ")}.` : `no ${constraint} defined in middleware ${this.middleware.name}.`;
66
+ throw new Error(`Invalid jump target: ${result.jumpTo}, ${suggestion}.`);
67
+ }
68
+ const jumpTo = require_utils.parseJumpToTarget(result.jumpTo);
55
69
  /**
56
70
  * If result is a control action, handle it
57
71
  */
72
+ if (typeof result === "object" && "type" in result) {
73
+ if (result.type === "terminate") {
74
+ if (result.error) throw result.error;
75
+ return {
76
+ ...state,
77
+ ...result.result || {},
78
+ jumpTo
79
+ };
80
+ }
81
+ throw new Error(`Invalid control action: ${JSON.stringify(result)}`);
82
+ }
58
83
  /**
59
84
  * If result is a state update, merge it with current state
60
85
  */
61
86
  return {
62
87
  ...state,
63
- ...result
88
+ ...result,
89
+ jumpTo
64
90
  };
65
91
  }
66
92
  get nodeOptions() {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.cjs","names":["RunnableCallable","state: TStateSchema","config?: LangGraphRunnableConfig","relevantContext: Record<string, unknown>","runtime: Runtime<TContextSchema>","parseToolCalls","parseToolResults","controls: Controls<TStateSchema>","target: \"model\" | \"tools\"","stateUpdate?: Partial<TStateSchema>","result?: Partial<TStateSchema> | Error","result","derivePrivateState"],"sources":["../../../../src/agents/middlewareAgent/nodes/middleware.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-instanceof/no-instanceof */\nimport { z } from \"zod/v3\";\nimport { LangGraphRunnableConfig, Command } from \"@langchain/langgraph\";\n\nimport { RunnableCallable } from \"../../RunnableCallable.js\";\nimport type {\n Runtime,\n Controls,\n ControlAction,\n AgentMiddleware,\n MiddlewareResult,\n} from \"../types.js\";\nimport {\n derivePrivateState,\n parseToolCalls,\n parseToolResults,\n} from \"./utils.js\";\n\ntype NodeOutput<TStateSchema extends Record<string, any>> =\n | TStateSchema\n | Command<any, TStateSchema, string>;\n\nexport abstract class MiddlewareNode<\n TStateSchema extends Record<string, any>,\n TContextSchema extends Record<string, any>\n> extends RunnableCallable<TStateSchema, NodeOutput<TStateSchema>> {\n abstract middleware: AgentMiddleware<\n z.ZodObject<z.ZodRawShape>,\n z.ZodObject<z.ZodRawShape>\n >;\n\n abstract runHook(\n state: TStateSchema,\n config?: Runtime<TContextSchema>,\n controls?: Controls<TStateSchema>\n ): Promise<MiddlewareResult<TStateSchema>>;\n\n async invokeMiddleware(\n state: TStateSchema,\n config?: LangGraphRunnableConfig\n ): Promise<NodeOutput<TStateSchema>> {\n /**\n * Filter context based on middleware's contextSchema\n */\n let filteredContext = {} as TContextSchema;\n /**\n * Check both config.context and config.configurable.context\n */\n if (this.middleware.contextSchema && config?.context) {\n /**\n * Extract only the fields relevant to this middleware's schema\n */\n const schemaShape = this.middleware.contextSchema?.shape;\n if (schemaShape) {\n const relevantContext: Record<string, unknown> = {};\n for (const key of Object.keys(schemaShape)) {\n if (key in config.context) {\n relevantContext[key] = config.context[key];\n }\n }\n /**\n * Parse to apply defaults and validation\n */\n filteredContext = this.middleware.contextSchema.parse(\n relevantContext\n ) as TContextSchema;\n }\n }\n\n /**\n * ToDo: implement later\n */\n const runtime: Runtime<TContextSchema> = {\n toolCalls: parseToolCalls(state.messages),\n toolResults: parseToolResults(state.messages),\n context: filteredContext,\n };\n\n const controls: Controls<TStateSchema> = {\n jumpTo: (\n target: \"model\" | \"tools\",\n stateUpdate?: Partial<TStateSchema>\n ): ControlAction<TStateSchema> => ({\n type: \"jump\",\n target,\n stateUpdate,\n }),\n terminate: (\n result?: Partial<TStateSchema> | Error\n ): ControlAction<TStateSchema> => {\n if (result instanceof Error) {\n throw result;\n }\n return { type: \"terminate\", result };\n },\n };\n\n const result = await this.runHook(state, runtime, controls);\n\n /**\n * If result is undefined, return current state\n */\n if (!result) {\n return state;\n }\n\n /**\n * If result is a control action, handle it\n */\n // if (typeof result === \"object\" && \"type\" in result) {\n // // Handle control actions\n // const action = result as ControlAction<TStateSchema>;\n // if (action.type === \"terminate\") {\n // if (action.error) {\n // throw action.error;\n // }\n // return { ...state, ...(action.result || {}) };\n // }\n\n // if (action.type === \"jump\") {\n // return new Command<any, TStateSchema, string>({\n // goto: action.target,\n // update: { ...state, ...(action.stateUpdate || {}) },\n // });\n // }\n\n // throw new Error(`Invalid control action: ${JSON.stringify(action)}`);\n // }\n\n /**\n * If result is a state update, merge it with current state\n */\n return { ...state, ...result };\n }\n\n get nodeOptions(): {\n input: z.ZodObject<TStateSchema>;\n } {\n return {\n input: derivePrivateState(\n this.middleware.stateSchema\n ) as z.ZodObject<TStateSchema>,\n };\n }\n}\n"],"mappings":";;;;AAuBA,IAAsB,iBAAtB,cAGUA,0CAAyD;CAYjE,MAAM,iBACJC,OACAC,QACmC;;;;EAInC,IAAI,kBAAkB,CAAE;;;;AAIxB,MAAI,KAAK,WAAW,iBAAiB,QAAQ,SAAS;;;;GAIpD,MAAM,cAAc,KAAK,WAAW,eAAe;AACnD,OAAI,aAAa;IACf,MAAMC,kBAA2C,CAAE;AACnD,SAAK,MAAM,OAAO,OAAO,KAAK,YAAY,CACxC,KAAI,OAAO,OAAO,SAChB,gBAAgB,OAAO,OAAO,QAAQ;;;;IAM1C,kBAAkB,KAAK,WAAW,cAAc,MAC9C,gBACD;GACF;EACF;;;;EAKD,MAAMC,UAAmC;GACvC,WAAWC,6BAAe,MAAM,SAAS;GACzC,aAAaC,+BAAiB,MAAM,SAAS;GAC7C,SAAS;EACV;EAED,MAAMC,WAAmC;GACvC,QAAQ,CACNC,QACAC,iBACiC;IACjC,MAAM;IACN;IACA;GACD;GACD,WAAW,CACTC,aACgC;AAChC,QAAIC,oBAAkB,MACpB,OAAMA;AAER,WAAO;KAAE,MAAM;KAAa;IAAQ;GACrC;EACF;EAED,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,SAAS,SAAS;;;;AAK3D,MAAI,CAAC,OACH,QAAO;;;;;;;AA6BT,SAAO;GAAE,GAAG;GAAO,GAAG;EAAQ;CAC/B;CAED,IAAI,cAEF;AACA,SAAO,EACL,OAAOC,iCACL,KAAK,WAAW,YACjB,CACF;CACF;AACF"}
1
+ {"version":3,"file":"middleware.cjs","names":["RunnableCallable","fields: RunnableCallableArgs<TStateSchema, NodeOutput<TStateSchema>>","options: MiddlewareNodeOptions","#options","state: TStateSchema","config?: LangGraphRunnableConfig","relevantContext: Record<string, unknown>","runtime: Runtime<TContextSchema>","parseJumpToTarget","derivePrivateState"],"sources":["../../../../src/agents/middlewareAgent/nodes/middleware.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { LangGraphRunnableConfig, Command } from \"@langchain/langgraph\";\nimport { interopParse } from \"@langchain/core/utils/types\";\n\nimport {\n RunnableCallable,\n RunnableCallableArgs,\n} from \"../../RunnableCallable.js\";\nimport type {\n Runtime,\n AgentMiddleware,\n MiddlewareResult,\n JumpToTarget,\n PrivateState,\n} from \"../types.js\";\nimport { derivePrivateState, parseJumpToTarget } from \"./utils.js\";\n\ntype NodeOutput<TStateSchema extends Record<string, any>> =\n | TStateSchema\n | Command<any, TStateSchema, string>;\n\nexport interface MiddlewareNodeOptions {\n getPrivateState: () => PrivateState;\n}\n\nexport abstract class MiddlewareNode<\n TStateSchema extends Record<string, any>,\n TContextSchema extends Record<string, any>\n> extends RunnableCallable<TStateSchema, NodeOutput<TStateSchema>> {\n #options: MiddlewareNodeOptions;\n\n abstract middleware: AgentMiddleware<\n z.ZodObject<z.ZodRawShape>,\n z.ZodObject<z.ZodRawShape>\n >;\n\n constructor(\n fields: RunnableCallableArgs<TStateSchema, NodeOutput<TStateSchema>>,\n options: MiddlewareNodeOptions\n ) {\n super(fields);\n this.#options = options;\n }\n\n abstract runHook(\n state: TStateSchema,\n config?: Runtime<TContextSchema>\n ): Promise<MiddlewareResult<TStateSchema>>;\n\n async invokeMiddleware(\n state: TStateSchema,\n config?: LangGraphRunnableConfig\n ): Promise<NodeOutput<TStateSchema>> {\n /**\n * Filter context based on middleware's contextSchema\n */\n let filteredContext = {} as TContextSchema;\n /**\n * Parse context using middleware's contextSchema to apply defaults and validation\n */\n if (this.middleware.contextSchema) {\n /**\n * Extract only the fields relevant to this middleware's schema\n */\n const schemaShape = this.middleware.contextSchema?.shape;\n if (schemaShape) {\n const relevantContext: Record<string, unknown> = {};\n const invokeContext = config?.context || {};\n for (const key of Object.keys(schemaShape)) {\n if (key in invokeContext) {\n relevantContext[key] = invokeContext[key];\n }\n }\n /**\n * Parse to apply defaults and validation, even if relevantContext is empty\n * This will throw if required fields are missing and no defaults exist\n */\n filteredContext = interopParse(\n this.middleware.contextSchema,\n relevantContext\n ) as TContextSchema;\n }\n }\n\n /**\n * ToDo: implement later\n */\n const runtime: Runtime<TContextSchema> = {\n context: filteredContext,\n writer: config?.writer,\n interrupt: config?.interrupt,\n signal: config?.signal,\n ...this.#options.getPrivateState(),\n };\n\n const result = await this.runHook(\n state,\n Object.freeze({\n ...runtime,\n context: filteredContext,\n })\n );\n delete result?._privateState;\n\n /**\n * If result is undefined, return current state\n */\n if (!result) {\n return { ...state, jumpTo: undefined };\n }\n\n /**\n * Verify that the jump target is allowed for the middleware\n */\n const jumpToConstraint = this.name?.startsWith(\"BeforeModelNode_\")\n ? this.middleware.beforeModelJumpTo\n : this.middleware.afterModelJumpTo;\n if (\n typeof result.jumpTo === \"string\" &&\n !jumpToConstraint?.includes(result.jumpTo as JumpToTarget)\n ) {\n const constraint = this.name?.startsWith(\"BeforeModelNode_\")\n ? \"beforeModelJumpTo\"\n : \"afterModelJumpTo\";\n const suggestion =\n jumpToConstraint && jumpToConstraint.length > 0\n ? `must be one of: ${jumpToConstraint?.join(\", \")}.`\n : `no ${constraint} defined in middleware ${this.middleware.name}.`;\n throw new Error(`Invalid jump target: ${result.jumpTo}, ${suggestion}.`);\n }\n\n const jumpTo = parseJumpToTarget(result.jumpTo as string);\n\n /**\n * If result is a control action, handle it\n */\n if (typeof result === \"object\" && \"type\" in result) {\n // Handle control actions\n if (result.type === \"terminate\") {\n if (result.error) {\n throw result.error;\n }\n return {\n ...state,\n ...(result.result || {}),\n jumpTo,\n };\n }\n\n throw new Error(`Invalid control action: ${JSON.stringify(result)}`);\n }\n\n /**\n * If result is a state update, merge it with current state\n */\n return { ...state, ...result, jumpTo };\n }\n\n get nodeOptions(): {\n input: z.ZodObject<TStateSchema>;\n } {\n return {\n input: derivePrivateState(\n this.middleware.stateSchema\n ) as z.ZodObject<TStateSchema>,\n };\n }\n}\n"],"mappings":";;;;;;AA0BA,IAAsB,iBAAtB,cAGUA,0CAAyD;CACjE;CAOA,YACEC,QACAC,SACA;EACA,MAAM,OAAO;EACb,KAAKC,WAAW;CACjB;CAOD,MAAM,iBACJC,OACAC,QACmC;;;;EAInC,IAAI,kBAAkB,CAAE;;;;AAIxB,MAAI,KAAK,WAAW,eAAe;;;;GAIjC,MAAM,cAAc,KAAK,WAAW,eAAe;AACnD,OAAI,aAAa;IACf,MAAMC,kBAA2C,CAAE;IACnD,MAAM,gBAAgB,QAAQ,WAAW,CAAE;AAC3C,SAAK,MAAM,OAAO,OAAO,KAAK,YAAY,CACxC,KAAI,OAAO,eACT,gBAAgB,OAAO,cAAc;;;;;IAOzC,iEACE,KAAK,WAAW,eAChB,gBACD;GACF;EACF;;;;EAKD,MAAMC,UAAmC;GACvC,SAAS;GACT,QAAQ,QAAQ;GAChB,WAAW,QAAQ;GACnB,QAAQ,QAAQ;GAChB,GAAG,KAAKJ,SAAS,iBAAiB;EACnC;EAED,MAAM,SAAS,MAAM,KAAK,QACxB,OACA,OAAO,OAAO;GACZ,GAAG;GACH,SAAS;EACV,EAAC,CACH;EACD,OAAO,QAAQ;;;;AAKf,MAAI,CAAC,OACH,QAAO;GAAE,GAAG;GAAO,QAAQ;EAAW;;;;EAMxC,MAAM,mBAAmB,KAAK,MAAM,WAAW,mBAAmB,GAC9D,KAAK,WAAW,oBAChB,KAAK,WAAW;AACpB,MACE,OAAO,OAAO,WAAW,YACzB,CAAC,kBAAkB,SAAS,OAAO,OAAuB,EAC1D;GACA,MAAM,aAAa,KAAK,MAAM,WAAW,mBAAmB,GACxD,sBACA;GACJ,MAAM,aACJ,oBAAoB,iBAAiB,SAAS,IAC1C,CAAC,gBAAgB,EAAE,kBAAkB,KAAK,KAAK,CAAC,CAAC,CAAC,GAClD,CAAC,GAAG,EAAE,WAAW,uBAAuB,EAAE,KAAK,WAAW,KAAK,CAAC,CAAC;AACvE,SAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,OAAO,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;EACxE;EAED,MAAM,SAASK,gCAAkB,OAAO,OAAiB;;;;AAKzD,MAAI,OAAO,WAAW,YAAY,UAAU,QAAQ;AAElD,OAAI,OAAO,SAAS,aAAa;AAC/B,QAAI,OAAO,MACT,OAAM,OAAO;AAEf,WAAO;KACL,GAAG;KACH,GAAI,OAAO,UAAU,CAAE;KACvB;IACD;GACF;AAED,SAAM,IAAI,MAAM,CAAC,wBAAwB,EAAE,KAAK,UAAU,OAAO,EAAE;EACpE;;;;AAKD,SAAO;GAAE,GAAG;GAAO,GAAG;GAAQ;EAAQ;CACvC;CAED,IAAI,cAEF;AACA,SAAO,EACL,OAAOC,iCACL,KAAK,WAAW,YACjB,CACF;CACF;AACF"}
@@ -1,66 +1,91 @@
1
1
  import { RunnableCallable } from "../../RunnableCallable.js";
2
- import { derivePrivateState, parseToolCalls, parseToolResults } from "./utils.js";
2
+ import { derivePrivateState, parseJumpToTarget } from "./utils.js";
3
+ import { interopParse } from "@langchain/core/utils/types";
3
4
 
4
5
  //#region src/agents/middlewareAgent/nodes/middleware.ts
5
6
  var MiddlewareNode = class extends RunnableCallable {
7
+ #options;
8
+ constructor(fields, options) {
9
+ super(fields);
10
+ this.#options = options;
11
+ }
6
12
  async invokeMiddleware(state, config) {
7
13
  /**
8
14
  * Filter context based on middleware's contextSchema
9
15
  */
10
16
  let filteredContext = {};
11
17
  /**
12
- * Check both config.context and config.configurable.context
18
+ * Parse context using middleware's contextSchema to apply defaults and validation
13
19
  */
14
- if (this.middleware.contextSchema && config?.context) {
20
+ if (this.middleware.contextSchema) {
15
21
  /**
16
22
  * Extract only the fields relevant to this middleware's schema
17
23
  */
18
24
  const schemaShape = this.middleware.contextSchema?.shape;
19
25
  if (schemaShape) {
20
26
  const relevantContext = {};
21
- for (const key of Object.keys(schemaShape)) if (key in config.context) relevantContext[key] = config.context[key];
27
+ const invokeContext = config?.context || {};
28
+ for (const key of Object.keys(schemaShape)) if (key in invokeContext) relevantContext[key] = invokeContext[key];
22
29
  /**
23
- * Parse to apply defaults and validation
30
+ * Parse to apply defaults and validation, even if relevantContext is empty
31
+ * This will throw if required fields are missing and no defaults exist
24
32
  */
25
- filteredContext = this.middleware.contextSchema.parse(relevantContext);
33
+ filteredContext = interopParse(this.middleware.contextSchema, relevantContext);
26
34
  }
27
35
  }
28
36
  /**
29
37
  * ToDo: implement later
30
38
  */
31
39
  const runtime = {
32
- toolCalls: parseToolCalls(state.messages),
33
- toolResults: parseToolResults(state.messages),
34
- context: filteredContext
35
- };
36
- const controls = {
37
- jumpTo: (target, stateUpdate) => ({
38
- type: "jump",
39
- target,
40
- stateUpdate
41
- }),
42
- terminate: (result$1) => {
43
- if (result$1 instanceof Error) throw result$1;
44
- return {
45
- type: "terminate",
46
- result: result$1
47
- };
48
- }
40
+ context: filteredContext,
41
+ writer: config?.writer,
42
+ interrupt: config?.interrupt,
43
+ signal: config?.signal,
44
+ ...this.#options.getPrivateState()
49
45
  };
50
- const result = await this.runHook(state, runtime, controls);
46
+ const result = await this.runHook(state, Object.freeze({
47
+ ...runtime,
48
+ context: filteredContext
49
+ }));
50
+ delete result?._privateState;
51
51
  /**
52
52
  * If result is undefined, return current state
53
53
  */
54
- if (!result) return state;
54
+ if (!result) return {
55
+ ...state,
56
+ jumpTo: void 0
57
+ };
58
+ /**
59
+ * Verify that the jump target is allowed for the middleware
60
+ */
61
+ const jumpToConstraint = this.name?.startsWith("BeforeModelNode_") ? this.middleware.beforeModelJumpTo : this.middleware.afterModelJumpTo;
62
+ if (typeof result.jumpTo === "string" && !jumpToConstraint?.includes(result.jumpTo)) {
63
+ const constraint = this.name?.startsWith("BeforeModelNode_") ? "beforeModelJumpTo" : "afterModelJumpTo";
64
+ const suggestion = jumpToConstraint && jumpToConstraint.length > 0 ? `must be one of: ${jumpToConstraint?.join(", ")}.` : `no ${constraint} defined in middleware ${this.middleware.name}.`;
65
+ throw new Error(`Invalid jump target: ${result.jumpTo}, ${suggestion}.`);
66
+ }
67
+ const jumpTo = parseJumpToTarget(result.jumpTo);
55
68
  /**
56
69
  * If result is a control action, handle it
57
70
  */
71
+ if (typeof result === "object" && "type" in result) {
72
+ if (result.type === "terminate") {
73
+ if (result.error) throw result.error;
74
+ return {
75
+ ...state,
76
+ ...result.result || {},
77
+ jumpTo
78
+ };
79
+ }
80
+ throw new Error(`Invalid control action: ${JSON.stringify(result)}`);
81
+ }
58
82
  /**
59
83
  * If result is a state update, merge it with current state
60
84
  */
61
85
  return {
62
86
  ...state,
63
- ...result
87
+ ...result,
88
+ jumpTo
64
89
  };
65
90
  }
66
91
  get nodeOptions() {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["state: TStateSchema","config?: LangGraphRunnableConfig","relevantContext: Record<string, unknown>","runtime: Runtime<TContextSchema>","controls: Controls<TStateSchema>","target: \"model\" | \"tools\"","stateUpdate?: Partial<TStateSchema>","result?: Partial<TStateSchema> | Error","result"],"sources":["../../../../src/agents/middlewareAgent/nodes/middleware.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-instanceof/no-instanceof */\nimport { z } from \"zod/v3\";\nimport { LangGraphRunnableConfig, Command } from \"@langchain/langgraph\";\n\nimport { RunnableCallable } from \"../../RunnableCallable.js\";\nimport type {\n Runtime,\n Controls,\n ControlAction,\n AgentMiddleware,\n MiddlewareResult,\n} from \"../types.js\";\nimport {\n derivePrivateState,\n parseToolCalls,\n parseToolResults,\n} from \"./utils.js\";\n\ntype NodeOutput<TStateSchema extends Record<string, any>> =\n | TStateSchema\n | Command<any, TStateSchema, string>;\n\nexport abstract class MiddlewareNode<\n TStateSchema extends Record<string, any>,\n TContextSchema extends Record<string, any>\n> extends RunnableCallable<TStateSchema, NodeOutput<TStateSchema>> {\n abstract middleware: AgentMiddleware<\n z.ZodObject<z.ZodRawShape>,\n z.ZodObject<z.ZodRawShape>\n >;\n\n abstract runHook(\n state: TStateSchema,\n config?: Runtime<TContextSchema>,\n controls?: Controls<TStateSchema>\n ): Promise<MiddlewareResult<TStateSchema>>;\n\n async invokeMiddleware(\n state: TStateSchema,\n config?: LangGraphRunnableConfig\n ): Promise<NodeOutput<TStateSchema>> {\n /**\n * Filter context based on middleware's contextSchema\n */\n let filteredContext = {} as TContextSchema;\n /**\n * Check both config.context and config.configurable.context\n */\n if (this.middleware.contextSchema && config?.context) {\n /**\n * Extract only the fields relevant to this middleware's schema\n */\n const schemaShape = this.middleware.contextSchema?.shape;\n if (schemaShape) {\n const relevantContext: Record<string, unknown> = {};\n for (const key of Object.keys(schemaShape)) {\n if (key in config.context) {\n relevantContext[key] = config.context[key];\n }\n }\n /**\n * Parse to apply defaults and validation\n */\n filteredContext = this.middleware.contextSchema.parse(\n relevantContext\n ) as TContextSchema;\n }\n }\n\n /**\n * ToDo: implement later\n */\n const runtime: Runtime<TContextSchema> = {\n toolCalls: parseToolCalls(state.messages),\n toolResults: parseToolResults(state.messages),\n context: filteredContext,\n };\n\n const controls: Controls<TStateSchema> = {\n jumpTo: (\n target: \"model\" | \"tools\",\n stateUpdate?: Partial<TStateSchema>\n ): ControlAction<TStateSchema> => ({\n type: \"jump\",\n target,\n stateUpdate,\n }),\n terminate: (\n result?: Partial<TStateSchema> | Error\n ): ControlAction<TStateSchema> => {\n if (result instanceof Error) {\n throw result;\n }\n return { type: \"terminate\", result };\n },\n };\n\n const result = await this.runHook(state, runtime, controls);\n\n /**\n * If result is undefined, return current state\n */\n if (!result) {\n return state;\n }\n\n /**\n * If result is a control action, handle it\n */\n // if (typeof result === \"object\" && \"type\" in result) {\n // // Handle control actions\n // const action = result as ControlAction<TStateSchema>;\n // if (action.type === \"terminate\") {\n // if (action.error) {\n // throw action.error;\n // }\n // return { ...state, ...(action.result || {}) };\n // }\n\n // if (action.type === \"jump\") {\n // return new Command<any, TStateSchema, string>({\n // goto: action.target,\n // update: { ...state, ...(action.stateUpdate || {}) },\n // });\n // }\n\n // throw new Error(`Invalid control action: ${JSON.stringify(action)}`);\n // }\n\n /**\n * If result is a state update, merge it with current state\n */\n return { ...state, ...result };\n }\n\n get nodeOptions(): {\n input: z.ZodObject<TStateSchema>;\n } {\n return {\n input: derivePrivateState(\n this.middleware.stateSchema\n ) as z.ZodObject<TStateSchema>,\n };\n }\n}\n"],"mappings":";;;;AAuBA,IAAsB,iBAAtB,cAGU,iBAAyD;CAYjE,MAAM,iBACJA,OACAC,QACmC;;;;EAInC,IAAI,kBAAkB,CAAE;;;;AAIxB,MAAI,KAAK,WAAW,iBAAiB,QAAQ,SAAS;;;;GAIpD,MAAM,cAAc,KAAK,WAAW,eAAe;AACnD,OAAI,aAAa;IACf,MAAMC,kBAA2C,CAAE;AACnD,SAAK,MAAM,OAAO,OAAO,KAAK,YAAY,CACxC,KAAI,OAAO,OAAO,SAChB,gBAAgB,OAAO,OAAO,QAAQ;;;;IAM1C,kBAAkB,KAAK,WAAW,cAAc,MAC9C,gBACD;GACF;EACF;;;;EAKD,MAAMC,UAAmC;GACvC,WAAW,eAAe,MAAM,SAAS;GACzC,aAAa,iBAAiB,MAAM,SAAS;GAC7C,SAAS;EACV;EAED,MAAMC,WAAmC;GACvC,QAAQ,CACNC,QACAC,iBACiC;IACjC,MAAM;IACN;IACA;GACD;GACD,WAAW,CACTC,aACgC;AAChC,QAAIC,oBAAkB,MACpB,OAAMA;AAER,WAAO;KAAE,MAAM;KAAa;IAAQ;GACrC;EACF;EAED,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,SAAS,SAAS;;;;AAK3D,MAAI,CAAC,OACH,QAAO;;;;;;;AA6BT,SAAO;GAAE,GAAG;GAAO,GAAG;EAAQ;CAC/B;CAED,IAAI,cAEF;AACA,SAAO,EACL,OAAO,mBACL,KAAK,WAAW,YACjB,CACF;CACF;AACF"}
1
+ {"version":3,"file":"middleware.js","names":["fields: RunnableCallableArgs<TStateSchema, NodeOutput<TStateSchema>>","options: MiddlewareNodeOptions","#options","state: TStateSchema","config?: LangGraphRunnableConfig","relevantContext: Record<string, unknown>","runtime: Runtime<TContextSchema>"],"sources":["../../../../src/agents/middlewareAgent/nodes/middleware.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { LangGraphRunnableConfig, Command } from \"@langchain/langgraph\";\nimport { interopParse } from \"@langchain/core/utils/types\";\n\nimport {\n RunnableCallable,\n RunnableCallableArgs,\n} from \"../../RunnableCallable.js\";\nimport type {\n Runtime,\n AgentMiddleware,\n MiddlewareResult,\n JumpToTarget,\n PrivateState,\n} from \"../types.js\";\nimport { derivePrivateState, parseJumpToTarget } from \"./utils.js\";\n\ntype NodeOutput<TStateSchema extends Record<string, any>> =\n | TStateSchema\n | Command<any, TStateSchema, string>;\n\nexport interface MiddlewareNodeOptions {\n getPrivateState: () => PrivateState;\n}\n\nexport abstract class MiddlewareNode<\n TStateSchema extends Record<string, any>,\n TContextSchema extends Record<string, any>\n> extends RunnableCallable<TStateSchema, NodeOutput<TStateSchema>> {\n #options: MiddlewareNodeOptions;\n\n abstract middleware: AgentMiddleware<\n z.ZodObject<z.ZodRawShape>,\n z.ZodObject<z.ZodRawShape>\n >;\n\n constructor(\n fields: RunnableCallableArgs<TStateSchema, NodeOutput<TStateSchema>>,\n options: MiddlewareNodeOptions\n ) {\n super(fields);\n this.#options = options;\n }\n\n abstract runHook(\n state: TStateSchema,\n config?: Runtime<TContextSchema>\n ): Promise<MiddlewareResult<TStateSchema>>;\n\n async invokeMiddleware(\n state: TStateSchema,\n config?: LangGraphRunnableConfig\n ): Promise<NodeOutput<TStateSchema>> {\n /**\n * Filter context based on middleware's contextSchema\n */\n let filteredContext = {} as TContextSchema;\n /**\n * Parse context using middleware's contextSchema to apply defaults and validation\n */\n if (this.middleware.contextSchema) {\n /**\n * Extract only the fields relevant to this middleware's schema\n */\n const schemaShape = this.middleware.contextSchema?.shape;\n if (schemaShape) {\n const relevantContext: Record<string, unknown> = {};\n const invokeContext = config?.context || {};\n for (const key of Object.keys(schemaShape)) {\n if (key in invokeContext) {\n relevantContext[key] = invokeContext[key];\n }\n }\n /**\n * Parse to apply defaults and validation, even if relevantContext is empty\n * This will throw if required fields are missing and no defaults exist\n */\n filteredContext = interopParse(\n this.middleware.contextSchema,\n relevantContext\n ) as TContextSchema;\n }\n }\n\n /**\n * ToDo: implement later\n */\n const runtime: Runtime<TContextSchema> = {\n context: filteredContext,\n writer: config?.writer,\n interrupt: config?.interrupt,\n signal: config?.signal,\n ...this.#options.getPrivateState(),\n };\n\n const result = await this.runHook(\n state,\n Object.freeze({\n ...runtime,\n context: filteredContext,\n })\n );\n delete result?._privateState;\n\n /**\n * If result is undefined, return current state\n */\n if (!result) {\n return { ...state, jumpTo: undefined };\n }\n\n /**\n * Verify that the jump target is allowed for the middleware\n */\n const jumpToConstraint = this.name?.startsWith(\"BeforeModelNode_\")\n ? this.middleware.beforeModelJumpTo\n : this.middleware.afterModelJumpTo;\n if (\n typeof result.jumpTo === \"string\" &&\n !jumpToConstraint?.includes(result.jumpTo as JumpToTarget)\n ) {\n const constraint = this.name?.startsWith(\"BeforeModelNode_\")\n ? \"beforeModelJumpTo\"\n : \"afterModelJumpTo\";\n const suggestion =\n jumpToConstraint && jumpToConstraint.length > 0\n ? `must be one of: ${jumpToConstraint?.join(\", \")}.`\n : `no ${constraint} defined in middleware ${this.middleware.name}.`;\n throw new Error(`Invalid jump target: ${result.jumpTo}, ${suggestion}.`);\n }\n\n const jumpTo = parseJumpToTarget(result.jumpTo as string);\n\n /**\n * If result is a control action, handle it\n */\n if (typeof result === \"object\" && \"type\" in result) {\n // Handle control actions\n if (result.type === \"terminate\") {\n if (result.error) {\n throw result.error;\n }\n return {\n ...state,\n ...(result.result || {}),\n jumpTo,\n };\n }\n\n throw new Error(`Invalid control action: ${JSON.stringify(result)}`);\n }\n\n /**\n * If result is a state update, merge it with current state\n */\n return { ...state, ...result, jumpTo };\n }\n\n get nodeOptions(): {\n input: z.ZodObject<TStateSchema>;\n } {\n return {\n input: derivePrivateState(\n this.middleware.stateSchema\n ) as z.ZodObject<TStateSchema>,\n };\n }\n}\n"],"mappings":";;;;;AA0BA,IAAsB,iBAAtB,cAGU,iBAAyD;CACjE;CAOA,YACEA,QACAC,SACA;EACA,MAAM,OAAO;EACb,KAAKC,WAAW;CACjB;CAOD,MAAM,iBACJC,OACAC,QACmC;;;;EAInC,IAAI,kBAAkB,CAAE;;;;AAIxB,MAAI,KAAK,WAAW,eAAe;;;;GAIjC,MAAM,cAAc,KAAK,WAAW,eAAe;AACnD,OAAI,aAAa;IACf,MAAMC,kBAA2C,CAAE;IACnD,MAAM,gBAAgB,QAAQ,WAAW,CAAE;AAC3C,SAAK,MAAM,OAAO,OAAO,KAAK,YAAY,CACxC,KAAI,OAAO,eACT,gBAAgB,OAAO,cAAc;;;;;IAOzC,kBAAkB,aAChB,KAAK,WAAW,eAChB,gBACD;GACF;EACF;;;;EAKD,MAAMC,UAAmC;GACvC,SAAS;GACT,QAAQ,QAAQ;GAChB,WAAW,QAAQ;GACnB,QAAQ,QAAQ;GAChB,GAAG,KAAKJ,SAAS,iBAAiB;EACnC;EAED,MAAM,SAAS,MAAM,KAAK,QACxB,OACA,OAAO,OAAO;GACZ,GAAG;GACH,SAAS;EACV,EAAC,CACH;EACD,OAAO,QAAQ;;;;AAKf,MAAI,CAAC,OACH,QAAO;GAAE,GAAG;GAAO,QAAQ;EAAW;;;;EAMxC,MAAM,mBAAmB,KAAK,MAAM,WAAW,mBAAmB,GAC9D,KAAK,WAAW,oBAChB,KAAK,WAAW;AACpB,MACE,OAAO,OAAO,WAAW,YACzB,CAAC,kBAAkB,SAAS,OAAO,OAAuB,EAC1D;GACA,MAAM,aAAa,KAAK,MAAM,WAAW,mBAAmB,GACxD,sBACA;GACJ,MAAM,aACJ,oBAAoB,iBAAiB,SAAS,IAC1C,CAAC,gBAAgB,EAAE,kBAAkB,KAAK,KAAK,CAAC,CAAC,CAAC,GAClD,CAAC,GAAG,EAAE,WAAW,uBAAuB,EAAE,KAAK,WAAW,KAAK,CAAC,CAAC;AACvE,SAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,OAAO,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;EACxE;EAED,MAAM,SAAS,kBAAkB,OAAO,OAAiB;;;;AAKzD,MAAI,OAAO,WAAW,YAAY,UAAU,QAAQ;AAElD,OAAI,OAAO,SAAS,aAAa;AAC/B,QAAI,OAAO,MACT,OAAM,OAAO;AAEf,WAAO;KACL,GAAG;KACH,GAAI,OAAO,UAAU,CAAE;KACvB;IACD;GACF;AAED,SAAM,IAAI,MAAM,CAAC,wBAAwB,EAAE,KAAK,UAAU,OAAO,EAAE;EACpE;;;;AAKD,SAAO;GAAE,GAAG;GAAO,GAAG;GAAQ;EAAQ;CACvC;CAED,IAAI,cAEF;AACA,SAAO,EACL,OAAO,mBACL,KAAK,WAAW,YACjB,CACF;CACF;AACF"}
@@ -1,5 +1,6 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
2
+ const __langchain_langgraph = require_rolldown_runtime.__toESM(require("@langchain/langgraph"));
3
+ const __langchain_core_utils_types = require_rolldown_runtime.__toESM(require("@langchain/core/utils/types"));
3
4
  const zod_v3 = require_rolldown_runtime.__toESM(require("zod/v3"));
4
5
 
5
6
  //#region src/agents/middlewareAgent/nodes/utils.ts
@@ -10,15 +11,11 @@ const zod_v3 = require_rolldown_runtime.__toESM(require("zod/v3"));
10
11
  * Private properties (starting with _) are automatically made optional since
11
12
  * users cannot provide them when invoking the agent.
12
13
  */
13
- function initializeMiddlewareStates(middlewareList, state) {
14
+ async function initializeMiddlewareStates(middlewareList, state) {
14
15
  const middlewareStates = {};
15
16
  for (const middleware of middlewareList) if (middleware.stateSchema) {
16
- const { shape } = middleware.stateSchema;
17
- const modifiedShape = {};
18
- for (const [key, value] of Object.entries(shape)) if (key.startsWith("_")) modifiedShape[key] = value.optional();
19
- else modifiedShape[key] = value;
20
- const modifiedSchema = zod_v3.z.object(modifiedShape);
21
- const parseResult = modifiedSchema.safeParse(state);
17
+ const modifiedSchema = (0, __langchain_core_utils_types.interopZodObjectMakeFieldsOptional)(middleware.stateSchema, (key) => key.startsWith("_"));
18
+ const parseResult = await (0, __langchain_core_utils_types.interopSafeParseAsync)(modifiedSchema, state);
22
19
  if (parseResult.success) {
23
20
  Object.assign(middlewareStates, parseResult.data);
24
21
  continue;
@@ -46,29 +43,24 @@ function derivePrivateState(stateSchema) {
46
43
  else privateShape[key] = value;
47
44
  return zod_v3.z.object(privateShape);
48
45
  }
49
- /**
50
- * Parse out all tool calls from the messages
51
- * @param messages - The messages to parse
52
- * @returns The tool calls
53
- */
54
- function parseToolCalls(messages) {
55
- return messages.filter((message) => (0, __langchain_core_messages.isAIMessage)(message) && message.tool_calls).map((message) => message.tool_calls).flat() || [];
56
- }
57
- /**
58
- * Parse out all tool results from the messages
59
- * @param messages - The messages to parse
60
- * @returns The tool results
61
- */
62
- function parseToolResults(messages) {
63
- return messages.filter((message) => (0, __langchain_core_messages.isToolMessage)(message)).map((message) => ({
64
- id: message.tool_call_id,
65
- result: message.content
66
- }));
46
+ function parseJumpToTarget(target) {
47
+ if (!target) return void 0;
48
+ /**
49
+ * if target is already a valid jump target, return it
50
+ */
51
+ if ([
52
+ "model_request",
53
+ "tools",
54
+ __langchain_langgraph.END
55
+ ].includes(target)) return target;
56
+ if (target === "model") return "model_request";
57
+ if (target === "tools") return "tools";
58
+ if (target === "end") return __langchain_langgraph.END;
59
+ throw new Error(`Invalid jump target: ${target}, must be "model", "tools" or "end".`);
67
60
  }
68
61
 
69
62
  //#endregion
70
63
  exports.derivePrivateState = derivePrivateState;
71
64
  exports.initializeMiddlewareStates = initializeMiddlewareStates;
72
- exports.parseToolCalls = parseToolCalls;
73
- exports.parseToolResults = parseToolResults;
65
+ exports.parseJumpToTarget = parseJumpToTarget;
74
66
  //# sourceMappingURL=utils.cjs.map