langchain 1.0.0-alpha.7 → 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 (1418) hide show
  1. package/dist/agents/ReactAgent.cjs +2 -2
  2. package/dist/agents/ReactAgent.cjs.map +1 -1
  3. package/dist/agents/ReactAgent.js +2 -2
  4. package/dist/agents/ReactAgent.js.map +1 -1
  5. package/dist/agents/RunnableCallable.cjs +10 -0
  6. package/dist/agents/RunnableCallable.cjs.map +1 -1
  7. package/dist/agents/RunnableCallable.d.cts +5 -0
  8. package/dist/agents/RunnableCallable.d.cts.map +1 -1
  9. package/dist/agents/RunnableCallable.d.ts +5 -0
  10. package/dist/agents/RunnableCallable.d.ts.map +1 -1
  11. package/dist/agents/RunnableCallable.js +10 -0
  12. package/dist/agents/RunnableCallable.js.map +1 -1
  13. package/dist/agents/annotation.cjs +14 -0
  14. package/dist/agents/annotation.cjs.map +1 -1
  15. package/dist/agents/annotation.d.cts +12 -7
  16. package/dist/agents/annotation.d.cts.map +1 -1
  17. package/dist/agents/annotation.d.ts +11 -6
  18. package/dist/agents/annotation.d.ts.map +1 -1
  19. package/dist/agents/annotation.js +12 -1
  20. package/dist/agents/annotation.js.map +1 -1
  21. package/dist/agents/errors.d.cts +9 -2
  22. package/dist/agents/errors.d.cts.map +1 -1
  23. package/dist/agents/errors.d.ts +9 -2
  24. package/dist/agents/errors.d.ts.map +1 -1
  25. package/dist/agents/index.cjs +3 -0
  26. package/dist/agents/index.cjs.map +1 -1
  27. package/dist/agents/index.d.cts +6 -5
  28. package/dist/agents/index.d.cts.map +1 -1
  29. package/dist/agents/index.d.ts +6 -5
  30. package/dist/agents/index.d.ts.map +1 -1
  31. package/dist/agents/index.js +4 -1
  32. package/dist/agents/index.js.map +1 -1
  33. package/dist/agents/interrupt.d.cts +5 -16
  34. package/dist/agents/interrupt.d.cts.map +1 -1
  35. package/dist/agents/interrupt.d.ts +3 -17
  36. package/dist/agents/interrupt.d.ts.map +1 -1
  37. package/dist/agents/interrupt.js +3 -1
  38. package/dist/agents/middlewareAgent/ReactAgent.cjs +145 -28
  39. package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -1
  40. package/dist/agents/middlewareAgent/ReactAgent.d.cts +92 -12
  41. package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -1
  42. package/dist/agents/middlewareAgent/ReactAgent.d.ts +92 -12
  43. package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -1
  44. package/dist/agents/middlewareAgent/ReactAgent.js +145 -28
  45. package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -1
  46. package/dist/agents/middlewareAgent/middleware/callLimit.cjs +128 -0
  47. package/dist/agents/middlewareAgent/middleware/callLimit.cjs.map +1 -0
  48. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts +119 -0
  49. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts.map +1 -0
  50. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts +119 -0
  51. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts.map +1 -0
  52. package/dist/agents/middlewareAgent/middleware/callLimit.js +127 -0
  53. package/dist/agents/middlewareAgent/middleware/callLimit.js.map +1 -0
  54. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs +278 -0
  55. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs.map +1 -0
  56. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts +239 -0
  57. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts.map +1 -0
  58. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts +239 -0
  59. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts.map +1 -0
  60. package/dist/agents/middlewareAgent/middleware/contextEditing.js +276 -0
  61. package/dist/agents/middlewareAgent/middleware/contextEditing.js.map +1 -0
  62. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs +1 -1
  63. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs.map +1 -1
  64. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts +2 -2
  65. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts.map +1 -1
  66. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts +2 -2
  67. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts.map +1 -1
  68. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js +1 -1
  69. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js.map +1 -1
  70. package/dist/agents/middlewareAgent/middleware/hitl.cjs +38 -8
  71. package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -1
  72. package/dist/agents/middlewareAgent/middleware/hitl.d.cts +130 -25
  73. package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -1
  74. package/dist/agents/middlewareAgent/middleware/hitl.d.ts +129 -24
  75. package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -1
  76. package/dist/agents/middlewareAgent/middleware/hitl.js +38 -8
  77. package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -1
  78. package/dist/agents/middlewareAgent/middleware/index.cjs +26 -6
  79. package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -1
  80. package/dist/agents/middlewareAgent/middleware/index.d.cts +10 -3
  81. package/dist/agents/middlewareAgent/middleware/index.d.ts +10 -3
  82. package/dist/agents/middlewareAgent/middleware/index.js +17 -4
  83. package/dist/agents/middlewareAgent/middleware/index.js.map +1 -1
  84. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs +193 -0
  85. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs.map +1 -0
  86. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts +83 -0
  87. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts.map +1 -0
  88. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts +83 -0
  89. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts.map +1 -0
  90. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js +192 -0
  91. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js.map +1 -0
  92. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs +67 -0
  93. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs.map +1 -0
  94. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts +45 -0
  95. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts.map +1 -0
  96. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts +45 -0
  97. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts.map +1 -0
  98. package/dist/agents/middlewareAgent/middleware/modelFallback.js +67 -0
  99. package/dist/agents/middlewareAgent/middleware/modelFallback.js.map +1 -0
  100. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs +333 -0
  101. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs.map +1 -0
  102. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts +155 -0
  103. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts.map +1 -0
  104. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts +155 -0
  105. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts.map +1 -0
  106. package/dist/agents/middlewareAgent/middleware/piiRedaction.js +332 -0
  107. package/dist/agents/middlewareAgent/middleware/piiRedaction.js.map +1 -0
  108. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs +50 -38
  109. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -1
  110. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts +18 -18
  111. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -1
  112. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts +17 -17
  113. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -1
  114. package/dist/agents/middlewareAgent/middleware/promptCaching.js +50 -38
  115. package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -1
  116. package/dist/agents/middlewareAgent/middleware/summarization.cjs +3 -23
  117. package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -1
  118. package/dist/agents/middlewareAgent/middleware/summarization.d.cts +10 -17
  119. package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -1
  120. package/dist/agents/middlewareAgent/middleware/summarization.d.ts +2 -9
  121. package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -1
  122. package/dist/agents/middlewareAgent/middleware/summarization.js +3 -22
  123. package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -1
  124. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs +242 -0
  125. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs.map +1 -0
  126. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts +158 -0
  127. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts.map +1 -0
  128. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts +158 -0
  129. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts.map +1 -0
  130. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js +240 -0
  131. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js.map +1 -0
  132. package/dist/agents/middlewareAgent/middleware/utils.cjs +26 -0
  133. package/dist/agents/middlewareAgent/middleware/utils.cjs.map +1 -0
  134. package/dist/agents/middlewareAgent/middleware/utils.d.cts +13 -0
  135. package/dist/agents/middlewareAgent/middleware/utils.d.cts.map +1 -0
  136. package/dist/agents/middlewareAgent/middleware/utils.d.ts +13 -0
  137. package/dist/agents/middlewareAgent/middleware/utils.d.ts.map +1 -0
  138. package/dist/agents/middlewareAgent/middleware/utils.js +25 -0
  139. package/dist/agents/middlewareAgent/middleware/utils.js.map +1 -0
  140. package/dist/agents/middlewareAgent/middleware.cjs +1 -0
  141. package/dist/agents/middlewareAgent/middleware.cjs.map +1 -1
  142. package/dist/agents/middlewareAgent/middleware.d.cts +14 -3
  143. package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -1
  144. package/dist/agents/middlewareAgent/middleware.d.ts +14 -3
  145. package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -1
  146. package/dist/agents/middlewareAgent/middleware.js +1 -0
  147. package/dist/agents/middlewareAgent/middleware.js.map +1 -1
  148. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +2 -2
  149. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -1
  150. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +2 -2
  151. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -1
  152. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +172 -78
  153. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -1
  154. package/dist/agents/middlewareAgent/nodes/AgentNode.js +173 -79
  155. package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -1
  156. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +2 -2
  157. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -1
  158. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +2 -2
  159. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -1
  160. package/dist/agents/middlewareAgent/nodes/middleware.cjs +11 -10
  161. package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -1
  162. package/dist/agents/middlewareAgent/nodes/middleware.js +12 -11
  163. package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -1
  164. package/dist/agents/middlewareAgent/nodes/utils.cjs +8 -30
  165. package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -1
  166. package/dist/agents/middlewareAgent/nodes/utils.js +9 -30
  167. package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -1
  168. package/dist/agents/middlewareAgent/types.d.cts +56 -51
  169. package/dist/agents/middlewareAgent/types.d.cts.map +1 -1
  170. package/dist/agents/middlewareAgent/types.d.ts +56 -51
  171. package/dist/agents/middlewareAgent/types.d.ts.map +1 -1
  172. package/dist/agents/nodes/ToolNode.d.cts +1 -1
  173. package/dist/agents/tests/utils.cjs +77 -0
  174. package/dist/agents/tests/utils.cjs.map +1 -0
  175. package/dist/agents/tests/utils.d.cts +53 -0
  176. package/dist/agents/tests/utils.d.cts.map +1 -0
  177. package/dist/agents/tests/utils.d.ts +53 -0
  178. package/dist/agents/tests/utils.d.ts.map +1 -0
  179. package/dist/agents/tests/utils.js +76 -0
  180. package/dist/agents/tests/utils.js.map +1 -0
  181. package/dist/agents/types.cjs +7 -0
  182. package/dist/agents/types.cjs.map +1 -0
  183. package/dist/agents/types.d.cts +38 -4
  184. package/dist/agents/types.d.cts.map +1 -1
  185. package/dist/agents/types.d.ts +38 -4
  186. package/dist/agents/types.d.ts.map +1 -1
  187. package/dist/agents/types.js +6 -0
  188. package/dist/agents/types.js.map +1 -0
  189. package/dist/chat_models/universal.cjs +7 -0
  190. package/dist/chat_models/universal.cjs.map +1 -1
  191. package/dist/chat_models/universal.d.cts +7 -2
  192. package/dist/chat_models/universal.d.cts.map +1 -1
  193. package/dist/chat_models/universal.d.ts +7 -2
  194. package/dist/chat_models/universal.d.ts.map +1 -1
  195. package/dist/chat_models/universal.js +7 -0
  196. package/dist/chat_models/universal.js.map +1 -1
  197. package/dist/hub/base.cjs +4 -1
  198. package/dist/hub/base.cjs.map +1 -1
  199. package/dist/hub/base.js +4 -1
  200. package/dist/hub/base.js.map +1 -1
  201. package/dist/index.cjs +64 -6
  202. package/dist/index.cjs.map +1 -1
  203. package/dist/index.d.cts +18 -9
  204. package/dist/index.d.ts +18 -9
  205. package/dist/index.js +37 -5
  206. package/dist/index.js.map +1 -1
  207. package/dist/load/import_constants.cjs +0 -19
  208. package/dist/load/import_constants.cjs.map +1 -1
  209. package/dist/load/import_constants.js +0 -19
  210. package/dist/load/import_constants.js.map +1 -1
  211. package/dist/load/import_map.cjs +2 -113
  212. package/dist/load/import_map.cjs.map +1 -1
  213. package/dist/load/import_map.js +3 -114
  214. package/dist/load/import_map.js.map +1 -1
  215. package/dist/load/serializable.d.cts +1 -10
  216. package/dist/load/serializable.d.ts +1 -10
  217. 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
  218. 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
  219. 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
  220. 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
  221. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs +83 -0
  222. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs.map +1 -0
  223. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js +79 -0
  224. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js.map +1 -0
  225. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs +16 -0
  226. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs.map +1 -0
  227. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js +13 -0
  228. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js.map +1 -0
  229. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs +77 -0
  230. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs.map +1 -0
  231. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js +74 -0
  232. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js.map +1 -0
  233. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs +115 -0
  234. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs.map +1 -0
  235. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js +112 -0
  236. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js.map +1 -0
  237. package/dist/storage/encoder_backed.cjs +1 -1
  238. package/dist/storage/encoder_backed.d.cts +1 -1
  239. package/dist/storage/encoder_backed.d.ts +1 -1
  240. package/dist/storage/encoder_backed.js +1 -1
  241. package/dist/storage/file_system.cjs +1 -1
  242. package/dist/storage/file_system.js +1 -1
  243. package/package.json +36 -649
  244. package/dist/agents/middlewareAgent/middleware/bigTool.cjs +0 -162
  245. package/dist/agents/middlewareAgent/middleware/bigTool.cjs.map +0 -1
  246. package/dist/agents/middlewareAgent/middleware/bigTool.d.cts +0 -113
  247. package/dist/agents/middlewareAgent/middleware/bigTool.d.cts.map +0 -1
  248. package/dist/agents/middlewareAgent/middleware/bigTool.d.ts +0 -113
  249. package/dist/agents/middlewareAgent/middleware/bigTool.d.ts.map +0 -1
  250. package/dist/agents/middlewareAgent/middleware/bigTool.js +0 -161
  251. package/dist/agents/middlewareAgent/middleware/bigTool.js.map +0 -1
  252. package/dist/chains/analyze_documents_chain.cjs +0 -83
  253. package/dist/chains/analyze_documents_chain.cjs.map +0 -1
  254. package/dist/chains/analyze_documents_chain.d.cts +0 -58
  255. package/dist/chains/analyze_documents_chain.d.cts.map +0 -1
  256. package/dist/chains/analyze_documents_chain.d.ts +0 -58
  257. package/dist/chains/analyze_documents_chain.d.ts.map +0 -1
  258. package/dist/chains/analyze_documents_chain.js +0 -82
  259. package/dist/chains/analyze_documents_chain.js.map +0 -1
  260. package/dist/chains/api/api_chain.cjs +0 -100
  261. package/dist/chains/api/api_chain.cjs.map +0 -1
  262. package/dist/chains/api/api_chain.d.cts +0 -63
  263. package/dist/chains/api/api_chain.d.cts.map +0 -1
  264. package/dist/chains/api/api_chain.d.ts +0 -63
  265. package/dist/chains/api/api_chain.d.ts.map +0 -1
  266. package/dist/chains/api/api_chain.js +0 -100
  267. package/dist/chains/api/api_chain.js.map +0 -1
  268. package/dist/chains/api/prompts.cjs +0 -38
  269. package/dist/chains/api/prompts.cjs.map +0 -1
  270. package/dist/chains/api/prompts.js +0 -36
  271. package/dist/chains/api/prompts.js.map +0 -1
  272. package/dist/chains/base.cjs +0 -180
  273. package/dist/chains/base.cjs.map +0 -1
  274. package/dist/chains/base.d.cts +0 -88
  275. package/dist/chains/base.d.cts.map +0 -1
  276. package/dist/chains/base.d.ts +0 -88
  277. package/dist/chains/base.d.ts.map +0 -1
  278. package/dist/chains/base.js +0 -179
  279. package/dist/chains/base.js.map +0 -1
  280. package/dist/chains/chat_vector_db_chain.cjs +0 -130
  281. package/dist/chains/chat_vector_db_chain.cjs.map +0 -1
  282. package/dist/chains/chat_vector_db_chain.d.cts +0 -62
  283. package/dist/chains/chat_vector_db_chain.d.cts.map +0 -1
  284. package/dist/chains/chat_vector_db_chain.d.ts +0 -62
  285. package/dist/chains/chat_vector_db_chain.d.ts.map +0 -1
  286. package/dist/chains/chat_vector_db_chain.js +0 -129
  287. package/dist/chains/chat_vector_db_chain.js.map +0 -1
  288. package/dist/chains/combine_docs_chain.cjs +0 -275
  289. package/dist/chains/combine_docs_chain.cjs.map +0 -1
  290. package/dist/chains/combine_docs_chain.d.cts +0 -126
  291. package/dist/chains/combine_docs_chain.d.cts.map +0 -1
  292. package/dist/chains/combine_docs_chain.d.ts +0 -126
  293. package/dist/chains/combine_docs_chain.d.ts.map +0 -1
  294. package/dist/chains/combine_docs_chain.js +0 -272
  295. package/dist/chains/combine_docs_chain.js.map +0 -1
  296. package/dist/chains/combine_documents/base.cjs +0 -22
  297. package/dist/chains/combine_documents/base.cjs.map +0 -1
  298. package/dist/chains/combine_documents/base.js +0 -18
  299. package/dist/chains/combine_documents/base.js.map +0 -1
  300. package/dist/chains/combine_documents/index.cjs +0 -16
  301. package/dist/chains/combine_documents/index.cjs.map +0 -1
  302. package/dist/chains/combine_documents/index.d.cts +0 -2
  303. package/dist/chains/combine_documents/index.d.ts +0 -2
  304. package/dist/chains/combine_documents/index.js +0 -10
  305. package/dist/chains/combine_documents/index.js.map +0 -1
  306. package/dist/chains/combine_documents/reduce.cjs +0 -73
  307. package/dist/chains/combine_documents/reduce.cjs.map +0 -1
  308. package/dist/chains/combine_documents/reduce.d.cts +0 -36
  309. package/dist/chains/combine_documents/reduce.d.cts.map +0 -1
  310. package/dist/chains/combine_documents/reduce.d.ts +0 -36
  311. package/dist/chains/combine_documents/reduce.d.ts.map +0 -1
  312. package/dist/chains/combine_documents/reduce.js +0 -66
  313. package/dist/chains/combine_documents/reduce.js.map +0 -1
  314. package/dist/chains/combine_documents/stuff.cjs +0 -41
  315. package/dist/chains/combine_documents/stuff.cjs.map +0 -1
  316. package/dist/chains/combine_documents/stuff.d.cts +0 -40
  317. package/dist/chains/combine_documents/stuff.d.cts.map +0 -1
  318. package/dist/chains/combine_documents/stuff.d.ts +0 -40
  319. package/dist/chains/combine_documents/stuff.d.ts.map +0 -1
  320. package/dist/chains/combine_documents/stuff.js +0 -40
  321. package/dist/chains/combine_documents/stuff.js.map +0 -1
  322. package/dist/chains/constitutional_ai/constitutional_chain.cjs +0 -131
  323. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +0 -1
  324. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -79
  325. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +0 -1
  326. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -79
  327. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +0 -1
  328. package/dist/chains/constitutional_ai/constitutional_chain.js +0 -131
  329. package/dist/chains/constitutional_ai/constitutional_chain.js.map +0 -1
  330. package/dist/chains/constitutional_ai/constitutional_principle.cjs +0 -322
  331. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +0 -1
  332. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -50
  333. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +0 -1
  334. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -50
  335. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +0 -1
  336. package/dist/chains/constitutional_ai/constitutional_principle.js +0 -320
  337. package/dist/chains/constitutional_ai/constitutional_principle.js.map +0 -1
  338. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +0 -96
  339. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +0 -1
  340. package/dist/chains/constitutional_ai/constitutional_prompts.js +0 -94
  341. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +0 -1
  342. package/dist/chains/conversation.cjs +0 -50
  343. package/dist/chains/conversation.cjs.map +0 -1
  344. package/dist/chains/conversation.d.cts +0 -34
  345. package/dist/chains/conversation.d.cts.map +0 -1
  346. package/dist/chains/conversation.d.ts +0 -34
  347. package/dist/chains/conversation.d.ts.map +0 -1
  348. package/dist/chains/conversation.js +0 -48
  349. package/dist/chains/conversation.js.map +0 -1
  350. package/dist/chains/conversational_retrieval_chain.cjs +0 -218
  351. package/dist/chains/conversational_retrieval_chain.cjs.map +0 -1
  352. package/dist/chains/conversational_retrieval_chain.d.cts +0 -152
  353. package/dist/chains/conversational_retrieval_chain.d.cts.map +0 -1
  354. package/dist/chains/conversational_retrieval_chain.d.ts +0 -152
  355. package/dist/chains/conversational_retrieval_chain.d.ts.map +0 -1
  356. package/dist/chains/conversational_retrieval_chain.js +0 -217
  357. package/dist/chains/conversational_retrieval_chain.js.map +0 -1
  358. package/dist/chains/graph_qa/cypher.cjs +0 -133
  359. package/dist/chains/graph_qa/cypher.cjs.map +0 -1
  360. package/dist/chains/graph_qa/cypher.d.cts +0 -76
  361. package/dist/chains/graph_qa/cypher.d.cts.map +0 -1
  362. package/dist/chains/graph_qa/cypher.d.ts +0 -76
  363. package/dist/chains/graph_qa/cypher.d.ts.map +0 -1
  364. package/dist/chains/graph_qa/cypher.js +0 -126
  365. package/dist/chains/graph_qa/cypher.js.map +0 -1
  366. package/dist/chains/graph_qa/prompts.cjs +0 -46
  367. package/dist/chains/graph_qa/prompts.cjs.map +0 -1
  368. package/dist/chains/graph_qa/prompts.js +0 -44
  369. package/dist/chains/graph_qa/prompts.js.map +0 -1
  370. package/dist/chains/history_aware_retriever.cjs +0 -55
  371. package/dist/chains/history_aware_retriever.cjs.map +0 -1
  372. package/dist/chains/history_aware_retriever.d.cts +0 -64
  373. package/dist/chains/history_aware_retriever.d.cts.map +0 -1
  374. package/dist/chains/history_aware_retriever.d.ts +0 -64
  375. package/dist/chains/history_aware_retriever.d.ts.map +0 -1
  376. package/dist/chains/history_aware_retriever.js +0 -49
  377. package/dist/chains/history_aware_retriever.js.map +0 -1
  378. package/dist/chains/index.cjs +0 -106
  379. package/dist/chains/index.cjs.map +0 -1
  380. package/dist/chains/index.d.cts +0 -25
  381. package/dist/chains/index.d.ts +0 -25
  382. package/dist/chains/index.js +0 -67
  383. package/dist/chains/index.js.map +0 -1
  384. package/dist/chains/llm_chain.cjs +0 -155
  385. package/dist/chains/llm_chain.cjs.map +0 -1
  386. package/dist/chains/llm_chain.d.cts +0 -97
  387. package/dist/chains/llm_chain.d.cts.map +0 -1
  388. package/dist/chains/llm_chain.d.ts +0 -97
  389. package/dist/chains/llm_chain.d.ts.map +0 -1
  390. package/dist/chains/llm_chain.js +0 -154
  391. package/dist/chains/llm_chain.js.map +0 -1
  392. package/dist/chains/load.cjs +0 -48
  393. package/dist/chains/load.cjs.map +0 -1
  394. package/dist/chains/load.d.cts +0 -30
  395. package/dist/chains/load.d.cts.map +0 -1
  396. package/dist/chains/load.d.ts +0 -30
  397. package/dist/chains/load.d.ts.map +0 -1
  398. package/dist/chains/load.js +0 -42
  399. package/dist/chains/load.js.map +0 -1
  400. package/dist/chains/openai_functions/base.cjs +0 -139
  401. package/dist/chains/openai_functions/base.cjs.map +0 -1
  402. package/dist/chains/openai_functions/base.d.cts +0 -172
  403. package/dist/chains/openai_functions/base.d.cts.map +0 -1
  404. package/dist/chains/openai_functions/base.d.ts +0 -172
  405. package/dist/chains/openai_functions/base.d.ts.map +0 -1
  406. package/dist/chains/openai_functions/base.js +0 -137
  407. package/dist/chains/openai_functions/base.js.map +0 -1
  408. package/dist/chains/openai_functions/extraction.cjs +0 -71
  409. package/dist/chains/openai_functions/extraction.cjs.map +0 -1
  410. package/dist/chains/openai_functions/extraction.d.cts +0 -29
  411. package/dist/chains/openai_functions/extraction.d.cts.map +0 -1
  412. package/dist/chains/openai_functions/extraction.d.ts +0 -29
  413. package/dist/chains/openai_functions/extraction.d.ts.map +0 -1
  414. package/dist/chains/openai_functions/extraction.js +0 -69
  415. package/dist/chains/openai_functions/extraction.js.map +0 -1
  416. package/dist/chains/openai_functions/index.cjs +0 -33
  417. package/dist/chains/openai_functions/index.cjs.map +0 -1
  418. package/dist/chains/openai_functions/index.d.cts +0 -5
  419. package/dist/chains/openai_functions/index.d.ts +0 -5
  420. package/dist/chains/openai_functions/index.js +0 -21
  421. package/dist/chains/openai_functions/index.js.map +0 -1
  422. package/dist/chains/openai_functions/openapi.cjs +0 -287
  423. package/dist/chains/openai_functions/openapi.cjs.map +0 -1
  424. package/dist/chains/openai_functions/openapi.d.cts +0 -61
  425. package/dist/chains/openai_functions/openapi.d.cts.map +0 -1
  426. package/dist/chains/openai_functions/openapi.d.ts +0 -61
  427. package/dist/chains/openai_functions/openapi.d.ts.map +0 -1
  428. package/dist/chains/openai_functions/openapi.js +0 -285
  429. package/dist/chains/openai_functions/openapi.js.map +0 -1
  430. package/dist/chains/openai_functions/tagging.cjs +0 -72
  431. package/dist/chains/openai_functions/tagging.cjs.map +0 -1
  432. package/dist/chains/openai_functions/tagging.d.cts +0 -47
  433. package/dist/chains/openai_functions/tagging.d.cts.map +0 -1
  434. package/dist/chains/openai_functions/tagging.d.ts +0 -47
  435. package/dist/chains/openai_functions/tagging.d.ts.map +0 -1
  436. package/dist/chains/openai_functions/tagging.js +0 -70
  437. package/dist/chains/openai_functions/tagging.js.map +0 -1
  438. package/dist/chains/query_constructor/index.cjs +0 -145
  439. package/dist/chains/query_constructor/index.cjs.map +0 -1
  440. package/dist/chains/query_constructor/index.d.cts +0 -82
  441. package/dist/chains/query_constructor/index.d.cts.map +0 -1
  442. package/dist/chains/query_constructor/index.d.ts +0 -82
  443. package/dist/chains/query_constructor/index.d.ts.map +0 -1
  444. package/dist/chains/query_constructor/index.js +0 -130
  445. package/dist/chains/query_constructor/index.js.map +0 -1
  446. package/dist/chains/query_constructor/ir.cjs +0 -22
  447. package/dist/chains/query_constructor/ir.cjs.map +0 -1
  448. package/dist/chains/query_constructor/ir.d.cts +0 -1
  449. package/dist/chains/query_constructor/ir.d.ts +0 -1
  450. package/dist/chains/query_constructor/ir.js +0 -12
  451. package/dist/chains/query_constructor/ir.js.map +0 -1
  452. package/dist/chains/query_constructor/parser.cjs +0 -80
  453. package/dist/chains/query_constructor/parser.cjs.map +0 -1
  454. package/dist/chains/query_constructor/parser.d.cts +0 -43
  455. package/dist/chains/query_constructor/parser.d.cts.map +0 -1
  456. package/dist/chains/query_constructor/parser.d.ts +0 -43
  457. package/dist/chains/query_constructor/parser.d.ts.map +0 -1
  458. package/dist/chains/query_constructor/parser.js +0 -79
  459. package/dist/chains/query_constructor/parser.js.map +0 -1
  460. package/dist/chains/query_constructor/prompt.cjs +0 -137
  461. package/dist/chains/query_constructor/prompt.cjs.map +0 -1
  462. package/dist/chains/query_constructor/prompt.d.cts +0 -22
  463. package/dist/chains/query_constructor/prompt.d.cts.map +0 -1
  464. package/dist/chains/query_constructor/prompt.d.ts +0 -22
  465. package/dist/chains/query_constructor/prompt.d.ts.map +0 -1
  466. package/dist/chains/query_constructor/prompt.js +0 -132
  467. package/dist/chains/query_constructor/prompt.js.map +0 -1
  468. package/dist/chains/question_answering/load.cjs +0 -99
  469. package/dist/chains/question_answering/load.cjs.map +0 -1
  470. package/dist/chains/question_answering/load.d.cts +0 -72
  471. package/dist/chains/question_answering/load.d.cts.map +0 -1
  472. package/dist/chains/question_answering/load.d.ts +0 -72
  473. package/dist/chains/question_answering/load.d.ts.map +0 -1
  474. package/dist/chains/question_answering/load.js +0 -96
  475. package/dist/chains/question_answering/load.js.map +0 -1
  476. package/dist/chains/question_answering/map_reduce_prompts.cjs +0 -61
  477. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +0 -1
  478. package/dist/chains/question_answering/map_reduce_prompts.js +0 -59
  479. package/dist/chains/question_answering/map_reduce_prompts.js.map +0 -1
  480. package/dist/chains/question_answering/refine_prompts.cjs +0 -60
  481. package/dist/chains/question_answering/refine_prompts.cjs.map +0 -1
  482. package/dist/chains/question_answering/refine_prompts.js +0 -58
  483. package/dist/chains/question_answering/refine_prompts.js.map +0 -1
  484. package/dist/chains/question_answering/stuff_prompts.cjs +0 -20
  485. package/dist/chains/question_answering/stuff_prompts.cjs.map +0 -1
  486. package/dist/chains/question_answering/stuff_prompts.js +0 -19
  487. package/dist/chains/question_answering/stuff_prompts.js.map +0 -1
  488. package/dist/chains/retrieval.cjs +0 -55
  489. package/dist/chains/retrieval.cjs.map +0 -1
  490. package/dist/chains/retrieval.d.cts +0 -77
  491. package/dist/chains/retrieval.d.cts.map +0 -1
  492. package/dist/chains/retrieval.d.ts +0 -77
  493. package/dist/chains/retrieval.d.ts.map +0 -1
  494. package/dist/chains/retrieval.js +0 -49
  495. package/dist/chains/retrieval.js.map +0 -1
  496. package/dist/chains/retrieval_qa.cjs +0 -106
  497. package/dist/chains/retrieval_qa.cjs.map +0 -1
  498. package/dist/chains/retrieval_qa.d.cts +0 -81
  499. package/dist/chains/retrieval_qa.d.cts.map +0 -1
  500. package/dist/chains/retrieval_qa.d.ts +0 -81
  501. package/dist/chains/retrieval_qa.d.ts.map +0 -1
  502. package/dist/chains/retrieval_qa.js +0 -106
  503. package/dist/chains/retrieval_qa.js.map +0 -1
  504. package/dist/chains/router/llm_router.cjs +0 -50
  505. package/dist/chains/router/llm_router.cjs.map +0 -1
  506. package/dist/chains/router/llm_router.d.cts +0 -54
  507. package/dist/chains/router/llm_router.d.cts.map +0 -1
  508. package/dist/chains/router/llm_router.d.ts +0 -54
  509. package/dist/chains/router/llm_router.d.ts.map +0 -1
  510. package/dist/chains/router/llm_router.js +0 -50
  511. package/dist/chains/router/llm_router.js.map +0 -1
  512. package/dist/chains/router/multi_prompt.cjs +0 -116
  513. package/dist/chains/router/multi_prompt.cjs.map +0 -1
  514. package/dist/chains/router/multi_prompt.d.cts +0 -76
  515. package/dist/chains/router/multi_prompt.d.cts.map +0 -1
  516. package/dist/chains/router/multi_prompt.d.ts +0 -76
  517. package/dist/chains/router/multi_prompt.d.ts.map +0 -1
  518. package/dist/chains/router/multi_prompt.js +0 -115
  519. package/dist/chains/router/multi_prompt.js.map +0 -1
  520. package/dist/chains/router/multi_prompt_prompt.cjs +0 -22
  521. package/dist/chains/router/multi_prompt_prompt.cjs.map +0 -1
  522. package/dist/chains/router/multi_prompt_prompt.js +0 -21
  523. package/dist/chains/router/multi_prompt_prompt.js.map +0 -1
  524. package/dist/chains/router/multi_retrieval_prompt.cjs +0 -22
  525. package/dist/chains/router/multi_retrieval_prompt.cjs.map +0 -1
  526. package/dist/chains/router/multi_retrieval_prompt.js +0 -21
  527. package/dist/chains/router/multi_retrieval_prompt.js.map +0 -1
  528. package/dist/chains/router/multi_retrieval_qa.cjs +0 -137
  529. package/dist/chains/router/multi_retrieval_qa.cjs.map +0 -1
  530. package/dist/chains/router/multi_retrieval_qa.d.cts +0 -100
  531. package/dist/chains/router/multi_retrieval_qa.d.cts.map +0 -1
  532. package/dist/chains/router/multi_retrieval_qa.d.ts +0 -100
  533. package/dist/chains/router/multi_retrieval_qa.d.ts.map +0 -1
  534. package/dist/chains/router/multi_retrieval_qa.js +0 -136
  535. package/dist/chains/router/multi_retrieval_qa.js.map +0 -1
  536. package/dist/chains/router/multi_route.cjs +0 -69
  537. package/dist/chains/router/multi_route.cjs.map +0 -1
  538. package/dist/chains/router/multi_route.d.cts +0 -69
  539. package/dist/chains/router/multi_route.d.cts.map +0 -1
  540. package/dist/chains/router/multi_route.d.ts +0 -69
  541. package/dist/chains/router/multi_route.d.ts.map +0 -1
  542. package/dist/chains/router/multi_route.js +0 -68
  543. package/dist/chains/router/multi_route.js.map +0 -1
  544. package/dist/chains/router/utils.cjs +0 -18
  545. package/dist/chains/router/utils.cjs.map +0 -1
  546. package/dist/chains/router/utils.js +0 -17
  547. package/dist/chains/router/utils.js.map +0 -1
  548. package/dist/chains/sequential_chain.cjs +0 -255
  549. package/dist/chains/sequential_chain.cjs.map +0 -1
  550. package/dist/chains/sequential_chain.d.cts +0 -158
  551. package/dist/chains/sequential_chain.d.cts.map +0 -1
  552. package/dist/chains/sequential_chain.d.ts +0 -158
  553. package/dist/chains/sequential_chain.d.ts.map +0 -1
  554. package/dist/chains/sequential_chain.js +0 -254
  555. package/dist/chains/sequential_chain.js.map +0 -1
  556. package/dist/chains/serde.d.cts +0 -156
  557. package/dist/chains/serde.d.cts.map +0 -1
  558. package/dist/chains/serde.d.ts +0 -156
  559. package/dist/chains/serde.d.ts.map +0 -1
  560. package/dist/chains/sql_db/index.cjs +0 -35
  561. package/dist/chains/sql_db/index.cjs.map +0 -1
  562. package/dist/chains/sql_db/index.d.cts +0 -3
  563. package/dist/chains/sql_db/index.d.ts +0 -3
  564. package/dist/chains/sql_db/index.js +0 -21
  565. package/dist/chains/sql_db/index.js.map +0 -1
  566. package/dist/chains/sql_db/sql_db_chain.cjs +0 -196
  567. package/dist/chains/sql_db/sql_db_chain.cjs.map +0 -1
  568. package/dist/chains/sql_db/sql_db_chain.d.cts +0 -124
  569. package/dist/chains/sql_db/sql_db_chain.d.cts.map +0 -1
  570. package/dist/chains/sql_db/sql_db_chain.d.ts +0 -124
  571. package/dist/chains/sql_db/sql_db_chain.d.ts.map +0 -1
  572. package/dist/chains/sql_db/sql_db_chain.js +0 -194
  573. package/dist/chains/sql_db/sql_db_chain.js.map +0 -1
  574. package/dist/chains/sql_db/sql_db_prompt.cjs +0 -194
  575. package/dist/chains/sql_db/sql_db_prompt.cjs.map +0 -1
  576. package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -44
  577. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +0 -1
  578. package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -44
  579. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +0 -1
  580. package/dist/chains/sql_db/sql_db_prompt.js +0 -186
  581. package/dist/chains/sql_db/sql_db_prompt.js.map +0 -1
  582. package/dist/chains/summarization/load.cjs +0 -74
  583. package/dist/chains/summarization/load.cjs.map +0 -1
  584. package/dist/chains/summarization/load.d.cts +0 -33
  585. package/dist/chains/summarization/load.d.cts.map +0 -1
  586. package/dist/chains/summarization/load.d.ts +0 -33
  587. package/dist/chains/summarization/load.d.ts.map +0 -1
  588. package/dist/chains/summarization/load.js +0 -74
  589. package/dist/chains/summarization/load.js.map +0 -1
  590. package/dist/chains/summarization/refine_prompts.cjs +0 -24
  591. package/dist/chains/summarization/refine_prompts.cjs.map +0 -1
  592. package/dist/chains/summarization/refine_prompts.js +0 -23
  593. package/dist/chains/summarization/refine_prompts.js.map +0 -1
  594. package/dist/chains/summarization/stuff_prompts.cjs +0 -19
  595. package/dist/chains/summarization/stuff_prompts.cjs.map +0 -1
  596. package/dist/chains/summarization/stuff_prompts.js +0 -18
  597. package/dist/chains/summarization/stuff_prompts.js.map +0 -1
  598. package/dist/chains/transform.cjs +0 -43
  599. package/dist/chains/transform.cjs.map +0 -1
  600. package/dist/chains/transform.d.cts +0 -44
  601. package/dist/chains/transform.d.cts.map +0 -1
  602. package/dist/chains/transform.d.ts +0 -44
  603. package/dist/chains/transform.d.ts.map +0 -1
  604. package/dist/chains/transform.js +0 -43
  605. package/dist/chains/transform.js.map +0 -1
  606. package/dist/chains/vector_db_qa.cjs +0 -95
  607. package/dist/chains/vector_db_qa.cjs.map +0 -1
  608. package/dist/chains/vector_db_qa.d.cts +0 -66
  609. package/dist/chains/vector_db_qa.d.cts.map +0 -1
  610. package/dist/chains/vector_db_qa.d.ts +0 -66
  611. package/dist/chains/vector_db_qa.d.ts.map +0 -1
  612. package/dist/chains/vector_db_qa.js +0 -95
  613. package/dist/chains/vector_db_qa.js.map +0 -1
  614. package/dist/document.cjs +0 -21
  615. package/dist/document.cjs.map +0 -1
  616. package/dist/document.d.cts +0 -2
  617. package/dist/document.d.ts +0 -2
  618. package/dist/document.js +0 -10
  619. package/dist/document.js.map +0 -1
  620. package/dist/document_loaders/base.cjs +0 -22
  621. package/dist/document_loaders/base.cjs.map +0 -1
  622. package/dist/document_loaders/base.d.cts +0 -1
  623. package/dist/document_loaders/base.d.ts +0 -1
  624. package/dist/document_loaders/base.js +0 -12
  625. package/dist/document_loaders/base.js.map +0 -1
  626. package/dist/document_loaders/fs/buffer.cjs +0 -69
  627. package/dist/document_loaders/fs/buffer.cjs.map +0 -1
  628. package/dist/document_loaders/fs/buffer.d.cts +0 -46
  629. package/dist/document_loaders/fs/buffer.d.cts.map +0 -1
  630. package/dist/document_loaders/fs/buffer.d.ts +0 -46
  631. package/dist/document_loaders/fs/buffer.d.ts.map +0 -1
  632. package/dist/document_loaders/fs/buffer.js +0 -63
  633. package/dist/document_loaders/fs/buffer.js.map +0 -1
  634. package/dist/document_loaders/fs/directory.cjs +0 -116
  635. package/dist/document_loaders/fs/directory.cjs.map +0 -1
  636. package/dist/document_loaders/fs/directory.d.cts +0 -76
  637. package/dist/document_loaders/fs/directory.d.cts.map +0 -1
  638. package/dist/document_loaders/fs/directory.d.ts +0 -76
  639. package/dist/document_loaders/fs/directory.d.ts.map +0 -1
  640. package/dist/document_loaders/fs/directory.js +0 -109
  641. package/dist/document_loaders/fs/directory.js.map +0 -1
  642. package/dist/document_loaders/fs/json.cjs +0 -128
  643. package/dist/document_loaders/fs/json.cjs.map +0 -1
  644. package/dist/document_loaders/fs/json.d.cts +0 -65
  645. package/dist/document_loaders/fs/json.d.cts.map +0 -1
  646. package/dist/document_loaders/fs/json.d.ts +0 -65
  647. package/dist/document_loaders/fs/json.d.ts.map +0 -1
  648. package/dist/document_loaders/fs/json.js +0 -121
  649. package/dist/document_loaders/fs/json.js.map +0 -1
  650. package/dist/document_loaders/fs/multi_file.cjs +0 -82
  651. package/dist/document_loaders/fs/multi_file.cjs.map +0 -1
  652. package/dist/document_loaders/fs/multi_file.d.cts +0 -43
  653. package/dist/document_loaders/fs/multi_file.d.cts.map +0 -1
  654. package/dist/document_loaders/fs/multi_file.d.ts +0 -43
  655. package/dist/document_loaders/fs/multi_file.d.ts.map +0 -1
  656. package/dist/document_loaders/fs/multi_file.js +0 -76
  657. package/dist/document_loaders/fs/multi_file.js.map +0 -1
  658. package/dist/document_loaders/fs/text.cjs +0 -101
  659. package/dist/document_loaders/fs/text.cjs.map +0 -1
  660. package/dist/document_loaders/fs/text.d.cts +0 -57
  661. package/dist/document_loaders/fs/text.d.cts.map +0 -1
  662. package/dist/document_loaders/fs/text.d.ts +0 -57
  663. package/dist/document_loaders/fs/text.d.ts.map +0 -1
  664. package/dist/document_loaders/fs/text.js +0 -95
  665. package/dist/document_loaders/fs/text.js.map +0 -1
  666. package/dist/evaluation/agents/index.cjs +0 -1
  667. package/dist/evaluation/agents/index.js +0 -1
  668. package/dist/evaluation/agents/prompt.cjs +0 -132
  669. package/dist/evaluation/agents/prompt.cjs.map +0 -1
  670. package/dist/evaluation/agents/prompt.js +0 -130
  671. package/dist/evaluation/agents/prompt.js.map +0 -1
  672. package/dist/evaluation/agents/trajectory.cjs +0 -132
  673. package/dist/evaluation/agents/trajectory.cjs.map +0 -1
  674. package/dist/evaluation/agents/trajectory.d.cts +0 -61
  675. package/dist/evaluation/agents/trajectory.d.cts.map +0 -1
  676. package/dist/evaluation/agents/trajectory.d.ts +0 -61
  677. package/dist/evaluation/agents/trajectory.d.ts.map +0 -1
  678. package/dist/evaluation/agents/trajectory.js +0 -130
  679. package/dist/evaluation/agents/trajectory.js.map +0 -1
  680. package/dist/evaluation/base.cjs +0 -169
  681. package/dist/evaluation/base.cjs.map +0 -1
  682. package/dist/evaluation/base.d.cts +0 -240
  683. package/dist/evaluation/base.d.cts.map +0 -1
  684. package/dist/evaluation/base.d.ts +0 -240
  685. package/dist/evaluation/base.d.ts.map +0 -1
  686. package/dist/evaluation/base.js +0 -164
  687. package/dist/evaluation/base.js.map +0 -1
  688. package/dist/evaluation/comparison/index.cjs +0 -1
  689. package/dist/evaluation/comparison/index.js +0 -1
  690. package/dist/evaluation/comparison/pairwise.cjs +0 -178
  691. package/dist/evaluation/comparison/pairwise.cjs.map +0 -1
  692. package/dist/evaluation/comparison/pairwise.d.cts +0 -56
  693. package/dist/evaluation/comparison/pairwise.d.cts.map +0 -1
  694. package/dist/evaluation/comparison/pairwise.d.ts +0 -56
  695. package/dist/evaluation/comparison/pairwise.d.ts.map +0 -1
  696. package/dist/evaluation/comparison/pairwise.js +0 -175
  697. package/dist/evaluation/comparison/pairwise.js.map +0 -1
  698. package/dist/evaluation/comparison/prompt.cjs +0 -77
  699. package/dist/evaluation/comparison/prompt.cjs.map +0 -1
  700. package/dist/evaluation/comparison/prompt.js +0 -75
  701. package/dist/evaluation/comparison/prompt.js.map +0 -1
  702. package/dist/evaluation/criteria/criteria.cjs +0 -164
  703. package/dist/evaluation/criteria/criteria.cjs.map +0 -1
  704. package/dist/evaluation/criteria/criteria.d.cts +0 -85
  705. package/dist/evaluation/criteria/criteria.d.cts.map +0 -1
  706. package/dist/evaluation/criteria/criteria.d.ts +0 -85
  707. package/dist/evaluation/criteria/criteria.d.ts.map +0 -1
  708. package/dist/evaluation/criteria/criteria.js +0 -161
  709. package/dist/evaluation/criteria/criteria.js.map +0 -1
  710. package/dist/evaluation/criteria/index.cjs +0 -1
  711. package/dist/evaluation/criteria/index.js +0 -1
  712. package/dist/evaluation/criteria/prompt.cjs +0 -50
  713. package/dist/evaluation/criteria/prompt.cjs.map +0 -1
  714. package/dist/evaluation/criteria/prompt.js +0 -48
  715. package/dist/evaluation/criteria/prompt.js.map +0 -1
  716. package/dist/evaluation/embedding_distance/base.cjs +0 -108
  717. package/dist/evaluation/embedding_distance/base.cjs.map +0 -1
  718. package/dist/evaluation/embedding_distance/base.d.cts +0 -82
  719. package/dist/evaluation/embedding_distance/base.d.cts.map +0 -1
  720. package/dist/evaluation/embedding_distance/base.d.ts +0 -82
  721. package/dist/evaluation/embedding_distance/base.d.ts.map +0 -1
  722. package/dist/evaluation/embedding_distance/base.js +0 -105
  723. package/dist/evaluation/embedding_distance/base.js.map +0 -1
  724. package/dist/evaluation/embedding_distance/index.cjs +0 -1
  725. package/dist/evaluation/embedding_distance/index.js +0 -1
  726. package/dist/evaluation/index.cjs +0 -54
  727. package/dist/evaluation/index.cjs.map +0 -1
  728. package/dist/evaluation/index.d.cts +0 -8
  729. package/dist/evaluation/index.d.ts +0 -8
  730. package/dist/evaluation/index.js +0 -35
  731. package/dist/evaluation/index.js.map +0 -1
  732. package/dist/evaluation/loader.cjs +0 -57
  733. package/dist/evaluation/loader.cjs.map +0 -1
  734. package/dist/evaluation/loader.d.cts +0 -38
  735. package/dist/evaluation/loader.d.cts.map +0 -1
  736. package/dist/evaluation/loader.d.ts +0 -38
  737. package/dist/evaluation/loader.d.ts.map +0 -1
  738. package/dist/evaluation/loader.js +0 -56
  739. package/dist/evaluation/loader.js.map +0 -1
  740. package/dist/evaluation/qa/eval_chain.cjs +0 -41
  741. package/dist/evaluation/qa/eval_chain.cjs.map +0 -1
  742. package/dist/evaluation/qa/eval_chain.d.cts +0 -22
  743. package/dist/evaluation/qa/eval_chain.d.cts.map +0 -1
  744. package/dist/evaluation/qa/eval_chain.d.ts +0 -22
  745. package/dist/evaluation/qa/eval_chain.d.ts.map +0 -1
  746. package/dist/evaluation/qa/eval_chain.js +0 -41
  747. package/dist/evaluation/qa/eval_chain.js.map +0 -1
  748. package/dist/evaluation/qa/index.cjs +0 -1
  749. package/dist/evaluation/qa/index.js +0 -1
  750. package/dist/evaluation/qa/prompt.cjs +0 -31
  751. package/dist/evaluation/qa/prompt.cjs.map +0 -1
  752. package/dist/evaluation/qa/prompt.js +0 -30
  753. package/dist/evaluation/qa/prompt.js.map +0 -1
  754. package/dist/evaluation/types.d.cts +0 -40
  755. package/dist/evaluation/types.d.cts.map +0 -1
  756. package/dist/evaluation/types.d.ts +0 -40
  757. package/dist/evaluation/types.d.ts.map +0 -1
  758. package/dist/langchain-core/dist/load/map_keys.d.cts +0 -10
  759. package/dist/langchain-core/dist/load/map_keys.d.cts.map +0 -1
  760. package/dist/langchain-core/dist/load/serializable.d.cts +0 -82
  761. package/dist/langchain-core/dist/load/serializable.d.cts.map +0 -1
  762. package/dist/langchain-core/dist/messages/base.d.cts +0 -125
  763. package/dist/langchain-core/dist/messages/base.d.cts.map +0 -1
  764. package/dist/langchain-core/dist/messages/content/base.d.cts +0 -22
  765. package/dist/langchain-core/dist/messages/content/base.d.cts.map +0 -1
  766. package/dist/langchain-core/dist/messages/content/data.d.cts +0 -96
  767. package/dist/langchain-core/dist/messages/content/data.d.cts.map +0 -1
  768. package/dist/langchain-core/dist/messages/content/index.d.cts +0 -121
  769. package/dist/langchain-core/dist/messages/content/index.d.cts.map +0 -1
  770. package/dist/langchain-core/dist/messages/content/multimodal.d.cts +0 -110
  771. package/dist/langchain-core/dist/messages/content/multimodal.d.cts.map +0 -1
  772. package/dist/langchain-core/dist/messages/content/tools.d.cts +0 -214
  773. package/dist/langchain-core/dist/messages/content/tools.d.cts.map +0 -1
  774. package/dist/langchain-core/dist/messages/message.d.cts +0 -598
  775. package/dist/langchain-core/dist/messages/message.d.cts.map +0 -1
  776. package/dist/langchain-core/dist/messages/metadata.d.cts +0 -97
  777. package/dist/langchain-core/dist/messages/metadata.d.cts.map +0 -1
  778. package/dist/langchain-core/dist/messages/utils.d.cts +0 -75
  779. package/dist/langchain-core/dist/messages/utils.d.cts.map +0 -1
  780. package/dist/langchain-core/dist/prompt_values.d.cts +0 -13
  781. package/dist/langchain-core/dist/prompt_values.d.cts.map +0 -1
  782. package/dist/langchain-core/dist/utils/types/index.d.cts +0 -8
  783. package/dist/langchain-core/dist/utils/types/index.d.cts.map +0 -1
  784. package/dist/libs/langchain-core/dist/load/map_keys.d.ts +0 -10
  785. package/dist/libs/langchain-core/dist/load/map_keys.d.ts.map +0 -1
  786. package/dist/libs/langchain-core/dist/load/serializable.d.ts +0 -82
  787. package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +0 -1
  788. package/dist/libs/langchain-core/dist/messages/base.d.ts +0 -125
  789. package/dist/libs/langchain-core/dist/messages/base.d.ts.map +0 -1
  790. package/dist/libs/langchain-core/dist/messages/content/base.d.ts +0 -22
  791. package/dist/libs/langchain-core/dist/messages/content/base.d.ts.map +0 -1
  792. package/dist/libs/langchain-core/dist/messages/content/data.d.ts +0 -96
  793. package/dist/libs/langchain-core/dist/messages/content/data.d.ts.map +0 -1
  794. package/dist/libs/langchain-core/dist/messages/content/index.d.ts +0 -121
  795. package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +0 -1
  796. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts +0 -110
  797. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts.map +0 -1
  798. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts +0 -214
  799. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts.map +0 -1
  800. package/dist/libs/langchain-core/dist/messages/message.d.ts +0 -598
  801. package/dist/libs/langchain-core/dist/messages/message.d.ts.map +0 -1
  802. package/dist/libs/langchain-core/dist/messages/metadata.d.ts +0 -97
  803. package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +0 -1
  804. package/dist/libs/langchain-core/dist/messages/utils.d.ts +0 -75
  805. package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +0 -1
  806. package/dist/libs/langchain-core/dist/prompt_values.d.ts +0 -13
  807. package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +0 -1
  808. package/dist/libs/langchain-core/dist/utils/types/index.d.ts +0 -10
  809. package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +0 -1
  810. package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +0 -1
  811. package/dist/load/map_keys.d.cts +0 -8
  812. package/dist/load/map_keys.d.cts.map +0 -1
  813. package/dist/load/map_keys.d.ts +0 -8
  814. package/dist/load/map_keys.d.ts.map +0 -1
  815. package/dist/load/serializable.d.cts.map +0 -1
  816. package/dist/load/serializable.d.ts.map +0 -1
  817. package/dist/memory/buffer_memory.cjs +0 -80
  818. package/dist/memory/buffer_memory.cjs.map +0 -1
  819. package/dist/memory/buffer_memory.d.cts +0 -67
  820. package/dist/memory/buffer_memory.d.cts.map +0 -1
  821. package/dist/memory/buffer_memory.d.ts +0 -67
  822. package/dist/memory/buffer_memory.d.ts.map +0 -1
  823. package/dist/memory/buffer_memory.js +0 -79
  824. package/dist/memory/buffer_memory.js.map +0 -1
  825. package/dist/memory/buffer_token_memory.cjs +0 -80
  826. package/dist/memory/buffer_token_memory.cjs.map +0 -1
  827. package/dist/memory/buffer_token_memory.d.cts +0 -67
  828. package/dist/memory/buffer_token_memory.d.cts.map +0 -1
  829. package/dist/memory/buffer_token_memory.d.ts +0 -67
  830. package/dist/memory/buffer_token_memory.d.ts.map +0 -1
  831. package/dist/memory/buffer_token_memory.js +0 -79
  832. package/dist/memory/buffer_token_memory.js.map +0 -1
  833. package/dist/memory/buffer_window_memory.cjs +0 -77
  834. package/dist/memory/buffer_window_memory.cjs.map +0 -1
  835. package/dist/memory/buffer_window_memory.d.cts +0 -64
  836. package/dist/memory/buffer_window_memory.d.cts.map +0 -1
  837. package/dist/memory/buffer_window_memory.d.ts +0 -64
  838. package/dist/memory/buffer_window_memory.d.ts.map +0 -1
  839. package/dist/memory/buffer_window_memory.js +0 -76
  840. package/dist/memory/buffer_window_memory.js.map +0 -1
  841. package/dist/memory/chat_memory.cjs +0 -53
  842. package/dist/memory/chat_memory.cjs.map +0 -1
  843. package/dist/memory/chat_memory.d.cts +0 -42
  844. package/dist/memory/chat_memory.d.cts.map +0 -1
  845. package/dist/memory/chat_memory.d.ts +0 -42
  846. package/dist/memory/chat_memory.d.ts.map +0 -1
  847. package/dist/memory/chat_memory.js +0 -47
  848. package/dist/memory/chat_memory.js.map +0 -1
  849. package/dist/memory/combined_memory.cjs +0 -88
  850. package/dist/memory/combined_memory.cjs.map +0 -1
  851. package/dist/memory/combined_memory.d.cts +0 -60
  852. package/dist/memory/combined_memory.d.cts.map +0 -1
  853. package/dist/memory/combined_memory.d.ts +0 -60
  854. package/dist/memory/combined_memory.d.ts.map +0 -1
  855. package/dist/memory/combined_memory.js +0 -88
  856. package/dist/memory/combined_memory.js.map +0 -1
  857. package/dist/memory/entity_memory.cjs +0 -144
  858. package/dist/memory/entity_memory.cjs.map +0 -1
  859. package/dist/memory/entity_memory.d.cts +0 -99
  860. package/dist/memory/entity_memory.d.cts.map +0 -1
  861. package/dist/memory/entity_memory.d.ts +0 -99
  862. package/dist/memory/entity_memory.d.ts.map +0 -1
  863. package/dist/memory/entity_memory.js +0 -143
  864. package/dist/memory/entity_memory.js.map +0 -1
  865. package/dist/memory/index.cjs +0 -85
  866. package/dist/memory/index.cjs.map +0 -1
  867. package/dist/memory/index.d.cts +0 -14
  868. package/dist/memory/index.d.ts +0 -14
  869. package/dist/memory/index.js +0 -39
  870. package/dist/memory/index.js.map +0 -1
  871. package/dist/memory/prompt.cjs +0 -124
  872. package/dist/memory/prompt.cjs.map +0 -1
  873. package/dist/memory/prompt.d.cts +0 -12
  874. package/dist/memory/prompt.d.cts.map +0 -1
  875. package/dist/memory/prompt.d.ts +0 -12
  876. package/dist/memory/prompt.d.ts.map +0 -1
  877. package/dist/memory/prompt.js +0 -120
  878. package/dist/memory/prompt.js.map +0 -1
  879. package/dist/memory/stores/entity/base.cjs +0 -13
  880. package/dist/memory/stores/entity/base.cjs.map +0 -1
  881. package/dist/memory/stores/entity/base.d.cts +0 -18
  882. package/dist/memory/stores/entity/base.d.cts.map +0 -1
  883. package/dist/memory/stores/entity/base.d.ts +0 -18
  884. package/dist/memory/stores/entity/base.d.ts.map +0 -1
  885. package/dist/memory/stores/entity/base.js +0 -12
  886. package/dist/memory/stores/entity/base.js.map +0 -1
  887. package/dist/memory/stores/entity/in_memory.cjs +0 -64
  888. package/dist/memory/stores/entity/in_memory.cjs.map +0 -1
  889. package/dist/memory/stores/entity/in_memory.js +0 -64
  890. package/dist/memory/stores/entity/in_memory.js.map +0 -1
  891. package/dist/memory/summary.cjs +0 -127
  892. package/dist/memory/summary.cjs.map +0 -1
  893. package/dist/memory/summary.d.cts +0 -101
  894. package/dist/memory/summary.d.cts.map +0 -1
  895. package/dist/memory/summary.d.ts +0 -101
  896. package/dist/memory/summary.d.ts.map +0 -1
  897. package/dist/memory/summary.js +0 -125
  898. package/dist/memory/summary.js.map +0 -1
  899. package/dist/memory/summary_buffer.cjs +0 -117
  900. package/dist/memory/summary_buffer.cjs.map +0 -1
  901. package/dist/memory/summary_buffer.d.cts +0 -90
  902. package/dist/memory/summary_buffer.d.cts.map +0 -1
  903. package/dist/memory/summary_buffer.d.ts +0 -90
  904. package/dist/memory/summary_buffer.d.ts.map +0 -1
  905. package/dist/memory/summary_buffer.js +0 -116
  906. package/dist/memory/summary_buffer.js.map +0 -1
  907. package/dist/memory/vector_store.cjs +0 -87
  908. package/dist/memory/vector_store.cjs.map +0 -1
  909. package/dist/memory/vector_store.d.cts +0 -81
  910. package/dist/memory/vector_store.d.cts.map +0 -1
  911. package/dist/memory/vector_store.d.ts +0 -81
  912. package/dist/memory/vector_store.d.ts.map +0 -1
  913. package/dist/memory/vector_store.js +0 -86
  914. package/dist/memory/vector_store.js.map +0 -1
  915. package/dist/output_parsers/combining.cjs +0 -61
  916. package/dist/output_parsers/combining.cjs.map +0 -1
  917. package/dist/output_parsers/combining.d.cts +0 -46
  918. package/dist/output_parsers/combining.d.cts.map +0 -1
  919. package/dist/output_parsers/combining.d.ts +0 -46
  920. package/dist/output_parsers/combining.d.ts.map +0 -1
  921. package/dist/output_parsers/combining.js +0 -60
  922. package/dist/output_parsers/combining.js.map +0 -1
  923. package/dist/output_parsers/datetime.cjs +0 -46
  924. package/dist/output_parsers/datetime.cjs.map +0 -1
  925. package/dist/output_parsers/datetime.d.cts +0 -33
  926. package/dist/output_parsers/datetime.d.cts.map +0 -1
  927. package/dist/output_parsers/datetime.d.ts +0 -33
  928. package/dist/output_parsers/datetime.d.ts.map +0 -1
  929. package/dist/output_parsers/datetime.js +0 -45
  930. package/dist/output_parsers/datetime.js.map +0 -1
  931. package/dist/output_parsers/expression.cjs +0 -86
  932. package/dist/output_parsers/expression.cjs.map +0 -1
  933. package/dist/output_parsers/expression.d.cts +0 -53
  934. package/dist/output_parsers/expression.d.cts.map +0 -1
  935. package/dist/output_parsers/expression.d.ts +0 -53
  936. package/dist/output_parsers/expression.d.ts.map +0 -1
  937. package/dist/output_parsers/expression.js +0 -79
  938. package/dist/output_parsers/expression.js.map +0 -1
  939. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +0 -38
  940. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +0 -1
  941. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +0 -38
  942. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +0 -1
  943. package/dist/output_parsers/expression_type_handlers/base.cjs +0 -130
  944. package/dist/output_parsers/expression_type_handlers/base.cjs.map +0 -1
  945. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -108
  946. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +0 -1
  947. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -108
  948. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +0 -1
  949. package/dist/output_parsers/expression_type_handlers/base.js +0 -129
  950. package/dist/output_parsers/expression_type_handlers/base.js.map +0 -1
  951. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +0 -38
  952. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +0 -1
  953. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +0 -38
  954. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +0 -1
  955. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +0 -64
  956. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +0 -1
  957. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +0 -64
  958. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +0 -1
  959. package/dist/output_parsers/expression_type_handlers/factory.cjs +0 -68
  960. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +0 -1
  961. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -35
  962. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +0 -1
  963. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -35
  964. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +0 -1
  965. package/dist/output_parsers/expression_type_handlers/factory.js +0 -68
  966. package/dist/output_parsers/expression_type_handlers/factory.js.map +0 -1
  967. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +0 -299
  968. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +0 -1
  969. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js +0 -298
  970. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +0 -1
  971. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +0 -40
  972. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +0 -1
  973. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +0 -40
  974. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +0 -1
  975. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +0 -48
  976. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +0 -1
  977. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +0 -48
  978. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +0 -1
  979. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +0 -36
  980. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +0 -1
  981. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +0 -36
  982. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +0 -1
  983. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +0 -40
  984. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +0 -1
  985. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +0 -40
  986. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +0 -1
  987. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +0 -45
  988. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +0 -1
  989. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +0 -45
  990. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +0 -1
  991. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +0 -37
  992. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +0 -1
  993. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +0 -37
  994. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +0 -1
  995. package/dist/output_parsers/expression_type_handlers/types.d.cts +0 -95
  996. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +0 -1
  997. package/dist/output_parsers/expression_type_handlers/types.d.ts +0 -95
  998. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +0 -1
  999. package/dist/output_parsers/fix.cjs +0 -92
  1000. package/dist/output_parsers/fix.cjs.map +0 -1
  1001. package/dist/output_parsers/fix.d.cts +0 -60
  1002. package/dist/output_parsers/fix.d.cts.map +0 -1
  1003. package/dist/output_parsers/fix.d.ts +0 -60
  1004. package/dist/output_parsers/fix.d.ts.map +0 -1
  1005. package/dist/output_parsers/fix.js +0 -91
  1006. package/dist/output_parsers/fix.js.map +0 -1
  1007. package/dist/output_parsers/http_response.cjs +0 -53
  1008. package/dist/output_parsers/http_response.cjs.map +0 -1
  1009. package/dist/output_parsers/http_response.d.cts +0 -33
  1010. package/dist/output_parsers/http_response.d.cts.map +0 -1
  1011. package/dist/output_parsers/http_response.d.ts +0 -33
  1012. package/dist/output_parsers/http_response.d.ts.map +0 -1
  1013. package/dist/output_parsers/http_response.js +0 -52
  1014. package/dist/output_parsers/http_response.js.map +0 -1
  1015. package/dist/output_parsers/index.cjs +0 -74
  1016. package/dist/output_parsers/index.cjs.map +0 -1
  1017. package/dist/output_parsers/index.d.cts +0 -11
  1018. package/dist/output_parsers/index.d.ts +0 -11
  1019. package/dist/output_parsers/index.js +0 -37
  1020. package/dist/output_parsers/index.js.map +0 -1
  1021. package/dist/output_parsers/noop.cjs +0 -43
  1022. package/dist/output_parsers/noop.cjs.map +0 -1
  1023. package/dist/output_parsers/noop.js +0 -42
  1024. package/dist/output_parsers/noop.js.map +0 -1
  1025. package/dist/output_parsers/openai_functions.cjs +0 -145
  1026. package/dist/output_parsers/openai_functions.cjs.map +0 -1
  1027. package/dist/output_parsers/openai_functions.d.cts +0 -85
  1028. package/dist/output_parsers/openai_functions.d.cts.map +0 -1
  1029. package/dist/output_parsers/openai_functions.d.ts +0 -85
  1030. package/dist/output_parsers/openai_functions.d.ts.map +0 -1
  1031. package/dist/output_parsers/openai_functions.js +0 -142
  1032. package/dist/output_parsers/openai_functions.js.map +0 -1
  1033. package/dist/output_parsers/openai_tools.cjs +0 -89
  1034. package/dist/output_parsers/openai_tools.cjs.map +0 -1
  1035. package/dist/output_parsers/openai_tools.d.cts +0 -69
  1036. package/dist/output_parsers/openai_tools.d.cts.map +0 -1
  1037. package/dist/output_parsers/openai_tools.d.ts +0 -69
  1038. package/dist/output_parsers/openai_tools.d.ts.map +0 -1
  1039. package/dist/output_parsers/openai_tools.js +0 -87
  1040. package/dist/output_parsers/openai_tools.js.map +0 -1
  1041. package/dist/output_parsers/prompts.cjs +0 -25
  1042. package/dist/output_parsers/prompts.cjs.map +0 -1
  1043. package/dist/output_parsers/prompts.js +0 -24
  1044. package/dist/output_parsers/prompts.js.map +0 -1
  1045. package/dist/output_parsers/regex.cjs +0 -74
  1046. package/dist/output_parsers/regex.cjs.map +0 -1
  1047. package/dist/output_parsers/regex.d.cts +0 -49
  1048. package/dist/output_parsers/regex.d.cts.map +0 -1
  1049. package/dist/output_parsers/regex.d.ts +0 -49
  1050. package/dist/output_parsers/regex.d.ts.map +0 -1
  1051. package/dist/output_parsers/regex.js +0 -73
  1052. package/dist/output_parsers/regex.js.map +0 -1
  1053. package/dist/output_parsers/router.cjs +0 -40
  1054. package/dist/output_parsers/router.cjs.map +0 -1
  1055. package/dist/output_parsers/router.d.cts +0 -36
  1056. package/dist/output_parsers/router.d.cts.map +0 -1
  1057. package/dist/output_parsers/router.d.ts +0 -36
  1058. package/dist/output_parsers/router.d.ts.map +0 -1
  1059. package/dist/output_parsers/router.js +0 -39
  1060. package/dist/output_parsers/router.js.map +0 -1
  1061. package/dist/output_parsers/structured.cjs +0 -164
  1062. package/dist/output_parsers/structured.cjs.map +0 -1
  1063. package/dist/output_parsers/structured.d.cts +0 -97
  1064. package/dist/output_parsers/structured.d.cts.map +0 -1
  1065. package/dist/output_parsers/structured.d.ts +0 -97
  1066. package/dist/output_parsers/structured.d.ts.map +0 -1
  1067. package/dist/output_parsers/structured.js +0 -161
  1068. package/dist/output_parsers/structured.js.map +0 -1
  1069. package/dist/retrievers/contextual_compression.cjs +0 -53
  1070. package/dist/retrievers/contextual_compression.cjs.map +0 -1
  1071. package/dist/retrievers/contextual_compression.d.cts +0 -42
  1072. package/dist/retrievers/contextual_compression.d.cts.map +0 -1
  1073. package/dist/retrievers/contextual_compression.d.ts +0 -42
  1074. package/dist/retrievers/contextual_compression.d.ts.map +0 -1
  1075. package/dist/retrievers/contextual_compression.js +0 -47
  1076. package/dist/retrievers/contextual_compression.js.map +0 -1
  1077. package/dist/retrievers/document_compressors/chain_extract.cjs +0 -103
  1078. package/dist/retrievers/document_compressors/chain_extract.cjs.map +0 -1
  1079. package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -47
  1080. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +0 -1
  1081. package/dist/retrievers/document_compressors/chain_extract.d.ts +0 -47
  1082. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +0 -1
  1083. package/dist/retrievers/document_compressors/chain_extract.js +0 -97
  1084. package/dist/retrievers/document_compressors/chain_extract.js.map +0 -1
  1085. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +0 -16
  1086. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +0 -1
  1087. package/dist/retrievers/document_compressors/chain_extract_prompt.js +0 -15
  1088. package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +0 -1
  1089. package/dist/retrievers/document_compressors/embeddings_filter.cjs +0 -74
  1090. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +0 -1
  1091. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -58
  1092. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +0 -1
  1093. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -58
  1094. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +0 -1
  1095. package/dist/retrievers/document_compressors/embeddings_filter.js +0 -68
  1096. package/dist/retrievers/document_compressors/embeddings_filter.js.map +0 -1
  1097. package/dist/retrievers/document_compressors/index.cjs +0 -69
  1098. package/dist/retrievers/document_compressors/index.cjs.map +0 -1
  1099. package/dist/retrievers/document_compressors/index.d.cts +0 -61
  1100. package/dist/retrievers/document_compressors/index.d.cts.map +0 -1
  1101. package/dist/retrievers/document_compressors/index.d.ts +0 -61
  1102. package/dist/retrievers/document_compressors/index.d.ts.map +0 -1
  1103. package/dist/retrievers/document_compressors/index.js +0 -62
  1104. package/dist/retrievers/document_compressors/index.js.map +0 -1
  1105. package/dist/retrievers/ensemble.cjs +0 -76
  1106. package/dist/retrievers/ensemble.cjs.map +0 -1
  1107. package/dist/retrievers/ensemble.d.cts +0 -39
  1108. package/dist/retrievers/ensemble.d.cts.map +0 -1
  1109. package/dist/retrievers/ensemble.d.ts +0 -39
  1110. package/dist/retrievers/ensemble.d.ts.map +0 -1
  1111. package/dist/retrievers/ensemble.js +0 -70
  1112. package/dist/retrievers/ensemble.js.map +0 -1
  1113. package/dist/retrievers/hyde.cjs +0 -128
  1114. package/dist/retrievers/hyde.cjs.map +0 -1
  1115. package/dist/retrievers/hyde.d.cts +0 -61
  1116. package/dist/retrievers/hyde.d.cts.map +0 -1
  1117. package/dist/retrievers/hyde.d.ts +0 -61
  1118. package/dist/retrievers/hyde.d.ts.map +0 -1
  1119. package/dist/retrievers/hyde.js +0 -121
  1120. package/dist/retrievers/hyde.js.map +0 -1
  1121. package/dist/retrievers/matryoshka_retriever.cjs +0 -116
  1122. package/dist/retrievers/matryoshka_retriever.cjs.map +0 -1
  1123. package/dist/retrievers/matryoshka_retriever.d.cts +0 -99
  1124. package/dist/retrievers/matryoshka_retriever.d.cts.map +0 -1
  1125. package/dist/retrievers/matryoshka_retriever.d.ts +0 -99
  1126. package/dist/retrievers/matryoshka_retriever.d.ts.map +0 -1
  1127. package/dist/retrievers/matryoshka_retriever.js +0 -110
  1128. package/dist/retrievers/matryoshka_retriever.js.map +0 -1
  1129. package/dist/retrievers/multi_query.cjs +0 -150
  1130. package/dist/retrievers/multi_query.cjs.map +0 -1
  1131. package/dist/retrievers/multi_query.d.cts +0 -59
  1132. package/dist/retrievers/multi_query.d.cts.map +0 -1
  1133. package/dist/retrievers/multi_query.d.ts +0 -59
  1134. package/dist/retrievers/multi_query.d.ts.map +0 -1
  1135. package/dist/retrievers/multi_query.js +0 -144
  1136. package/dist/retrievers/multi_query.js.map +0 -1
  1137. package/dist/retrievers/multi_vector.cjs +0 -67
  1138. package/dist/retrievers/multi_vector.cjs.map +0 -1
  1139. package/dist/retrievers/multi_vector.d.cts +0 -51
  1140. package/dist/retrievers/multi_vector.d.cts.map +0 -1
  1141. package/dist/retrievers/multi_vector.d.ts +0 -51
  1142. package/dist/retrievers/multi_vector.d.ts.map +0 -1
  1143. package/dist/retrievers/multi_vector.js +0 -61
  1144. package/dist/retrievers/multi_vector.js.map +0 -1
  1145. package/dist/retrievers/parent_document.cjs +0 -137
  1146. package/dist/retrievers/parent_document.cjs.map +0 -1
  1147. package/dist/retrievers/parent_document.d.cts +0 -92
  1148. package/dist/retrievers/parent_document.d.cts.map +0 -1
  1149. package/dist/retrievers/parent_document.d.ts +0 -92
  1150. package/dist/retrievers/parent_document.d.ts.map +0 -1
  1151. package/dist/retrievers/parent_document.js +0 -131
  1152. package/dist/retrievers/parent_document.js.map +0 -1
  1153. package/dist/retrievers/score_threshold.cjs +0 -43
  1154. package/dist/retrievers/score_threshold.cjs.map +0 -1
  1155. package/dist/retrievers/score_threshold.d.cts +0 -20
  1156. package/dist/retrievers/score_threshold.d.cts.map +0 -1
  1157. package/dist/retrievers/score_threshold.d.ts +0 -20
  1158. package/dist/retrievers/score_threshold.d.ts.map +0 -1
  1159. package/dist/retrievers/score_threshold.js +0 -37
  1160. package/dist/retrievers/score_threshold.js.map +0 -1
  1161. package/dist/retrievers/self_query/functional.cjs +0 -21
  1162. package/dist/retrievers/self_query/functional.cjs.map +0 -1
  1163. package/dist/retrievers/self_query/functional.d.cts +0 -2
  1164. package/dist/retrievers/self_query/functional.d.ts +0 -2
  1165. package/dist/retrievers/self_query/functional.js +0 -10
  1166. package/dist/retrievers/self_query/functional.js.map +0 -1
  1167. package/dist/retrievers/self_query/index.cjs +0 -130
  1168. package/dist/retrievers/self_query/index.cjs.map +0 -1
  1169. package/dist/retrievers/self_query/index.d.cts +0 -79
  1170. package/dist/retrievers/self_query/index.d.cts.map +0 -1
  1171. package/dist/retrievers/self_query/index.d.ts +0 -79
  1172. package/dist/retrievers/self_query/index.d.ts.map +0 -1
  1173. package/dist/retrievers/self_query/index.js +0 -106
  1174. package/dist/retrievers/self_query/index.js.map +0 -1
  1175. package/dist/retrievers/time_weighted.cjs +0 -236
  1176. package/dist/retrievers/time_weighted.cjs.map +0 -1
  1177. package/dist/retrievers/time_weighted.d.cts +0 -142
  1178. package/dist/retrievers/time_weighted.d.cts.map +0 -1
  1179. package/dist/retrievers/time_weighted.d.ts +0 -142
  1180. package/dist/retrievers/time_weighted.d.ts.map +0 -1
  1181. package/dist/retrievers/time_weighted.js +0 -228
  1182. package/dist/retrievers/time_weighted.js.map +0 -1
  1183. package/dist/sql_db.cjs +0 -119
  1184. package/dist/sql_db.cjs.map +0 -1
  1185. package/dist/sql_db.d.cts +0 -60
  1186. package/dist/sql_db.d.cts.map +0 -1
  1187. package/dist/sql_db.d.ts +0 -60
  1188. package/dist/sql_db.d.ts.map +0 -1
  1189. package/dist/sql_db.js +0 -113
  1190. package/dist/sql_db.js.map +0 -1
  1191. package/dist/stores/doc/base.cjs +0 -20
  1192. package/dist/stores/doc/base.cjs.map +0 -1
  1193. package/dist/stores/doc/base.d.cts +0 -15
  1194. package/dist/stores/doc/base.d.cts.map +0 -1
  1195. package/dist/stores/doc/base.d.ts +0 -15
  1196. package/dist/stores/doc/base.d.ts.map +0 -1
  1197. package/dist/stores/doc/base.js +0 -14
  1198. package/dist/stores/doc/base.js.map +0 -1
  1199. package/dist/stores/doc/in_memory.cjs +0 -94
  1200. package/dist/stores/doc/in_memory.cjs.map +0 -1
  1201. package/dist/stores/doc/in_memory.d.cts +0 -53
  1202. package/dist/stores/doc/in_memory.d.cts.map +0 -1
  1203. package/dist/stores/doc/in_memory.d.ts +0 -53
  1204. package/dist/stores/doc/in_memory.d.ts.map +0 -1
  1205. package/dist/stores/doc/in_memory.js +0 -87
  1206. package/dist/stores/doc/in_memory.js.map +0 -1
  1207. package/dist/stores/file/base.cjs +0 -13
  1208. package/dist/stores/file/base.cjs.map +0 -1
  1209. package/dist/stores/file/base.d.cts +0 -15
  1210. package/dist/stores/file/base.d.cts.map +0 -1
  1211. package/dist/stores/file/base.d.ts +0 -15
  1212. package/dist/stores/file/base.d.ts.map +0 -1
  1213. package/dist/stores/file/base.js +0 -12
  1214. package/dist/stores/file/base.js.map +0 -1
  1215. package/dist/stores/file/in_memory.cjs +0 -53
  1216. package/dist/stores/file/in_memory.cjs.map +0 -1
  1217. package/dist/stores/file/in_memory.d.cts +0 -33
  1218. package/dist/stores/file/in_memory.d.cts.map +0 -1
  1219. package/dist/stores/file/in_memory.d.ts +0 -33
  1220. package/dist/stores/file/in_memory.d.ts.map +0 -1
  1221. package/dist/stores/file/in_memory.js +0 -47
  1222. package/dist/stores/file/in_memory.js.map +0 -1
  1223. package/dist/stores/file/node.cjs +0 -52
  1224. package/dist/stores/file/node.cjs.map +0 -1
  1225. package/dist/stores/file/node.d.cts +0 -29
  1226. package/dist/stores/file/node.d.cts.map +0 -1
  1227. package/dist/stores/file/node.d.ts +0 -29
  1228. package/dist/stores/file/node.d.ts.map +0 -1
  1229. package/dist/stores/file/node.js +0 -46
  1230. package/dist/stores/file/node.js.map +0 -1
  1231. package/dist/stores/message/in_memory.cjs +0 -21
  1232. package/dist/stores/message/in_memory.cjs.map +0 -1
  1233. package/dist/stores/message/in_memory.d.cts +0 -2
  1234. package/dist/stores/message/in_memory.d.ts +0 -2
  1235. package/dist/stores/message/in_memory.js +0 -10
  1236. package/dist/stores/message/in_memory.js.map +0 -1
  1237. package/dist/text_splitter.cjs +0 -22
  1238. package/dist/text_splitter.cjs.map +0 -1
  1239. package/dist/text_splitter.d.cts +0 -1
  1240. package/dist/text_splitter.d.ts +0 -1
  1241. package/dist/text_splitter.js +0 -12
  1242. package/dist/text_splitter.js.map +0 -1
  1243. package/dist/tools/chain.cjs +0 -36
  1244. package/dist/tools/chain.cjs.map +0 -1
  1245. package/dist/tools/chain.d.cts +0 -32
  1246. package/dist/tools/chain.d.cts.map +0 -1
  1247. package/dist/tools/chain.d.ts +0 -32
  1248. package/dist/tools/chain.d.ts.map +0 -1
  1249. package/dist/tools/chain.js +0 -30
  1250. package/dist/tools/chain.js.map +0 -1
  1251. package/dist/tools/fs.cjs +0 -56
  1252. package/dist/tools/fs.cjs.map +0 -1
  1253. package/dist/tools/fs.d.cts +0 -92
  1254. package/dist/tools/fs.d.cts.map +0 -1
  1255. package/dist/tools/fs.d.ts +0 -92
  1256. package/dist/tools/fs.d.ts.map +0 -1
  1257. package/dist/tools/fs.js +0 -54
  1258. package/dist/tools/fs.js.map +0 -1
  1259. package/dist/tools/index.cjs +0 -68
  1260. package/dist/tools/index.cjs.map +0 -1
  1261. package/dist/tools/index.d.cts +0 -8
  1262. package/dist/tools/index.d.ts +0 -8
  1263. package/dist/tools/index.js +0 -30
  1264. package/dist/tools/index.js.map +0 -1
  1265. package/dist/tools/json.cjs +0 -107
  1266. package/dist/tools/json.cjs.map +0 -1
  1267. package/dist/tools/json.d.cts +0 -65
  1268. package/dist/tools/json.d.cts.map +0 -1
  1269. package/dist/tools/json.d.ts +0 -65
  1270. package/dist/tools/json.d.ts.map +0 -1
  1271. package/dist/tools/json.js +0 -104
  1272. package/dist/tools/json.js.map +0 -1
  1273. package/dist/tools/render.cjs +0 -55
  1274. package/dist/tools/render.cjs.map +0 -1
  1275. package/dist/tools/render.d.cts +0 -32
  1276. package/dist/tools/render.d.cts.map +0 -1
  1277. package/dist/tools/render.d.ts +0 -32
  1278. package/dist/tools/render.d.ts.map +0 -1
  1279. package/dist/tools/render.js +0 -48
  1280. package/dist/tools/render.js.map +0 -1
  1281. package/dist/tools/requests.cjs +0 -73
  1282. package/dist/tools/requests.cjs.map +0 -1
  1283. package/dist/tools/requests.d.cts +0 -56
  1284. package/dist/tools/requests.d.cts.map +0 -1
  1285. package/dist/tools/requests.d.ts +0 -56
  1286. package/dist/tools/requests.d.ts.map +0 -1
  1287. package/dist/tools/requests.js +0 -71
  1288. package/dist/tools/requests.js.map +0 -1
  1289. package/dist/tools/retriever.cjs +0 -30
  1290. package/dist/tools/retriever.cjs.map +0 -1
  1291. package/dist/tools/retriever.d.cts +0 -19
  1292. package/dist/tools/retriever.d.cts.map +0 -1
  1293. package/dist/tools/retriever.d.ts +0 -19
  1294. package/dist/tools/retriever.d.ts.map +0 -1
  1295. package/dist/tools/retriever.js +0 -24
  1296. package/dist/tools/retriever.js.map +0 -1
  1297. package/dist/tools/sql.cjs +0 -165
  1298. package/dist/tools/sql.cjs.map +0 -1
  1299. package/dist/tools/sql.d.cts +0 -86
  1300. package/dist/tools/sql.d.cts.map +0 -1
  1301. package/dist/tools/sql.d.ts +0 -86
  1302. package/dist/tools/sql.d.ts.map +0 -1
  1303. package/dist/tools/sql.js +0 -156
  1304. package/dist/tools/sql.js.map +0 -1
  1305. package/dist/tools/vectorstore.cjs +0 -45
  1306. package/dist/tools/vectorstore.cjs.map +0 -1
  1307. package/dist/tools/vectorstore.d.cts +0 -40
  1308. package/dist/tools/vectorstore.d.cts.map +0 -1
  1309. package/dist/tools/vectorstore.d.ts +0 -40
  1310. package/dist/tools/vectorstore.d.ts.map +0 -1
  1311. package/dist/tools/vectorstore.js +0 -44
  1312. package/dist/tools/vectorstore.js.map +0 -1
  1313. package/dist/tools/webbrowser.cjs +0 -176
  1314. package/dist/tools/webbrowser.cjs.map +0 -1
  1315. package/dist/tools/webbrowser.d.cts +0 -69
  1316. package/dist/tools/webbrowser.d.cts.map +0 -1
  1317. package/dist/tools/webbrowser.d.ts +0 -69
  1318. package/dist/tools/webbrowser.d.ts.map +0 -1
  1319. package/dist/tools/webbrowser.js +0 -168
  1320. package/dist/tools/webbrowser.js.map +0 -1
  1321. package/dist/types/expression-parser.d.cts +0 -91
  1322. package/dist/types/expression-parser.d.cts.map +0 -1
  1323. package/dist/types/expression-parser.d.ts +0 -91
  1324. package/dist/types/expression-parser.d.ts.map +0 -1
  1325. package/dist/types/type-utils.d.cts +0 -7
  1326. package/dist/types/type-utils.d.cts.map +0 -1
  1327. package/dist/types/type-utils.d.ts +0 -7
  1328. package/dist/types/type-utils.d.ts.map +0 -1
  1329. package/dist/util/document.cjs +0 -23
  1330. package/dist/util/document.cjs.map +0 -1
  1331. package/dist/util/document.d.cts +0 -15
  1332. package/dist/util/document.d.cts.map +0 -1
  1333. package/dist/util/document.d.ts +0 -15
  1334. package/dist/util/document.d.ts.map +0 -1
  1335. package/dist/util/document.js +0 -17
  1336. package/dist/util/document.js.map +0 -1
  1337. package/dist/util/entrypoint_deprecation.cjs +0 -1
  1338. package/dist/util/entrypoint_deprecation.js +0 -1
  1339. package/dist/util/env.cjs +0 -2
  1340. package/dist/util/env.js +0 -1
  1341. package/dist/util/extname.cjs +0 -7
  1342. package/dist/util/extname.cjs.map +0 -1
  1343. package/dist/util/extname.js +0 -6
  1344. package/dist/util/extname.js.map +0 -1
  1345. package/dist/util/hub.cjs +0 -39
  1346. package/dist/util/hub.cjs.map +0 -1
  1347. package/dist/util/hub.js +0 -38
  1348. package/dist/util/hub.js.map +0 -1
  1349. package/dist/util/load.cjs +0 -15
  1350. package/dist/util/load.cjs.map +0 -1
  1351. package/dist/util/load.d.cts +0 -6
  1352. package/dist/util/load.d.cts.map +0 -1
  1353. package/dist/util/load.d.ts +0 -6
  1354. package/dist/util/load.d.ts.map +0 -1
  1355. package/dist/util/load.js +0 -14
  1356. package/dist/util/load.js.map +0 -1
  1357. package/dist/util/math.cjs +0 -22
  1358. package/dist/util/math.cjs.map +0 -1
  1359. package/dist/util/math.d.cts +0 -1
  1360. package/dist/util/math.d.ts +0 -1
  1361. package/dist/util/math.js +0 -12
  1362. package/dist/util/math.js.map +0 -1
  1363. package/dist/util/ml-distance/distances.cjs +0 -35
  1364. package/dist/util/ml-distance/distances.cjs.map +0 -1
  1365. package/dist/util/ml-distance/distances.js +0 -33
  1366. package/dist/util/ml-distance/distances.js.map +0 -1
  1367. package/dist/util/ml-distance/similarities.cjs +0 -23
  1368. package/dist/util/ml-distance/similarities.cjs.map +0 -1
  1369. package/dist/util/ml-distance/similarities.d.cts +0 -11
  1370. package/dist/util/ml-distance/similarities.d.cts.map +0 -1
  1371. package/dist/util/ml-distance/similarities.d.ts +0 -11
  1372. package/dist/util/ml-distance/similarities.d.ts.map +0 -1
  1373. package/dist/util/ml-distance/similarities.js +0 -22
  1374. package/dist/util/ml-distance/similarities.js.map +0 -1
  1375. package/dist/util/ml-distance-euclidean/euclidean.cjs +0 -14
  1376. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +0 -1
  1377. package/dist/util/ml-distance-euclidean/euclidean.js +0 -13
  1378. package/dist/util/ml-distance-euclidean/euclidean.js.map +0 -1
  1379. package/dist/util/openapi.cjs +0 -149
  1380. package/dist/util/openapi.cjs.map +0 -1
  1381. package/dist/util/openapi.d.cts +0 -83
  1382. package/dist/util/openapi.d.cts.map +0 -1
  1383. package/dist/util/openapi.d.ts +0 -83
  1384. package/dist/util/openapi.d.ts.map +0 -1
  1385. package/dist/util/openapi.js +0 -148
  1386. package/dist/util/openapi.js.map +0 -1
  1387. package/dist/util/parse.cjs +0 -22
  1388. package/dist/util/parse.cjs.map +0 -1
  1389. package/dist/util/parse.js +0 -21
  1390. package/dist/util/parse.js.map +0 -1
  1391. package/dist/util/set.cjs +0 -35
  1392. package/dist/util/set.cjs.map +0 -1
  1393. package/dist/util/set.js +0 -32
  1394. package/dist/util/set.js.map +0 -1
  1395. package/dist/util/sql_utils.cjs +0 -178
  1396. package/dist/util/sql_utils.cjs.map +0 -1
  1397. package/dist/util/sql_utils.d.cts +0 -31
  1398. package/dist/util/sql_utils.d.cts.map +0 -1
  1399. package/dist/util/sql_utils.d.ts +0 -31
  1400. package/dist/util/sql_utils.d.ts.map +0 -1
  1401. package/dist/util/sql_utils.js +0 -173
  1402. package/dist/util/sql_utils.js.map +0 -1
  1403. package/dist/util/time.cjs +0 -25
  1404. package/dist/util/time.cjs.map +0 -1
  1405. package/dist/util/time.d.cts +0 -10
  1406. package/dist/util/time.d.cts.map +0 -1
  1407. package/dist/util/time.d.ts +0 -10
  1408. package/dist/util/time.d.ts.map +0 -1
  1409. package/dist/util/time.js +0 -19
  1410. package/dist/util/time.js.map +0 -1
  1411. package/dist/vectorstores/memory.cjs +0 -265
  1412. package/dist/vectorstores/memory.cjs.map +0 -1
  1413. package/dist/vectorstores/memory.d.cts +0 -216
  1414. package/dist/vectorstores/memory.d.cts.map +0 -1
  1415. package/dist/vectorstores/memory.d.ts +0 -216
  1416. package/dist/vectorstores/memory.d.ts.map +0 -1
  1417. package/dist/vectorstores/memory.js +0 -259
  1418. package/dist/vectorstores/memory.js.map +0 -1
@@ -1 +1 @@
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","#areMoreStepsNeeded","options: {\n lastMessage?: string;\n }","#deriveModel","#executePrepareModelRequestHooks","#getResponseFormat","#bindTools","#getModelInputState","#handleMultipleStructuredOutputs","#handleSingleStructuredOutput","response: AIMessage","toolCalls: ToolCall[]","responseFormat: ToolResponseFormat","#handleToolStrategyError","toolCall: ToolCall","lastMessage?: string","error: ToolStrategyError","response: BaseMessage","model: LanguageModelLike","config: LangGraphRunnableConfig","currentOptions: ModelRequest","runtime: Runtime<unknown, unknown>","result","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} 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 hasSupportForJsonSchemaOutput,\n} from \"../../responses.js\";\nimport { parseToolCalls } 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 | \"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}\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 { messages: BaseMessage[] } | { structuredResponse: StructuredResponseFormat }\n> {\n #options: AgentNodeOptions<StructuredResponseFormat, ContextSchema>;\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 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 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 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 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 }\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.map((tool) => tool.name as string),\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 runtime: Runtime<unknown, unknown> = {\n toolCalls: parseToolCalls(state.messages),\n tools: this.#options.toolClasses,\n context,\n writer: config.writer,\n interrupt: config.interrupt,\n signal: config.signal,\n terminate: (result) => ({ type: \"terminate\", result }),\n };\n\n const result = await middleware.modifyModelRequest!(\n currentOptions,\n {\n messages: state.messages,\n ...getMiddlewareState(),\n },\n /**\n * ensure runtime is frozen to prevent modifications\n */\n Object.freeze({\n ...runtime,\n context,\n })\n );\n\n /**\n * raise meaningful error if unknown tools were selected\n */\n const unknownTools =\n result?.tools?.filter(\n (tool) => !this.#options.toolClasses.some((t) => t.name === tool)\n ) ?? [];\n if (unknownTools.length > 0) {\n throw new Error(\n `Unknown tools selected in middleware \"${\n middleware.name\n }\": ${unknownTools.join(\n \", \"\n )}, available tools: ${this.#options.toolClasses\n .map((t) => t.name)\n .join(\", \")}!`\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 | 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 preparedTools = preparedOptions?.tools ?? [];\n const allTools = [\n ...(preparedTools.length > 0\n ? this.#options.toolClasses.filter(\n (tool) =>\n typeof tool.name === \"string\" && preparedTools.includes(tool.name)\n )\n : this.#options.toolClasses),\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<{ 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":";;;;;;;;;;;;;;AAuFA,IAAa,YAAb,cAMU,iBAGR;CACA;CAEA,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,WAAW,MAAM,KAAKI,aAAa,OAAO,OAAO;;;;AAKvD,MAAI,wBAAwB,SAC1B,QAAO;GACL,UAAU,CAAC,GAAG,MAAM,UAAU,GAAI,SAAS,YAAY,CAAE,CAAE;GAC3D,oBAAoB,SAAS;EAC9B;;;;AAMH,MAAI,oBAAoB,QACtB,QAAO;EAGT,SAAS,OAAO,KAAK;EACrB,SAAS,UAAU,OAAO,KAAK;AAE/B,MAAI,KAAKC,oBAAoB,OAAO,SAAS,CAC3C,QAAO,EACL,UAAU,CACR,IAAI,UAAU;GACZ,SAAS;GACT,MAAM,KAAK;GACX,IAAI,SAAS;EACd,EACF,EACF;AAGH,SAAO,EAAE,UAAU,CAAC,QAAS,EAAE;CAChC;;;;;;;CAQD,eAAe;AACb,MAAI,OAAO,KAAKL,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,QACAG,UAEI,CAAE,GACgE;EACtE,MAAM,QAAQ,MAAM,KAAKC,cAAc;;;;EAKvC,MAAM,kBAAkB,MAAM,KAAKC,iCACjC,OACA,OACA,OACD;;;;;EAMD,MAAM,aAAa,iBAAiB,SAAS;;;;EAK7C,2BAA2B,WAAW;EAEtC,MAAM,2BAA2B,KAAKC,mBAAmB,WAAW;EACpE,MAAM,iBAAiB,MAAM,KAAKC,WAChC,YACA,iBACA,yBACD;EACD,IAAI,aAAa,KAAKC,oBAAoB,MAAM;;;;AAKhD,MAAI,iBAAiB,UACnB,aAAa;GAAE,GAAG;GAAY,UAAU,gBAAgB;EAAU;EAGpE,MAAM,SAAS,kBAAkB,KAAKX,SAAS,QAAQ,OAAO,OAAO;EACrE,MAAM,eAAe;GAAE,GAAG;GAAQ;EAAQ;EAC1C,MAAM,WAAY,MAAM,eAAe,OACrC,YACA,aACD;;;;;AAMD,MAAI,0BAA0B,SAAS,UAAU;GAC/C,MAAM,qBACJ,yBAAyB,SAAS,MAAM,SAAS;AACnD,OAAI,mBACF,QAAO;IAAE;IAAoB,UAAU,CAAC,QAAS;GAAE;AAGrD,UAAO;EACR;AAED,MAAI,CAAC,4BAA4B,CAAC,SAAS,WACzC,QAAO;EAGT,MAAM,YAAY,SAAS,WAAW,OACpC,CAAC,SAAS,KAAK,QAAQ,yBAAyB,MACjD;;;;AAKD,MAAI,UAAU,WAAW,EACvB,QAAO;;;;;AAOT,MAAI,UAAU,SAAS,EACrB,QAAO,KAAKY,iCACV,UACA,WACA,yBACD;EAGH,MAAM,eAAe,yBAAyB,MAAM,UAAU,GAAG;EACjE,MAAM,qBAAqB,cAAc,SAAS;AAClD,SAAO,KAAKC,8BACV,UACA,UAAU,IACV,0BACA,sBAAsB,QAAQ,YAC/B;CACF;;;;;;;CAQD,iCACEC,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,oBACEd,OAEAmB,UACS;EACT,MAAM,uBACJ,UAAU,WAAW,SAAS,IAC9B,SAAS,YAAY,MAAM,CAAC,SAC1B,KAAKrB,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,MAAMM,iCACJc,OACApB,OAEAqB,QACmC;AACnC,MACE,CAAC,KAAKvB,SAAS,oCACf,KAAKA,SAAS,iCAAiC,WAAW,EAE1D,QAAO;;;;EAMT,MAAM,eAAe,KAAKA,SAAS;;;;EAKnC,IAAIwB,iBAA+B;GACjC;GACA;GACA,UAAU,MAAM;GAChB,OAAO,KAAKxB,SAAS,YAAY,IAAI,CAAC,SAAS,KAAK,KAAe;EACpE;;;;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,MAAMyB,UAAqC;IACzC,WAAW,eAAe,MAAM,SAAS;IACzC,OAAO,KAAKzB,SAAS;IACrB;IACA,QAAQ,OAAO;IACf,WAAW,OAAO;IAClB,QAAQ,OAAO;IACf,WAAW,CAAC0B,cAAY;KAAE,MAAM;KAAa;IAAQ;GACtD;GAED,MAAM,SAAS,MAAM,WAAW;IAC9B;IACA;KACE,UAAU,MAAM;KAChB,GAAG,oBAAoB;IACxB;;;;IAID,OAAO,OAAO;KACZ,GAAG;KACH;IACD,EAAC;IACH;;;;GAKD,MAAM,eACJ,QAAQ,OAAO,OACb,CAAC,SAAS,CAAC,KAAK1B,SAAS,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,KAAK,CAClE,IAAI,CAAE;AACT,OAAI,aAAa,SAAS,EACxB,OAAM,IAAI,MACR,CAAC,sCAAsC,EACrC,WAAW,KACZ,GAAG,EAAE,aAAa,KACjB,KACD,CAAC,mBAAmB,EAAE,KAAKA,SAAS,YAClC,IAAI,CAAC,MAAM,EAAE,KAAK,CAClB,KAAK,KAAK,CAAC,CAAC,CAAC;AAIpB,OAAI,QACF,iBAAiB;IAAE,GAAG;IAAgB,GAAG;GAAQ;EAEpD;AAED,SAAO;CACR;CAED,MAAMU,WACJY,OACAK,iBACAC,0BACmB;EACnB,MAAMC,UAA6C,CAAE;EACrD,MAAM,kBAAkB,OAAO,OAC7B,4BAA4B,WAAW,2BACnC,yBAAyB,QACzB,CAAE,EACP;EAGD,MAAM,gBAAgB,iBAAiB,SAAS,CAAE;EAClD,MAAM,WAAW,CACf,GAAI,cAAc,SAAS,IACvB,KAAK7B,SAAS,YAAY,OACxB,CAAC,SACC,OAAO,KAAK,SAAS,YAAY,cAAc,SAAS,KAAK,KAAK,CACrE,GACD,KAAKA,SAAS,aAClB,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,KAAKA,SAAS,aAChD,CAAC,KACA,KAAKA,SAAS,qBAAqB,WAC/B,cAAc,gBAAgB,KAAKA,SAAS,iBAAiB,GAC7D,eACL;AAED,SAAO;CACR;CAED,WAAW,cAET;AACA,SAAO,EACL,OAAO,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAAE,QAAqB,CAAC,CAC3C,EAAC,CACH;CACF;AACF"}
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":"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"}
@@ -10,11 +10,11 @@ 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
20
  runHook(state, runtime) {
@@ -1 +1 @@
1
- {"version":3,"file":"BeforeModalNode.cjs","names":["MiddlewareNode","middleware: AgentMiddleware<any, any, any>","state: TStateSchema","config?: RunnableConfig<TContextSchema>","runtime: Runtime<TStateSchema, TContextSchema>"],"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 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(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(state: TStateSchema, runtime: Runtime<TStateSchema, TContextSchema>) {\n return this.middleware.beforeModel!(\n state as Record<string, any> & AgentBuiltInState,\n runtime as Runtime<TStateSchema, unknown>\n ) as Promise<MiddlewareResult<TStateSchema>>;\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,QAAQD,OAAqBE,SAAgD;AAC3E,SAAO,KAAK,WAAW,YACrB,OACA,QACD;CACF;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,11 +10,11 @@ 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
20
  runHook(state, runtime) {
@@ -1 +1 @@
1
- {"version":3,"file":"BeforeModalNode.js","names":["middleware: AgentMiddleware<any, any, any>","state: TStateSchema","config?: RunnableConfig<TContextSchema>","runtime: Runtime<TStateSchema, TContextSchema>"],"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 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(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(state: TStateSchema, runtime: Runtime<TStateSchema, TContextSchema>) {\n return this.middleware.beforeModel!(\n state as Record<string, any> & AgentBuiltInState,\n runtime as Runtime<TStateSchema, unknown>\n ) as Promise<MiddlewareResult<TStateSchema>>;\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,QAAQD,OAAqBE,SAAgD;AAC3E,SAAO,KAAK,WAAW,YACrB,OACA,QACD;CACF;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"}
@@ -5,6 +5,11 @@ const __langchain_core_utils_types = require_rolldown_runtime.__toESM(require("@
5
5
 
6
6
  //#region src/agents/middlewareAgent/nodes/middleware.ts
7
7
  var MiddlewareNode = class extends require_RunnableCallable.RunnableCallable {
8
+ #options;
9
+ constructor(fields, options) {
10
+ super(fields);
11
+ this.#options = options;
12
+ }
8
13
  async invokeMiddleware(state, config) {
9
14
  /**
10
15
  * Filter context based on middleware's contextSchema
@@ -33,21 +38,17 @@ var MiddlewareNode = class extends require_RunnableCallable.RunnableCallable {
33
38
  * ToDo: implement later
34
39
  */
35
40
  const runtime = {
36
- toolCalls: require_utils.parseToolCalls(state.messages),
37
41
  context: filteredContext,
38
42
  writer: config?.writer,
39
43
  interrupt: config?.interrupt,
40
44
  signal: config?.signal,
41
- tools: this.middleware.tools ?? [],
42
- terminate: (result$1) => {
43
- if (result$1 instanceof Error) throw result$1;
44
- return {
45
- type: "terminate",
46
- result: result$1
47
- };
48
- }
45
+ ...this.#options.getPrivateState()
49
46
  };
50
- const result = await this.runHook(state, runtime);
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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.cjs","names":["RunnableCallable","state: TStateSchema","config?: LangGraphRunnableConfig","relevantContext: Record<string, unknown>","runtime: Runtime<TStateSchema, TContextSchema>","parseToolCalls","result?: Partial<TStateSchema> | Error","result","parseJumpToTarget","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\";\nimport { interopParse } from \"@langchain/core/utils/types\";\n\nimport { RunnableCallable } from \"../../RunnableCallable.js\";\nimport type {\n Runtime,\n ControlAction,\n AgentMiddleware,\n MiddlewareResult,\n JumpToTarget,\n} from \"../types.js\";\nimport {\n derivePrivateState,\n parseToolCalls,\n parseJumpToTarget,\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<TStateSchema, 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<TStateSchema, TContextSchema> = {\n toolCalls: parseToolCalls(state.messages),\n context: filteredContext,\n writer: config?.writer,\n interrupt: config?.interrupt,\n signal: config?.signal,\n tools: this.middleware.tools ?? [],\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);\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":";;;;;;AAwBA,IAAsB,iBAAtB,cAGUA,0CAAyD;CAWjE,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,UAAiD;GACrD,WAAWC,6BAAe,MAAM,SAAS;GACzC,SAAS;GACT,QAAQ,QAAQ;GAChB,WAAW,QAAQ;GACnB,QAAQ,QAAQ;GAChB,OAAO,KAAK,WAAW,SAAS,CAAE;GAClC,WAAW,CACTC,aACgC;AAChC,QAAIC,oBAAkB,MACpB,OAAMA;AAER,WAAO;KAAE,MAAM;KAAa;IAAQ;GACrC;EACF;EAED,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,QAAQ;;;;AAKjD,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,SAASC,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
+ {"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,9 +1,14 @@
1
1
  import { RunnableCallable } from "../../RunnableCallable.js";
2
- import { derivePrivateState, parseJumpToTarget, parseToolCalls } from "./utils.js";
2
+ import { derivePrivateState, parseJumpToTarget } from "./utils.js";
3
3
  import { interopParse } from "@langchain/core/utils/types";
4
4
 
5
5
  //#region src/agents/middlewareAgent/nodes/middleware.ts
6
6
  var MiddlewareNode = class extends RunnableCallable {
7
+ #options;
8
+ constructor(fields, options) {
9
+ super(fields);
10
+ this.#options = options;
11
+ }
7
12
  async invokeMiddleware(state, config) {
8
13
  /**
9
14
  * Filter context based on middleware's contextSchema
@@ -32,21 +37,17 @@ var MiddlewareNode = class extends RunnableCallable {
32
37
  * ToDo: implement later
33
38
  */
34
39
  const runtime = {
35
- toolCalls: parseToolCalls(state.messages),
36
40
  context: filteredContext,
37
41
  writer: config?.writer,
38
42
  interrupt: config?.interrupt,
39
43
  signal: config?.signal,
40
- tools: this.middleware.tools ?? [],
41
- terminate: (result$1) => {
42
- if (result$1 instanceof Error) throw result$1;
43
- return {
44
- type: "terminate",
45
- result: result$1
46
- };
47
- }
44
+ ...this.#options.getPrivateState()
48
45
  };
49
- const result = await this.runHook(state, runtime);
46
+ const result = await this.runHook(state, Object.freeze({
47
+ ...runtime,
48
+ context: filteredContext
49
+ }));
50
+ delete result?._privateState;
50
51
  /**
51
52
  * If result is undefined, return current state
52
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["state: TStateSchema","config?: LangGraphRunnableConfig","relevantContext: Record<string, unknown>","runtime: Runtime<TStateSchema, TContextSchema>","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\";\nimport { interopParse } from \"@langchain/core/utils/types\";\n\nimport { RunnableCallable } from \"../../RunnableCallable.js\";\nimport type {\n Runtime,\n ControlAction,\n AgentMiddleware,\n MiddlewareResult,\n JumpToTarget,\n} from \"../types.js\";\nimport {\n derivePrivateState,\n parseToolCalls,\n parseJumpToTarget,\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<TStateSchema, 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<TStateSchema, TContextSchema> = {\n toolCalls: parseToolCalls(state.messages),\n context: filteredContext,\n writer: config?.writer,\n interrupt: config?.interrupt,\n signal: config?.signal,\n tools: this.middleware.tools ?? [],\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);\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":";;;;;AAwBA,IAAsB,iBAAtB,cAGU,iBAAyD;CAWjE,MAAM,iBACJA,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,UAAiD;GACrD,WAAW,eAAe,MAAM,SAAS;GACzC,SAAS;GACT,QAAQ,QAAQ;GAChB,WAAW,QAAQ;GACnB,QAAQ,QAAQ;GAChB,OAAO,KAAK,WAAW,SAAS,CAAE;GAClC,WAAW,CACTC,aACgC;AAChC,QAAIC,oBAAkB,MACpB,OAAMA;AAER,WAAO;KAAE,MAAM;KAAa;IAAQ;GACrC;EACF;EAED,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,QAAQ;;;;AAKjD,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
+ {"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,4 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
3
2
  const __langchain_langgraph = require_rolldown_runtime.__toESM(require("@langchain/langgraph"));
4
3
  const __langchain_core_utils_types = require_rolldown_runtime.__toESM(require("@langchain/core/utils/types"));
5
4
  const zod_v3 = require_rolldown_runtime.__toESM(require("zod/v3"));
@@ -44,36 +43,16 @@ function derivePrivateState(stateSchema) {
44
43
  else privateShape[key] = value;
45
44
  return zod_v3.z.object(privateShape);
46
45
  }
47
- /**
48
- * Parse out all tool calls from the messages and populate the results
49
- * @param messages - The messages to parse
50
- * @returns The tool calls
51
- */
52
- function parseToolCalls(messages) {
53
- const calls = messages.filter((message) => __langchain_core_messages.AIMessage.isInstance(message) && message.tool_calls).map((message) => message.tool_calls).flat() || [];
54
- const results = parseToolResults(messages);
55
- return calls.map((call) => {
56
- const callResult = results.find((result) => result.id === call.id);
57
- if (callResult) return {
58
- ...call,
59
- result: callResult.result
60
- };
61
- return call;
62
- });
63
- }
64
- /**
65
- * Parse out all tool results from the messages
66
- * @param messages - The messages to parse
67
- * @returns The tool results
68
- */
69
- function parseToolResults(messages) {
70
- return messages.filter((message) => __langchain_core_messages.ToolMessage.isInstance(message)).map((message) => ({
71
- id: message.tool_call_id,
72
- result: message.content
73
- }));
74
- }
75
46
  function parseJumpToTarget(target) {
76
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;
77
56
  if (target === "model") return "model_request";
78
57
  if (target === "tools") return "tools";
79
58
  if (target === "end") return __langchain_langgraph.END;
@@ -84,5 +63,4 @@ function parseJumpToTarget(target) {
84
63
  exports.derivePrivateState = derivePrivateState;
85
64
  exports.initializeMiddlewareStates = initializeMiddlewareStates;
86
65
  exports.parseJumpToTarget = parseJumpToTarget;
87
- exports.parseToolCalls = parseToolCalls;
88
66
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":["middlewareList: readonly AgentMiddleware<any, any, any>[]","state: unknown","middlewareStates: Record<string, any>","issue: ZodIssue","stateSchema?: z.ZodObject<z.ZodRawShape>","z","privateShape: Record<string, any>","messages: BaseMessage[]","AIMessage","ToolMessage","target?: string","END"],"sources":["../../../../src/agents/middlewareAgent/nodes/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport {\n type BaseMessage,\n ToolMessage,\n AIMessage,\n} from \"@langchain/core/messages\";\nimport {\n interopSafeParseAsync,\n interopZodObjectMakeFieldsOptional,\n} from \"@langchain/core/utils/types\";\nimport { type ZodIssue } from \"zod/v3\";\nimport { END } from \"@langchain/langgraph\";\n\nimport type {\n AgentMiddleware,\n ToolCall,\n ToolResult,\n JumpTo,\n} from \"../types.js\";\n\n/**\n * Helper function to initialize middleware state defaults.\n * This is used to ensure all middleware state properties are initialized.\n *\n * Private properties (starting with _) are automatically made optional since\n * users cannot provide them when invoking the agent.\n */\nexport async function initializeMiddlewareStates(\n middlewareList: readonly AgentMiddleware<any, any, any>[],\n state: unknown\n): Promise<Record<string, any>> {\n const middlewareStates: Record<string, any> = {};\n\n for (const middleware of middlewareList) {\n if (middleware.stateSchema) {\n // Create a modified schema where private properties are optional\n const modifiedSchema = interopZodObjectMakeFieldsOptional(\n middleware.stateSchema,\n (key) => key.startsWith(\"_\")\n );\n\n // Use safeParse with the modified schema\n const parseResult = await interopSafeParseAsync(modifiedSchema, state);\n\n if (parseResult.success) {\n Object.assign(middlewareStates, parseResult.data);\n continue;\n }\n\n /**\n * If safeParse fails, there are required public fields missing\n */\n const requiredFields = parseResult.error.issues\n .filter(\n (issue: ZodIssue) =>\n issue.code === \"invalid_type\" && issue.message === \"Required\"\n )\n .map(\n (issue: ZodIssue) => ` - ${issue.path.join(\".\")}: ${issue.message}`\n )\n .join(\"\\n\");\n\n throw new Error(\n `Middleware \"${middleware.name}\" has required state fields that must be initialized:\\n` +\n `${requiredFields}\\n\\n` +\n `To fix this, either:\\n` +\n `1. Provide default values in your middleware's state schema using .default():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().default(\"default value\")\\n` +\n ` })\\n\\n` +\n `2. Or make the fields optional using .optional():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().optional()\\n` +\n ` })\\n\\n` +\n `3. Or ensure you pass these values when invoking the agent:\\n` +\n ` agent.invoke({\\n` +\n ` messages: [...],\\n` +\n ` ${parseResult.error.issues[0]?.path.join(\".\")}: \"value\"\\n` +\n ` })`\n );\n }\n }\n\n return middlewareStates;\n}\n\n/**\n * Users can define private and public state for a middleware. Private state properties start with an underscore.\n * This function will return the private state properties from the state schema, making all of them optional.\n * @param stateSchema - The middleware state schema\n * @returns A new schema containing only the private properties (underscore-prefixed), all made optional\n */\nexport function derivePrivateState(\n stateSchema?: z.ZodObject<z.ZodRawShape>\n): z.ZodObject<z.ZodRawShape> {\n const builtInStateSchema = {\n messages: z.custom<BaseMessage[]>(() => []),\n };\n\n if (!stateSchema) {\n return z.object(builtInStateSchema);\n }\n\n const { shape } = stateSchema;\n const privateShape: Record<string, any> = builtInStateSchema;\n\n // Filter properties that start with underscore and make them optional\n for (const [key, value] of Object.entries(shape)) {\n if (key.startsWith(\"_\")) {\n // Make the private property optional\n privateShape[key] = value.optional();\n } else {\n privateShape[key] = value;\n }\n }\n\n // Return a new schema with only private properties (all optional)\n return z.object(privateShape);\n}\n\n/**\n * Parse out all tool calls from the messages and populate the results\n * @param messages - The messages to parse\n * @returns The tool calls\n */\nexport function parseToolCalls(messages: BaseMessage[]): ToolCall[] {\n const calls =\n messages\n .filter(\n (message) =>\n AIMessage.isInstance(message) && (message as AIMessage).tool_calls\n )\n .map((message) => (message as AIMessage).tool_calls as ToolCall[])\n .flat() || [];\n\n const results = parseToolResults(messages);\n return calls.map((call) => {\n const callResult = results.find((result) => result.id === call.id);\n if (callResult) {\n return {\n ...call,\n result: callResult.result,\n };\n }\n return call;\n });\n}\n\n/**\n * Parse out all tool results from the messages\n * @param messages - The messages to parse\n * @returns The tool results\n */\nfunction parseToolResults(messages: BaseMessage[]): ToolResult[] {\n return messages\n .filter((message) => ToolMessage.isInstance(message))\n .map((message) => ({\n id: (message as ToolMessage).tool_call_id,\n result: (message as ToolMessage).content,\n }));\n}\n\n/**\n * Parse `jumpTo` target from user facing labels to a LangGraph node names\n */\nexport function parseJumpToTarget(target: string): JumpTo;\nexport function parseJumpToTarget(target?: string): JumpTo | undefined {\n if (!target) {\n return undefined;\n }\n if (target === \"model\") {\n return \"model_request\";\n }\n if (target === \"tools\") {\n return \"tools\";\n }\n if (target === \"end\") {\n return END;\n }\n\n throw new Error(\n `Invalid jump target: ${target}, must be \"model\", \"tools\" or \"end\".`\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AA4BA,eAAsB,2BACpBA,gBACAC,OAC8B;CAC9B,MAAMC,mBAAwC,CAAE;AAEhD,MAAK,MAAM,cAAc,eACvB,KAAI,WAAW,aAAa;EAE1B,MAAM,sFACJ,WAAW,aACX,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC7B;EAGD,MAAM,cAAc,8DAA4B,gBAAgB,MAAM;AAEtE,MAAI,YAAY,SAAS;GACvB,OAAO,OAAO,kBAAkB,YAAY,KAAK;AACjD;EACD;;;;EAKD,MAAM,iBAAiB,YAAY,MAAM,OACtC,OACC,CAACC,UACC,MAAM,SAAS,kBAAkB,MAAM,YAAY,WACtD,CACA,IACC,CAACA,UAAoB,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,SAAS,CACrE,CACA,KAAK,KAAK;AAEb,QAAM,IAAI,MACR,CAAC,YAAY,EAAE,WAAW,KAAK,uDAAuD,EACjF,eAAe,0aAAI,EAad,YAAY,MAAM,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAW,CACxD;CAEZ;AAGH,QAAO;AACR;;;;;;;AAQD,SAAgB,mBACdC,aAC4B;CAC5B,MAAM,qBAAqB,EACzB,UAAUC,SAAE,OAAsB,MAAM,CAAE,EAAC,CAC5C;AAED,KAAI,CAAC,YACH,QAAOA,SAAE,OAAO,mBAAmB;CAGrC,MAAM,EAAE,OAAO,GAAG;CAClB,MAAMC,eAAoC;AAG1C,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,MAAM,CAC9C,KAAI,IAAI,WAAW,IAAI,EAErB,aAAa,OAAO,MAAM,UAAU;MAEpC,aAAa,OAAO;AAKxB,QAAOD,SAAE,OAAO,aAAa;AAC9B;;;;;;AAOD,SAAgB,eAAeE,UAAqC;CAClE,MAAM,QACJ,SACG,OACC,CAAC,YACCC,oCAAU,WAAW,QAAQ,IAAK,QAAsB,WAC3D,CACA,IAAI,CAAC,YAAa,QAAsB,WAAyB,CACjE,MAAM,IAAI,CAAE;CAEjB,MAAM,UAAU,iBAAiB,SAAS;AAC1C,QAAO,MAAM,IAAI,CAAC,SAAS;EACzB,MAAM,aAAa,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,KAAK,GAAG;AAClE,MAAI,WACF,QAAO;GACL,GAAG;GACH,QAAQ,WAAW;EACpB;AAEH,SAAO;CACR,EAAC;AACH;;;;;;AAOD,SAAS,iBAAiBD,UAAuC;AAC/D,QAAO,SACJ,OAAO,CAAC,YAAYE,sCAAY,WAAW,QAAQ,CAAC,CACpD,IAAI,CAAC,aAAa;EACjB,IAAK,QAAwB;EAC7B,QAAS,QAAwB;CAClC,GAAE;AACN;AAMD,SAAgB,kBAAkBC,QAAqC;AACrE,KAAI,CAAC,OACH,QAAO;AAET,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,MACb,QAAOC;AAGT,OAAM,IAAI,MACR,CAAC,qBAAqB,EAAE,OAAO,oCAAoC,CAAC;AAEvE"}
1
+ {"version":3,"file":"utils.cjs","names":["middlewareList: readonly AgentMiddleware<any, any, any>[]","state: unknown","middlewareStates: Record<string, any>","issue: ZodIssue","stateSchema?: z.ZodObject<z.ZodRawShape>","z","privateShape: Record<string, any>","target?: string","END"],"sources":["../../../../src/agents/middlewareAgent/nodes/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport {\n interopSafeParseAsync,\n interopZodObjectMakeFieldsOptional,\n} from \"@langchain/core/utils/types\";\nimport { type ZodIssue } from \"zod/v3\";\nimport { END } from \"@langchain/langgraph\";\n\nimport type { AgentMiddleware, JumpTo } from \"../types.js\";\n\n/**\n * Helper function to initialize middleware state defaults.\n * This is used to ensure all middleware state properties are initialized.\n *\n * Private properties (starting with _) are automatically made optional since\n * users cannot provide them when invoking the agent.\n */\nexport async function initializeMiddlewareStates(\n middlewareList: readonly AgentMiddleware<any, any, any>[],\n state: unknown\n): Promise<Record<string, any>> {\n const middlewareStates: Record<string, any> = {};\n\n for (const middleware of middlewareList) {\n if (middleware.stateSchema) {\n // Create a modified schema where private properties are optional\n const modifiedSchema = interopZodObjectMakeFieldsOptional(\n middleware.stateSchema,\n (key) => key.startsWith(\"_\")\n );\n\n // Use safeParse with the modified schema\n const parseResult = await interopSafeParseAsync(modifiedSchema, state);\n\n if (parseResult.success) {\n Object.assign(middlewareStates, parseResult.data);\n continue;\n }\n\n /**\n * If safeParse fails, there are required public fields missing\n */\n const requiredFields = parseResult.error.issues\n .filter(\n (issue: ZodIssue) =>\n issue.code === \"invalid_type\" && issue.message === \"Required\"\n )\n .map(\n (issue: ZodIssue) => ` - ${issue.path.join(\".\")}: ${issue.message}`\n )\n .join(\"\\n\");\n\n throw new Error(\n `Middleware \"${middleware.name}\" has required state fields that must be initialized:\\n` +\n `${requiredFields}\\n\\n` +\n `To fix this, either:\\n` +\n `1. Provide default values in your middleware's state schema using .default():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().default(\"default value\")\\n` +\n ` })\\n\\n` +\n `2. Or make the fields optional using .optional():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().optional()\\n` +\n ` })\\n\\n` +\n `3. Or ensure you pass these values when invoking the agent:\\n` +\n ` agent.invoke({\\n` +\n ` messages: [...],\\n` +\n ` ${parseResult.error.issues[0]?.path.join(\".\")}: \"value\"\\n` +\n ` })`\n );\n }\n }\n\n return middlewareStates;\n}\n\n/**\n * Users can define private and public state for a middleware. Private state properties start with an underscore.\n * This function will return the private state properties from the state schema, making all of them optional.\n * @param stateSchema - The middleware state schema\n * @returns A new schema containing only the private properties (underscore-prefixed), all made optional\n */\nexport function derivePrivateState(\n stateSchema?: z.ZodObject<z.ZodRawShape>\n): z.ZodObject<z.ZodRawShape> {\n const builtInStateSchema = {\n messages: z.custom<BaseMessage[]>(() => []),\n };\n\n if (!stateSchema) {\n return z.object(builtInStateSchema);\n }\n\n const { shape } = stateSchema;\n const privateShape: Record<string, any> = builtInStateSchema;\n\n // Filter properties that start with underscore and make them optional\n for (const [key, value] of Object.entries(shape)) {\n if (key.startsWith(\"_\")) {\n // Make the private property optional\n privateShape[key] = value.optional();\n } else {\n privateShape[key] = value;\n }\n }\n\n // Return a new schema with only private properties (all optional)\n return z.object(privateShape);\n}\n\n/**\n * Parse `jumpTo` target from user facing labels to a LangGraph node names\n */\nexport function parseJumpToTarget(target: string): JumpTo;\nexport function parseJumpToTarget(target?: string): JumpTo | undefined {\n if (!target) {\n return undefined;\n }\n\n /**\n * if target is already a valid jump target, return it\n */\n if ([\"model_request\", \"tools\", END].includes(target)) {\n return target as JumpTo;\n }\n\n if (target === \"model\") {\n return \"model_request\";\n }\n if (target === \"tools\") {\n return \"tools\";\n }\n if (target === \"end\") {\n return END;\n }\n\n throw new Error(\n `Invalid jump target: ${target}, must be \"model\", \"tools\" or \"end\".`\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,eAAsB,2BACpBA,gBACAC,OAC8B;CAC9B,MAAMC,mBAAwC,CAAE;AAEhD,MAAK,MAAM,cAAc,eACvB,KAAI,WAAW,aAAa;EAE1B,MAAM,sFACJ,WAAW,aACX,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC7B;EAGD,MAAM,cAAc,8DAA4B,gBAAgB,MAAM;AAEtE,MAAI,YAAY,SAAS;GACvB,OAAO,OAAO,kBAAkB,YAAY,KAAK;AACjD;EACD;;;;EAKD,MAAM,iBAAiB,YAAY,MAAM,OACtC,OACC,CAACC,UACC,MAAM,SAAS,kBAAkB,MAAM,YAAY,WACtD,CACA,IACC,CAACA,UAAoB,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,SAAS,CACrE,CACA,KAAK,KAAK;AAEb,QAAM,IAAI,MACR,CAAC,YAAY,EAAE,WAAW,KAAK,uDAAuD,EACjF,eAAe,0aAAI,EAad,YAAY,MAAM,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAW,CACxD;CAEZ;AAGH,QAAO;AACR;;;;;;;AAQD,SAAgB,mBACdC,aAC4B;CAC5B,MAAM,qBAAqB,EACzB,UAAUC,SAAE,OAAsB,MAAM,CAAE,EAAC,CAC5C;AAED,KAAI,CAAC,YACH,QAAOA,SAAE,OAAO,mBAAmB;CAGrC,MAAM,EAAE,OAAO,GAAG;CAClB,MAAMC,eAAoC;AAG1C,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,MAAM,CAC9C,KAAI,IAAI,WAAW,IAAI,EAErB,aAAa,OAAO,MAAM,UAAU;MAEpC,aAAa,OAAO;AAKxB,QAAOD,SAAE,OAAO,aAAa;AAC9B;AAMD,SAAgB,kBAAkBE,QAAqC;AACrE,KAAI,CAAC,OACH,QAAO;;;;AAMT,KAAI;EAAC;EAAiB;EAASC;CAAI,EAAC,SAAS,OAAO,CAClD,QAAO;AAGT,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,MACb,QAAOA;AAGT,OAAM,IAAI,MACR,CAAC,qBAAqB,EAAE,OAAO,oCAAoC,CAAC;AAEvE"}
@@ -1,4 +1,3 @@
1
- import { AIMessage, ToolMessage } from "@langchain/core/messages";
2
1
  import { END } from "@langchain/langgraph";
3
2
  import { interopSafeParseAsync, interopZodObjectMakeFieldsOptional } from "@langchain/core/utils/types";
4
3
  import { z } from "zod/v3";
@@ -43,36 +42,16 @@ function derivePrivateState(stateSchema) {
43
42
  else privateShape[key] = value;
44
43
  return z.object(privateShape);
45
44
  }
46
- /**
47
- * Parse out all tool calls from the messages and populate the results
48
- * @param messages - The messages to parse
49
- * @returns The tool calls
50
- */
51
- function parseToolCalls(messages) {
52
- const calls = messages.filter((message) => AIMessage.isInstance(message) && message.tool_calls).map((message) => message.tool_calls).flat() || [];
53
- const results = parseToolResults(messages);
54
- return calls.map((call) => {
55
- const callResult = results.find((result) => result.id === call.id);
56
- if (callResult) return {
57
- ...call,
58
- result: callResult.result
59
- };
60
- return call;
61
- });
62
- }
63
- /**
64
- * Parse out all tool results from the messages
65
- * @param messages - The messages to parse
66
- * @returns The tool results
67
- */
68
- function parseToolResults(messages) {
69
- return messages.filter((message) => ToolMessage.isInstance(message)).map((message) => ({
70
- id: message.tool_call_id,
71
- result: message.content
72
- }));
73
- }
74
45
  function parseJumpToTarget(target) {
75
46
  if (!target) return void 0;
47
+ /**
48
+ * if target is already a valid jump target, return it
49
+ */
50
+ if ([
51
+ "model_request",
52
+ "tools",
53
+ END
54
+ ].includes(target)) return target;
76
55
  if (target === "model") return "model_request";
77
56
  if (target === "tools") return "tools";
78
57
  if (target === "end") return END;
@@ -80,5 +59,5 @@ function parseJumpToTarget(target) {
80
59
  }
81
60
 
82
61
  //#endregion
83
- export { derivePrivateState, initializeMiddlewareStates, parseJumpToTarget, parseToolCalls };
62
+ export { derivePrivateState, initializeMiddlewareStates, parseJumpToTarget };
84
63
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["middlewareList: readonly AgentMiddleware<any, any, any>[]","state: unknown","middlewareStates: Record<string, any>","issue: ZodIssue","stateSchema?: z.ZodObject<z.ZodRawShape>","privateShape: Record<string, any>","messages: BaseMessage[]","target?: string"],"sources":["../../../../src/agents/middlewareAgent/nodes/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport {\n type BaseMessage,\n ToolMessage,\n AIMessage,\n} from \"@langchain/core/messages\";\nimport {\n interopSafeParseAsync,\n interopZodObjectMakeFieldsOptional,\n} from \"@langchain/core/utils/types\";\nimport { type ZodIssue } from \"zod/v3\";\nimport { END } from \"@langchain/langgraph\";\n\nimport type {\n AgentMiddleware,\n ToolCall,\n ToolResult,\n JumpTo,\n} from \"../types.js\";\n\n/**\n * Helper function to initialize middleware state defaults.\n * This is used to ensure all middleware state properties are initialized.\n *\n * Private properties (starting with _) are automatically made optional since\n * users cannot provide them when invoking the agent.\n */\nexport async function initializeMiddlewareStates(\n middlewareList: readonly AgentMiddleware<any, any, any>[],\n state: unknown\n): Promise<Record<string, any>> {\n const middlewareStates: Record<string, any> = {};\n\n for (const middleware of middlewareList) {\n if (middleware.stateSchema) {\n // Create a modified schema where private properties are optional\n const modifiedSchema = interopZodObjectMakeFieldsOptional(\n middleware.stateSchema,\n (key) => key.startsWith(\"_\")\n );\n\n // Use safeParse with the modified schema\n const parseResult = await interopSafeParseAsync(modifiedSchema, state);\n\n if (parseResult.success) {\n Object.assign(middlewareStates, parseResult.data);\n continue;\n }\n\n /**\n * If safeParse fails, there are required public fields missing\n */\n const requiredFields = parseResult.error.issues\n .filter(\n (issue: ZodIssue) =>\n issue.code === \"invalid_type\" && issue.message === \"Required\"\n )\n .map(\n (issue: ZodIssue) => ` - ${issue.path.join(\".\")}: ${issue.message}`\n )\n .join(\"\\n\");\n\n throw new Error(\n `Middleware \"${middleware.name}\" has required state fields that must be initialized:\\n` +\n `${requiredFields}\\n\\n` +\n `To fix this, either:\\n` +\n `1. Provide default values in your middleware's state schema using .default():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().default(\"default value\")\\n` +\n ` })\\n\\n` +\n `2. Or make the fields optional using .optional():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().optional()\\n` +\n ` })\\n\\n` +\n `3. Or ensure you pass these values when invoking the agent:\\n` +\n ` agent.invoke({\\n` +\n ` messages: [...],\\n` +\n ` ${parseResult.error.issues[0]?.path.join(\".\")}: \"value\"\\n` +\n ` })`\n );\n }\n }\n\n return middlewareStates;\n}\n\n/**\n * Users can define private and public state for a middleware. Private state properties start with an underscore.\n * This function will return the private state properties from the state schema, making all of them optional.\n * @param stateSchema - The middleware state schema\n * @returns A new schema containing only the private properties (underscore-prefixed), all made optional\n */\nexport function derivePrivateState(\n stateSchema?: z.ZodObject<z.ZodRawShape>\n): z.ZodObject<z.ZodRawShape> {\n const builtInStateSchema = {\n messages: z.custom<BaseMessage[]>(() => []),\n };\n\n if (!stateSchema) {\n return z.object(builtInStateSchema);\n }\n\n const { shape } = stateSchema;\n const privateShape: Record<string, any> = builtInStateSchema;\n\n // Filter properties that start with underscore and make them optional\n for (const [key, value] of Object.entries(shape)) {\n if (key.startsWith(\"_\")) {\n // Make the private property optional\n privateShape[key] = value.optional();\n } else {\n privateShape[key] = value;\n }\n }\n\n // Return a new schema with only private properties (all optional)\n return z.object(privateShape);\n}\n\n/**\n * Parse out all tool calls from the messages and populate the results\n * @param messages - The messages to parse\n * @returns The tool calls\n */\nexport function parseToolCalls(messages: BaseMessage[]): ToolCall[] {\n const calls =\n messages\n .filter(\n (message) =>\n AIMessage.isInstance(message) && (message as AIMessage).tool_calls\n )\n .map((message) => (message as AIMessage).tool_calls as ToolCall[])\n .flat() || [];\n\n const results = parseToolResults(messages);\n return calls.map((call) => {\n const callResult = results.find((result) => result.id === call.id);\n if (callResult) {\n return {\n ...call,\n result: callResult.result,\n };\n }\n return call;\n });\n}\n\n/**\n * Parse out all tool results from the messages\n * @param messages - The messages to parse\n * @returns The tool results\n */\nfunction parseToolResults(messages: BaseMessage[]): ToolResult[] {\n return messages\n .filter((message) => ToolMessage.isInstance(message))\n .map((message) => ({\n id: (message as ToolMessage).tool_call_id,\n result: (message as ToolMessage).content,\n }));\n}\n\n/**\n * Parse `jumpTo` target from user facing labels to a LangGraph node names\n */\nexport function parseJumpToTarget(target: string): JumpTo;\nexport function parseJumpToTarget(target?: string): JumpTo | undefined {\n if (!target) {\n return undefined;\n }\n if (target === \"model\") {\n return \"model_request\";\n }\n if (target === \"tools\") {\n return \"tools\";\n }\n if (target === \"end\") {\n return END;\n }\n\n throw new Error(\n `Invalid jump target: ${target}, must be \"model\", \"tools\" or \"end\".`\n );\n}\n"],"mappings":";;;;;;;;;;;;;AA4BA,eAAsB,2BACpBA,gBACAC,OAC8B;CAC9B,MAAMC,mBAAwC,CAAE;AAEhD,MAAK,MAAM,cAAc,eACvB,KAAI,WAAW,aAAa;EAE1B,MAAM,iBAAiB,mCACrB,WAAW,aACX,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC7B;EAGD,MAAM,cAAc,MAAM,sBAAsB,gBAAgB,MAAM;AAEtE,MAAI,YAAY,SAAS;GACvB,OAAO,OAAO,kBAAkB,YAAY,KAAK;AACjD;EACD;;;;EAKD,MAAM,iBAAiB,YAAY,MAAM,OACtC,OACC,CAACC,UACC,MAAM,SAAS,kBAAkB,MAAM,YAAY,WACtD,CACA,IACC,CAACA,UAAoB,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,SAAS,CACrE,CACA,KAAK,KAAK;AAEb,QAAM,IAAI,MACR,CAAC,YAAY,EAAE,WAAW,KAAK,uDAAuD,EACjF,eAAe,0aAAI,EAad,YAAY,MAAM,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAW,CACxD;CAEZ;AAGH,QAAO;AACR;;;;;;;AAQD,SAAgB,mBACdC,aAC4B;CAC5B,MAAM,qBAAqB,EACzB,UAAU,EAAE,OAAsB,MAAM,CAAE,EAAC,CAC5C;AAED,KAAI,CAAC,YACH,QAAO,EAAE,OAAO,mBAAmB;CAGrC,MAAM,EAAE,OAAO,GAAG;CAClB,MAAMC,eAAoC;AAG1C,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,MAAM,CAC9C,KAAI,IAAI,WAAW,IAAI,EAErB,aAAa,OAAO,MAAM,UAAU;MAEpC,aAAa,OAAO;AAKxB,QAAO,EAAE,OAAO,aAAa;AAC9B;;;;;;AAOD,SAAgB,eAAeC,UAAqC;CAClE,MAAM,QACJ,SACG,OACC,CAAC,YACC,UAAU,WAAW,QAAQ,IAAK,QAAsB,WAC3D,CACA,IAAI,CAAC,YAAa,QAAsB,WAAyB,CACjE,MAAM,IAAI,CAAE;CAEjB,MAAM,UAAU,iBAAiB,SAAS;AAC1C,QAAO,MAAM,IAAI,CAAC,SAAS;EACzB,MAAM,aAAa,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,KAAK,GAAG;AAClE,MAAI,WACF,QAAO;GACL,GAAG;GACH,QAAQ,WAAW;EACpB;AAEH,SAAO;CACR,EAAC;AACH;;;;;;AAOD,SAAS,iBAAiBA,UAAuC;AAC/D,QAAO,SACJ,OAAO,CAAC,YAAY,YAAY,WAAW,QAAQ,CAAC,CACpD,IAAI,CAAC,aAAa;EACjB,IAAK,QAAwB;EAC7B,QAAS,QAAwB;CAClC,GAAE;AACN;AAMD,SAAgB,kBAAkBC,QAAqC;AACrE,KAAI,CAAC,OACH,QAAO;AAET,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,MACb,QAAO;AAGT,OAAM,IAAI,MACR,CAAC,qBAAqB,EAAE,OAAO,oCAAoC,CAAC;AAEvE"}
1
+ {"version":3,"file":"utils.js","names":["middlewareList: readonly AgentMiddleware<any, any, any>[]","state: unknown","middlewareStates: Record<string, any>","issue: ZodIssue","stateSchema?: z.ZodObject<z.ZodRawShape>","privateShape: Record<string, any>","target?: string"],"sources":["../../../../src/agents/middlewareAgent/nodes/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport {\n interopSafeParseAsync,\n interopZodObjectMakeFieldsOptional,\n} from \"@langchain/core/utils/types\";\nimport { type ZodIssue } from \"zod/v3\";\nimport { END } from \"@langchain/langgraph\";\n\nimport type { AgentMiddleware, JumpTo } from \"../types.js\";\n\n/**\n * Helper function to initialize middleware state defaults.\n * This is used to ensure all middleware state properties are initialized.\n *\n * Private properties (starting with _) are automatically made optional since\n * users cannot provide them when invoking the agent.\n */\nexport async function initializeMiddlewareStates(\n middlewareList: readonly AgentMiddleware<any, any, any>[],\n state: unknown\n): Promise<Record<string, any>> {\n const middlewareStates: Record<string, any> = {};\n\n for (const middleware of middlewareList) {\n if (middleware.stateSchema) {\n // Create a modified schema where private properties are optional\n const modifiedSchema = interopZodObjectMakeFieldsOptional(\n middleware.stateSchema,\n (key) => key.startsWith(\"_\")\n );\n\n // Use safeParse with the modified schema\n const parseResult = await interopSafeParseAsync(modifiedSchema, state);\n\n if (parseResult.success) {\n Object.assign(middlewareStates, parseResult.data);\n continue;\n }\n\n /**\n * If safeParse fails, there are required public fields missing\n */\n const requiredFields = parseResult.error.issues\n .filter(\n (issue: ZodIssue) =>\n issue.code === \"invalid_type\" && issue.message === \"Required\"\n )\n .map(\n (issue: ZodIssue) => ` - ${issue.path.join(\".\")}: ${issue.message}`\n )\n .join(\"\\n\");\n\n throw new Error(\n `Middleware \"${middleware.name}\" has required state fields that must be initialized:\\n` +\n `${requiredFields}\\n\\n` +\n `To fix this, either:\\n` +\n `1. Provide default values in your middleware's state schema using .default():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().default(\"default value\")\\n` +\n ` })\\n\\n` +\n `2. Or make the fields optional using .optional():\\n` +\n ` stateSchema: z.object({\\n` +\n ` myField: z.string().optional()\\n` +\n ` })\\n\\n` +\n `3. Or ensure you pass these values when invoking the agent:\\n` +\n ` agent.invoke({\\n` +\n ` messages: [...],\\n` +\n ` ${parseResult.error.issues[0]?.path.join(\".\")}: \"value\"\\n` +\n ` })`\n );\n }\n }\n\n return middlewareStates;\n}\n\n/**\n * Users can define private and public state for a middleware. Private state properties start with an underscore.\n * This function will return the private state properties from the state schema, making all of them optional.\n * @param stateSchema - The middleware state schema\n * @returns A new schema containing only the private properties (underscore-prefixed), all made optional\n */\nexport function derivePrivateState(\n stateSchema?: z.ZodObject<z.ZodRawShape>\n): z.ZodObject<z.ZodRawShape> {\n const builtInStateSchema = {\n messages: z.custom<BaseMessage[]>(() => []),\n };\n\n if (!stateSchema) {\n return z.object(builtInStateSchema);\n }\n\n const { shape } = stateSchema;\n const privateShape: Record<string, any> = builtInStateSchema;\n\n // Filter properties that start with underscore and make them optional\n for (const [key, value] of Object.entries(shape)) {\n if (key.startsWith(\"_\")) {\n // Make the private property optional\n privateShape[key] = value.optional();\n } else {\n privateShape[key] = value;\n }\n }\n\n // Return a new schema with only private properties (all optional)\n return z.object(privateShape);\n}\n\n/**\n * Parse `jumpTo` target from user facing labels to a LangGraph node names\n */\nexport function parseJumpToTarget(target: string): JumpTo;\nexport function parseJumpToTarget(target?: string): JumpTo | undefined {\n if (!target) {\n return undefined;\n }\n\n /**\n * if target is already a valid jump target, return it\n */\n if ([\"model_request\", \"tools\", END].includes(target)) {\n return target as JumpTo;\n }\n\n if (target === \"model\") {\n return \"model_request\";\n }\n if (target === \"tools\") {\n return \"tools\";\n }\n if (target === \"end\") {\n return END;\n }\n\n throw new Error(\n `Invalid jump target: ${target}, must be \"model\", \"tools\" or \"end\".`\n );\n}\n"],"mappings":";;;;;;;;;;;;AAmBA,eAAsB,2BACpBA,gBACAC,OAC8B;CAC9B,MAAMC,mBAAwC,CAAE;AAEhD,MAAK,MAAM,cAAc,eACvB,KAAI,WAAW,aAAa;EAE1B,MAAM,iBAAiB,mCACrB,WAAW,aACX,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC7B;EAGD,MAAM,cAAc,MAAM,sBAAsB,gBAAgB,MAAM;AAEtE,MAAI,YAAY,SAAS;GACvB,OAAO,OAAO,kBAAkB,YAAY,KAAK;AACjD;EACD;;;;EAKD,MAAM,iBAAiB,YAAY,MAAM,OACtC,OACC,CAACC,UACC,MAAM,SAAS,kBAAkB,MAAM,YAAY,WACtD,CACA,IACC,CAACA,UAAoB,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,SAAS,CACrE,CACA,KAAK,KAAK;AAEb,QAAM,IAAI,MACR,CAAC,YAAY,EAAE,WAAW,KAAK,uDAAuD,EACjF,eAAe,0aAAI,EAad,YAAY,MAAM,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAW,CACxD;CAEZ;AAGH,QAAO;AACR;;;;;;;AAQD,SAAgB,mBACdC,aAC4B;CAC5B,MAAM,qBAAqB,EACzB,UAAU,EAAE,OAAsB,MAAM,CAAE,EAAC,CAC5C;AAED,KAAI,CAAC,YACH,QAAO,EAAE,OAAO,mBAAmB;CAGrC,MAAM,EAAE,OAAO,GAAG;CAClB,MAAMC,eAAoC;AAG1C,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,MAAM,CAC9C,KAAI,IAAI,WAAW,IAAI,EAErB,aAAa,OAAO,MAAM,UAAU;MAEpC,aAAa,OAAO;AAKxB,QAAO,EAAE,OAAO,aAAa;AAC9B;AAMD,SAAgB,kBAAkBC,QAAqC;AACrE,KAAI,CAAC,OACH,QAAO;;;;AAMT,KAAI;EAAC;EAAiB;EAAS;CAAI,EAAC,SAAS,OAAO,CAClD,QAAO;AAGT,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,QACb,QAAO;AAET,KAAI,WAAW,MACb,QAAO;AAGT,OAAM,IAAI,MACR,CAAC,qBAAqB,EAAE,OAAO,oCAAoC,CAAC;AAEvE"}