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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1451) hide show
  1. package/dist/agents/ReactAgent.cjs +2 -2
  2. package/dist/agents/ReactAgent.cjs.map +1 -1
  3. package/dist/agents/ReactAgent.d.cts +1 -2
  4. package/dist/agents/ReactAgent.d.cts.map +1 -1
  5. package/dist/agents/ReactAgent.d.ts +1 -2
  6. package/dist/agents/ReactAgent.d.ts.map +1 -1
  7. package/dist/agents/ReactAgent.js +2 -2
  8. package/dist/agents/ReactAgent.js.map +1 -1
  9. package/dist/agents/RunnableCallable.cjs +10 -0
  10. package/dist/agents/RunnableCallable.cjs.map +1 -1
  11. package/dist/agents/RunnableCallable.d.cts +5 -0
  12. package/dist/agents/RunnableCallable.d.cts.map +1 -1
  13. package/dist/agents/RunnableCallable.d.ts +5 -0
  14. package/dist/agents/RunnableCallable.d.ts.map +1 -1
  15. package/dist/agents/RunnableCallable.js +10 -0
  16. package/dist/agents/RunnableCallable.js.map +1 -1
  17. package/dist/agents/annotation.cjs +14 -0
  18. package/dist/agents/annotation.cjs.map +1 -1
  19. package/dist/agents/annotation.d.cts +17 -5
  20. package/dist/agents/annotation.d.cts.map +1 -1
  21. package/dist/agents/annotation.d.ts +16 -4
  22. package/dist/agents/annotation.d.ts.map +1 -1
  23. package/dist/agents/annotation.js +12 -1
  24. package/dist/agents/annotation.js.map +1 -1
  25. package/dist/agents/createAgent.cjs.map +1 -1
  26. package/dist/agents/createAgent.js.map +1 -1
  27. package/dist/agents/errors.d.cts +9 -2
  28. package/dist/agents/errors.d.cts.map +1 -1
  29. package/dist/agents/errors.d.ts +9 -2
  30. package/dist/agents/errors.d.ts.map +1 -1
  31. package/dist/agents/index.cjs +3 -0
  32. package/dist/agents/index.cjs.map +1 -1
  33. package/dist/agents/index.d.cts +7 -6
  34. package/dist/agents/index.d.cts.map +1 -1
  35. package/dist/agents/index.d.ts +7 -6
  36. package/dist/agents/index.d.ts.map +1 -1
  37. package/dist/agents/index.js +4 -1
  38. package/dist/agents/index.js.map +1 -1
  39. package/dist/agents/interrupt.d.cts +18 -16
  40. package/dist/agents/interrupt.d.cts.map +1 -1
  41. package/dist/agents/interrupt.d.ts +16 -17
  42. package/dist/agents/interrupt.d.ts.map +1 -1
  43. package/dist/agents/interrupt.js +3 -1
  44. package/dist/agents/middlewareAgent/ReactAgent.cjs +394 -70
  45. package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -1
  46. package/dist/agents/middlewareAgent/ReactAgent.d.cts +178 -11
  47. package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -1
  48. package/dist/agents/middlewareAgent/ReactAgent.d.ts +178 -11
  49. package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -1
  50. package/dist/agents/middlewareAgent/ReactAgent.js +395 -71
  51. package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -1
  52. package/dist/agents/middlewareAgent/annotation.cjs +10 -4
  53. package/dist/agents/middlewareAgent/annotation.cjs.map +1 -1
  54. package/dist/agents/middlewareAgent/annotation.js +10 -4
  55. package/dist/agents/middlewareAgent/annotation.js.map +1 -1
  56. package/dist/agents/middlewareAgent/constants.d.cts +5 -0
  57. package/dist/agents/middlewareAgent/constants.d.cts.map +1 -0
  58. package/dist/agents/middlewareAgent/constants.d.ts +5 -0
  59. package/dist/agents/middlewareAgent/constants.d.ts.map +1 -0
  60. package/dist/agents/middlewareAgent/index.cjs.map +1 -1
  61. package/dist/agents/middlewareAgent/index.js.map +1 -1
  62. package/dist/agents/middlewareAgent/middleware/callLimit.cjs +128 -0
  63. package/dist/agents/middlewareAgent/middleware/callLimit.cjs.map +1 -0
  64. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts +119 -0
  65. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts.map +1 -0
  66. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts +119 -0
  67. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts.map +1 -0
  68. package/dist/agents/middlewareAgent/middleware/callLimit.js +127 -0
  69. package/dist/agents/middlewareAgent/middleware/callLimit.js.map +1 -0
  70. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs +278 -0
  71. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs.map +1 -0
  72. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts +239 -0
  73. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts.map +1 -0
  74. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts +239 -0
  75. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts.map +1 -0
  76. package/dist/agents/middlewareAgent/middleware/contextEditing.js +276 -0
  77. package/dist/agents/middlewareAgent/middleware/contextEditing.js.map +1 -0
  78. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs +58 -0
  79. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs.map +1 -0
  80. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts +46 -0
  81. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts.map +1 -0
  82. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts +46 -0
  83. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts.map +1 -0
  84. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js +58 -0
  85. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js.map +1 -0
  86. package/dist/agents/middlewareAgent/middleware/hitl.cjs +192 -86
  87. package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -1
  88. package/dist/agents/middlewareAgent/middleware/hitl.d.cts +387 -62
  89. package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -1
  90. package/dist/agents/middlewareAgent/middleware/hitl.d.ts +387 -62
  91. package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -1
  92. package/dist/agents/middlewareAgent/middleware/hitl.js +193 -87
  93. package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -1
  94. package/dist/agents/middlewareAgent/middleware/index.cjs +29 -3
  95. package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -1
  96. package/dist/agents/middlewareAgent/middleware/index.d.cts +13 -4
  97. package/dist/agents/middlewareAgent/middleware/index.d.ts +13 -4
  98. package/dist/agents/middlewareAgent/middleware/index.js +20 -3
  99. package/dist/agents/middlewareAgent/middleware/index.js.map +1 -1
  100. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs +193 -0
  101. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs.map +1 -0
  102. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts +83 -0
  103. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts.map +1 -0
  104. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts +83 -0
  105. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts.map +1 -0
  106. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js +192 -0
  107. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js.map +1 -0
  108. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs +67 -0
  109. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs.map +1 -0
  110. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts +45 -0
  111. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts.map +1 -0
  112. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts +45 -0
  113. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts.map +1 -0
  114. package/dist/agents/middlewareAgent/middleware/modelFallback.js +67 -0
  115. package/dist/agents/middlewareAgent/middleware/modelFallback.js.map +1 -0
  116. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs +333 -0
  117. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs.map +1 -0
  118. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts +155 -0
  119. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts.map +1 -0
  120. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts +155 -0
  121. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts.map +1 -0
  122. package/dist/agents/middlewareAgent/middleware/piiRedaction.js +332 -0
  123. package/dist/agents/middlewareAgent/middleware/piiRedaction.js.map +1 -0
  124. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs +64 -36
  125. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -1
  126. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts +64 -19
  127. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -1
  128. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts +64 -19
  129. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -1
  130. package/dist/agents/middlewareAgent/middleware/promptCaching.js +64 -36
  131. package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -1
  132. package/dist/agents/middlewareAgent/middleware/summarization.cjs +27 -35
  133. package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -1
  134. package/dist/agents/middlewareAgent/middleware/summarization.d.cts +12 -17
  135. package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -1
  136. package/dist/agents/middlewareAgent/middleware/summarization.d.ts +12 -17
  137. package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -1
  138. package/dist/agents/middlewareAgent/middleware/summarization.js +28 -35
  139. package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -1
  140. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs +242 -0
  141. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs.map +1 -0
  142. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts +158 -0
  143. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts.map +1 -0
  144. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts +158 -0
  145. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts.map +1 -0
  146. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js +240 -0
  147. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js.map +1 -0
  148. package/dist/agents/middlewareAgent/middleware/utils.cjs +26 -0
  149. package/dist/agents/middlewareAgent/middleware/utils.cjs.map +1 -0
  150. package/dist/agents/middlewareAgent/middleware/utils.d.cts +13 -0
  151. package/dist/agents/middlewareAgent/middleware/utils.d.cts.map +1 -0
  152. package/dist/agents/middlewareAgent/middleware/utils.d.ts +13 -0
  153. package/dist/agents/middlewareAgent/middleware/utils.d.ts.map +1 -0
  154. package/dist/agents/middlewareAgent/middleware/utils.js +25 -0
  155. package/dist/agents/middlewareAgent/middleware/utils.js.map +1 -0
  156. package/dist/agents/middlewareAgent/middleware.cjs +9 -5
  157. package/dist/agents/middlewareAgent/middleware.cjs.map +1 -1
  158. package/dist/agents/middlewareAgent/middleware.d.cts +78 -7
  159. package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -1
  160. package/dist/agents/middlewareAgent/middleware.d.ts +78 -7
  161. package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -1
  162. package/dist/agents/middlewareAgent/middleware.js +9 -5
  163. package/dist/agents/middlewareAgent/middleware.js.map +1 -1
  164. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +4 -4
  165. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -1
  166. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +4 -4
  167. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -1
  168. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +260 -117
  169. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -1
  170. package/dist/agents/middlewareAgent/nodes/AgentNode.js +263 -120
  171. package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -1
  172. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +4 -4
  173. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -1
  174. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +4 -4
  175. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -1
  176. package/dist/agents/middlewareAgent/nodes/middleware.cjs +51 -25
  177. package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -1
  178. package/dist/agents/middlewareAgent/nodes/middleware.js +51 -26
  179. package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -1
  180. package/dist/agents/middlewareAgent/nodes/utils.cjs +20 -28
  181. package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -1
  182. package/dist/agents/middlewareAgent/nodes/utils.js +20 -27
  183. package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -1
  184. package/dist/agents/middlewareAgent/types.d.cts +182 -90
  185. package/dist/agents/middlewareAgent/types.d.cts.map +1 -1
  186. package/dist/agents/middlewareAgent/types.d.ts +182 -90
  187. package/dist/agents/middlewareAgent/types.d.ts.map +1 -1
  188. package/dist/agents/model.cjs +13 -0
  189. package/dist/agents/model.cjs.map +1 -0
  190. package/dist/agents/model.js +11 -0
  191. package/dist/agents/model.js.map +1 -0
  192. package/dist/agents/nodes/AgentNode.cjs +56 -28
  193. package/dist/agents/nodes/AgentNode.cjs.map +1 -1
  194. package/dist/agents/nodes/AgentNode.js +57 -29
  195. package/dist/agents/nodes/AgentNode.js.map +1 -1
  196. package/dist/agents/nodes/ToolNode.cjs +1 -1
  197. package/dist/agents/nodes/ToolNode.cjs.map +1 -1
  198. package/dist/agents/nodes/ToolNode.d.cts +2 -2
  199. package/dist/agents/nodes/ToolNode.js +1 -1
  200. package/dist/agents/nodes/ToolNode.js.map +1 -1
  201. package/dist/agents/responses.cjs +52 -10
  202. package/dist/agents/responses.cjs.map +1 -1
  203. package/dist/agents/responses.d.cts +12 -20
  204. package/dist/agents/responses.d.cts.map +1 -1
  205. package/dist/agents/responses.d.ts +12 -20
  206. package/dist/agents/responses.d.ts.map +1 -1
  207. package/dist/agents/responses.js +52 -11
  208. package/dist/agents/responses.js.map +1 -1
  209. package/dist/agents/tests/utils.cjs +77 -0
  210. package/dist/agents/tests/utils.cjs.map +1 -0
  211. package/dist/agents/tests/utils.d.cts +53 -0
  212. package/dist/agents/tests/utils.d.cts.map +1 -0
  213. package/dist/agents/tests/utils.d.ts +53 -0
  214. package/dist/agents/tests/utils.d.ts.map +1 -0
  215. package/dist/agents/tests/utils.js +76 -0
  216. package/dist/agents/tests/utils.js.map +1 -0
  217. package/dist/agents/types.cjs +7 -0
  218. package/dist/agents/types.cjs.map +1 -0
  219. package/dist/agents/types.d.cts +40 -7
  220. package/dist/agents/types.d.cts.map +1 -1
  221. package/dist/agents/types.d.ts +40 -7
  222. package/dist/agents/types.d.ts.map +1 -1
  223. package/dist/agents/types.js +6 -0
  224. package/dist/agents/types.js.map +1 -0
  225. package/dist/agents/utils.cjs +5 -23
  226. package/dist/agents/utils.cjs.map +1 -1
  227. package/dist/agents/utils.js +2 -19
  228. package/dist/agents/utils.js.map +1 -1
  229. package/dist/chat_models/universal.cjs +7 -0
  230. package/dist/chat_models/universal.cjs.map +1 -1
  231. package/dist/chat_models/universal.d.cts +7 -2
  232. package/dist/chat_models/universal.d.cts.map +1 -1
  233. package/dist/chat_models/universal.d.ts +7 -2
  234. package/dist/chat_models/universal.d.ts.map +1 -1
  235. package/dist/chat_models/universal.js +7 -0
  236. package/dist/chat_models/universal.js.map +1 -1
  237. package/dist/embeddings/cache_backed.d.ts +1 -1
  238. package/dist/hub/base.cjs +4 -1
  239. package/dist/hub/base.cjs.map +1 -1
  240. package/dist/hub/base.js +4 -1
  241. package/dist/hub/base.js.map +1 -1
  242. package/dist/index.cjs +97 -7
  243. package/dist/index.cjs.map +1 -1
  244. package/dist/index.d.cts +24 -8
  245. package/dist/index.d.ts +24 -8
  246. package/dist/index.js +52 -6
  247. package/dist/index.js.map +1 -1
  248. package/dist/load/import_constants.cjs +0 -19
  249. package/dist/load/import_constants.cjs.map +1 -1
  250. package/dist/load/import_constants.js +0 -19
  251. package/dist/load/import_constants.js.map +1 -1
  252. package/dist/load/import_map.cjs +3 -114
  253. package/dist/load/import_map.cjs.map +1 -1
  254. package/dist/load/import_map.js +4 -115
  255. package/dist/load/import_map.js.map +1 -1
  256. package/dist/load/serializable.d.cts +1 -10
  257. package/dist/load/serializable.d.ts +1 -10
  258. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs +5 -4
  259. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs.map +1 -1
  260. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js +3 -2
  261. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js.map +1 -1
  262. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs +83 -0
  263. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs.map +1 -0
  264. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js +79 -0
  265. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js.map +1 -0
  266. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs +16 -0
  267. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs.map +1 -0
  268. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js +13 -0
  269. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js.map +1 -0
  270. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs +77 -0
  271. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs.map +1 -0
  272. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js +74 -0
  273. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js.map +1 -0
  274. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs +115 -0
  275. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs.map +1 -0
  276. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js +112 -0
  277. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js.map +1 -0
  278. package/dist/storage/encoder_backed.cjs +1 -1
  279. package/dist/storage/encoder_backed.d.cts +1 -1
  280. package/dist/storage/encoder_backed.d.ts +1 -1
  281. package/dist/storage/encoder_backed.js +1 -1
  282. package/dist/storage/file_system.cjs +1 -1
  283. package/dist/storage/file_system.js +1 -1
  284. package/package.json +39 -652
  285. package/dist/chains/analyze_documents_chain.cjs +0 -83
  286. package/dist/chains/analyze_documents_chain.cjs.map +0 -1
  287. package/dist/chains/analyze_documents_chain.d.cts +0 -58
  288. package/dist/chains/analyze_documents_chain.d.cts.map +0 -1
  289. package/dist/chains/analyze_documents_chain.d.ts +0 -58
  290. package/dist/chains/analyze_documents_chain.d.ts.map +0 -1
  291. package/dist/chains/analyze_documents_chain.js +0 -82
  292. package/dist/chains/analyze_documents_chain.js.map +0 -1
  293. package/dist/chains/api/api_chain.cjs +0 -100
  294. package/dist/chains/api/api_chain.cjs.map +0 -1
  295. package/dist/chains/api/api_chain.d.cts +0 -63
  296. package/dist/chains/api/api_chain.d.cts.map +0 -1
  297. package/dist/chains/api/api_chain.d.ts +0 -63
  298. package/dist/chains/api/api_chain.d.ts.map +0 -1
  299. package/dist/chains/api/api_chain.js +0 -100
  300. package/dist/chains/api/api_chain.js.map +0 -1
  301. package/dist/chains/api/prompts.cjs +0 -38
  302. package/dist/chains/api/prompts.cjs.map +0 -1
  303. package/dist/chains/api/prompts.js +0 -36
  304. package/dist/chains/api/prompts.js.map +0 -1
  305. package/dist/chains/base.cjs +0 -180
  306. package/dist/chains/base.cjs.map +0 -1
  307. package/dist/chains/base.d.cts +0 -88
  308. package/dist/chains/base.d.cts.map +0 -1
  309. package/dist/chains/base.d.ts +0 -88
  310. package/dist/chains/base.d.ts.map +0 -1
  311. package/dist/chains/base.js +0 -179
  312. package/dist/chains/base.js.map +0 -1
  313. package/dist/chains/chat_vector_db_chain.cjs +0 -130
  314. package/dist/chains/chat_vector_db_chain.cjs.map +0 -1
  315. package/dist/chains/chat_vector_db_chain.d.cts +0 -62
  316. package/dist/chains/chat_vector_db_chain.d.cts.map +0 -1
  317. package/dist/chains/chat_vector_db_chain.d.ts +0 -62
  318. package/dist/chains/chat_vector_db_chain.d.ts.map +0 -1
  319. package/dist/chains/chat_vector_db_chain.js +0 -129
  320. package/dist/chains/chat_vector_db_chain.js.map +0 -1
  321. package/dist/chains/combine_docs_chain.cjs +0 -275
  322. package/dist/chains/combine_docs_chain.cjs.map +0 -1
  323. package/dist/chains/combine_docs_chain.d.cts +0 -126
  324. package/dist/chains/combine_docs_chain.d.cts.map +0 -1
  325. package/dist/chains/combine_docs_chain.d.ts +0 -126
  326. package/dist/chains/combine_docs_chain.d.ts.map +0 -1
  327. package/dist/chains/combine_docs_chain.js +0 -272
  328. package/dist/chains/combine_docs_chain.js.map +0 -1
  329. package/dist/chains/combine_documents/base.cjs +0 -22
  330. package/dist/chains/combine_documents/base.cjs.map +0 -1
  331. package/dist/chains/combine_documents/base.js +0 -18
  332. package/dist/chains/combine_documents/base.js.map +0 -1
  333. package/dist/chains/combine_documents/index.cjs +0 -16
  334. package/dist/chains/combine_documents/index.cjs.map +0 -1
  335. package/dist/chains/combine_documents/index.d.cts +0 -2
  336. package/dist/chains/combine_documents/index.d.ts +0 -2
  337. package/dist/chains/combine_documents/index.js +0 -10
  338. package/dist/chains/combine_documents/index.js.map +0 -1
  339. package/dist/chains/combine_documents/reduce.cjs +0 -73
  340. package/dist/chains/combine_documents/reduce.cjs.map +0 -1
  341. package/dist/chains/combine_documents/reduce.d.cts +0 -36
  342. package/dist/chains/combine_documents/reduce.d.cts.map +0 -1
  343. package/dist/chains/combine_documents/reduce.d.ts +0 -36
  344. package/dist/chains/combine_documents/reduce.d.ts.map +0 -1
  345. package/dist/chains/combine_documents/reduce.js +0 -66
  346. package/dist/chains/combine_documents/reduce.js.map +0 -1
  347. package/dist/chains/combine_documents/stuff.cjs +0 -41
  348. package/dist/chains/combine_documents/stuff.cjs.map +0 -1
  349. package/dist/chains/combine_documents/stuff.d.cts +0 -40
  350. package/dist/chains/combine_documents/stuff.d.cts.map +0 -1
  351. package/dist/chains/combine_documents/stuff.d.ts +0 -40
  352. package/dist/chains/combine_documents/stuff.d.ts.map +0 -1
  353. package/dist/chains/combine_documents/stuff.js +0 -40
  354. package/dist/chains/combine_documents/stuff.js.map +0 -1
  355. package/dist/chains/constitutional_ai/constitutional_chain.cjs +0 -131
  356. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +0 -1
  357. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -79
  358. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +0 -1
  359. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -79
  360. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +0 -1
  361. package/dist/chains/constitutional_ai/constitutional_chain.js +0 -131
  362. package/dist/chains/constitutional_ai/constitutional_chain.js.map +0 -1
  363. package/dist/chains/constitutional_ai/constitutional_principle.cjs +0 -322
  364. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +0 -1
  365. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -50
  366. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +0 -1
  367. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -50
  368. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +0 -1
  369. package/dist/chains/constitutional_ai/constitutional_principle.js +0 -320
  370. package/dist/chains/constitutional_ai/constitutional_principle.js.map +0 -1
  371. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +0 -96
  372. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +0 -1
  373. package/dist/chains/constitutional_ai/constitutional_prompts.js +0 -94
  374. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +0 -1
  375. package/dist/chains/conversation.cjs +0 -50
  376. package/dist/chains/conversation.cjs.map +0 -1
  377. package/dist/chains/conversation.d.cts +0 -34
  378. package/dist/chains/conversation.d.cts.map +0 -1
  379. package/dist/chains/conversation.d.ts +0 -34
  380. package/dist/chains/conversation.d.ts.map +0 -1
  381. package/dist/chains/conversation.js +0 -48
  382. package/dist/chains/conversation.js.map +0 -1
  383. package/dist/chains/conversational_retrieval_chain.cjs +0 -218
  384. package/dist/chains/conversational_retrieval_chain.cjs.map +0 -1
  385. package/dist/chains/conversational_retrieval_chain.d.cts +0 -152
  386. package/dist/chains/conversational_retrieval_chain.d.cts.map +0 -1
  387. package/dist/chains/conversational_retrieval_chain.d.ts +0 -152
  388. package/dist/chains/conversational_retrieval_chain.d.ts.map +0 -1
  389. package/dist/chains/conversational_retrieval_chain.js +0 -217
  390. package/dist/chains/conversational_retrieval_chain.js.map +0 -1
  391. package/dist/chains/graph_qa/cypher.cjs +0 -133
  392. package/dist/chains/graph_qa/cypher.cjs.map +0 -1
  393. package/dist/chains/graph_qa/cypher.d.cts +0 -76
  394. package/dist/chains/graph_qa/cypher.d.cts.map +0 -1
  395. package/dist/chains/graph_qa/cypher.d.ts +0 -76
  396. package/dist/chains/graph_qa/cypher.d.ts.map +0 -1
  397. package/dist/chains/graph_qa/cypher.js +0 -126
  398. package/dist/chains/graph_qa/cypher.js.map +0 -1
  399. package/dist/chains/graph_qa/prompts.cjs +0 -46
  400. package/dist/chains/graph_qa/prompts.cjs.map +0 -1
  401. package/dist/chains/graph_qa/prompts.js +0 -44
  402. package/dist/chains/graph_qa/prompts.js.map +0 -1
  403. package/dist/chains/history_aware_retriever.cjs +0 -55
  404. package/dist/chains/history_aware_retriever.cjs.map +0 -1
  405. package/dist/chains/history_aware_retriever.d.cts +0 -64
  406. package/dist/chains/history_aware_retriever.d.cts.map +0 -1
  407. package/dist/chains/history_aware_retriever.d.ts +0 -64
  408. package/dist/chains/history_aware_retriever.d.ts.map +0 -1
  409. package/dist/chains/history_aware_retriever.js +0 -49
  410. package/dist/chains/history_aware_retriever.js.map +0 -1
  411. package/dist/chains/index.cjs +0 -106
  412. package/dist/chains/index.cjs.map +0 -1
  413. package/dist/chains/index.d.cts +0 -25
  414. package/dist/chains/index.d.ts +0 -25
  415. package/dist/chains/index.js +0 -67
  416. package/dist/chains/index.js.map +0 -1
  417. package/dist/chains/llm_chain.cjs +0 -155
  418. package/dist/chains/llm_chain.cjs.map +0 -1
  419. package/dist/chains/llm_chain.d.cts +0 -97
  420. package/dist/chains/llm_chain.d.cts.map +0 -1
  421. package/dist/chains/llm_chain.d.ts +0 -97
  422. package/dist/chains/llm_chain.d.ts.map +0 -1
  423. package/dist/chains/llm_chain.js +0 -154
  424. package/dist/chains/llm_chain.js.map +0 -1
  425. package/dist/chains/load.cjs +0 -48
  426. package/dist/chains/load.cjs.map +0 -1
  427. package/dist/chains/load.d.cts +0 -30
  428. package/dist/chains/load.d.cts.map +0 -1
  429. package/dist/chains/load.d.ts +0 -30
  430. package/dist/chains/load.d.ts.map +0 -1
  431. package/dist/chains/load.js +0 -42
  432. package/dist/chains/load.js.map +0 -1
  433. package/dist/chains/openai_functions/base.cjs +0 -139
  434. package/dist/chains/openai_functions/base.cjs.map +0 -1
  435. package/dist/chains/openai_functions/base.d.cts +0 -172
  436. package/dist/chains/openai_functions/base.d.cts.map +0 -1
  437. package/dist/chains/openai_functions/base.d.ts +0 -172
  438. package/dist/chains/openai_functions/base.d.ts.map +0 -1
  439. package/dist/chains/openai_functions/base.js +0 -137
  440. package/dist/chains/openai_functions/base.js.map +0 -1
  441. package/dist/chains/openai_functions/extraction.cjs +0 -71
  442. package/dist/chains/openai_functions/extraction.cjs.map +0 -1
  443. package/dist/chains/openai_functions/extraction.d.cts +0 -29
  444. package/dist/chains/openai_functions/extraction.d.cts.map +0 -1
  445. package/dist/chains/openai_functions/extraction.d.ts +0 -29
  446. package/dist/chains/openai_functions/extraction.d.ts.map +0 -1
  447. package/dist/chains/openai_functions/extraction.js +0 -69
  448. package/dist/chains/openai_functions/extraction.js.map +0 -1
  449. package/dist/chains/openai_functions/index.cjs +0 -33
  450. package/dist/chains/openai_functions/index.cjs.map +0 -1
  451. package/dist/chains/openai_functions/index.d.cts +0 -5
  452. package/dist/chains/openai_functions/index.d.ts +0 -5
  453. package/dist/chains/openai_functions/index.js +0 -21
  454. package/dist/chains/openai_functions/index.js.map +0 -1
  455. package/dist/chains/openai_functions/openapi.cjs +0 -287
  456. package/dist/chains/openai_functions/openapi.cjs.map +0 -1
  457. package/dist/chains/openai_functions/openapi.d.cts +0 -61
  458. package/dist/chains/openai_functions/openapi.d.cts.map +0 -1
  459. package/dist/chains/openai_functions/openapi.d.ts +0 -61
  460. package/dist/chains/openai_functions/openapi.d.ts.map +0 -1
  461. package/dist/chains/openai_functions/openapi.js +0 -285
  462. package/dist/chains/openai_functions/openapi.js.map +0 -1
  463. package/dist/chains/openai_functions/tagging.cjs +0 -72
  464. package/dist/chains/openai_functions/tagging.cjs.map +0 -1
  465. package/dist/chains/openai_functions/tagging.d.cts +0 -47
  466. package/dist/chains/openai_functions/tagging.d.cts.map +0 -1
  467. package/dist/chains/openai_functions/tagging.d.ts +0 -47
  468. package/dist/chains/openai_functions/tagging.d.ts.map +0 -1
  469. package/dist/chains/openai_functions/tagging.js +0 -70
  470. package/dist/chains/openai_functions/tagging.js.map +0 -1
  471. package/dist/chains/query_constructor/index.cjs +0 -145
  472. package/dist/chains/query_constructor/index.cjs.map +0 -1
  473. package/dist/chains/query_constructor/index.d.cts +0 -82
  474. package/dist/chains/query_constructor/index.d.cts.map +0 -1
  475. package/dist/chains/query_constructor/index.d.ts +0 -82
  476. package/dist/chains/query_constructor/index.d.ts.map +0 -1
  477. package/dist/chains/query_constructor/index.js +0 -130
  478. package/dist/chains/query_constructor/index.js.map +0 -1
  479. package/dist/chains/query_constructor/ir.cjs +0 -22
  480. package/dist/chains/query_constructor/ir.cjs.map +0 -1
  481. package/dist/chains/query_constructor/ir.d.cts +0 -1
  482. package/dist/chains/query_constructor/ir.d.ts +0 -1
  483. package/dist/chains/query_constructor/ir.js +0 -12
  484. package/dist/chains/query_constructor/ir.js.map +0 -1
  485. package/dist/chains/query_constructor/parser.cjs +0 -80
  486. package/dist/chains/query_constructor/parser.cjs.map +0 -1
  487. package/dist/chains/query_constructor/parser.d.cts +0 -43
  488. package/dist/chains/query_constructor/parser.d.cts.map +0 -1
  489. package/dist/chains/query_constructor/parser.d.ts +0 -43
  490. package/dist/chains/query_constructor/parser.d.ts.map +0 -1
  491. package/dist/chains/query_constructor/parser.js +0 -79
  492. package/dist/chains/query_constructor/parser.js.map +0 -1
  493. package/dist/chains/query_constructor/prompt.cjs +0 -137
  494. package/dist/chains/query_constructor/prompt.cjs.map +0 -1
  495. package/dist/chains/query_constructor/prompt.d.cts +0 -22
  496. package/dist/chains/query_constructor/prompt.d.cts.map +0 -1
  497. package/dist/chains/query_constructor/prompt.d.ts +0 -22
  498. package/dist/chains/query_constructor/prompt.d.ts.map +0 -1
  499. package/dist/chains/query_constructor/prompt.js +0 -132
  500. package/dist/chains/query_constructor/prompt.js.map +0 -1
  501. package/dist/chains/question_answering/load.cjs +0 -99
  502. package/dist/chains/question_answering/load.cjs.map +0 -1
  503. package/dist/chains/question_answering/load.d.cts +0 -72
  504. package/dist/chains/question_answering/load.d.cts.map +0 -1
  505. package/dist/chains/question_answering/load.d.ts +0 -72
  506. package/dist/chains/question_answering/load.d.ts.map +0 -1
  507. package/dist/chains/question_answering/load.js +0 -96
  508. package/dist/chains/question_answering/load.js.map +0 -1
  509. package/dist/chains/question_answering/map_reduce_prompts.cjs +0 -61
  510. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +0 -1
  511. package/dist/chains/question_answering/map_reduce_prompts.js +0 -59
  512. package/dist/chains/question_answering/map_reduce_prompts.js.map +0 -1
  513. package/dist/chains/question_answering/refine_prompts.cjs +0 -60
  514. package/dist/chains/question_answering/refine_prompts.cjs.map +0 -1
  515. package/dist/chains/question_answering/refine_prompts.js +0 -58
  516. package/dist/chains/question_answering/refine_prompts.js.map +0 -1
  517. package/dist/chains/question_answering/stuff_prompts.cjs +0 -20
  518. package/dist/chains/question_answering/stuff_prompts.cjs.map +0 -1
  519. package/dist/chains/question_answering/stuff_prompts.js +0 -19
  520. package/dist/chains/question_answering/stuff_prompts.js.map +0 -1
  521. package/dist/chains/retrieval.cjs +0 -55
  522. package/dist/chains/retrieval.cjs.map +0 -1
  523. package/dist/chains/retrieval.d.cts +0 -77
  524. package/dist/chains/retrieval.d.cts.map +0 -1
  525. package/dist/chains/retrieval.d.ts +0 -77
  526. package/dist/chains/retrieval.d.ts.map +0 -1
  527. package/dist/chains/retrieval.js +0 -49
  528. package/dist/chains/retrieval.js.map +0 -1
  529. package/dist/chains/retrieval_qa.cjs +0 -106
  530. package/dist/chains/retrieval_qa.cjs.map +0 -1
  531. package/dist/chains/retrieval_qa.d.cts +0 -81
  532. package/dist/chains/retrieval_qa.d.cts.map +0 -1
  533. package/dist/chains/retrieval_qa.d.ts +0 -81
  534. package/dist/chains/retrieval_qa.d.ts.map +0 -1
  535. package/dist/chains/retrieval_qa.js +0 -106
  536. package/dist/chains/retrieval_qa.js.map +0 -1
  537. package/dist/chains/router/llm_router.cjs +0 -50
  538. package/dist/chains/router/llm_router.cjs.map +0 -1
  539. package/dist/chains/router/llm_router.d.cts +0 -54
  540. package/dist/chains/router/llm_router.d.cts.map +0 -1
  541. package/dist/chains/router/llm_router.d.ts +0 -54
  542. package/dist/chains/router/llm_router.d.ts.map +0 -1
  543. package/dist/chains/router/llm_router.js +0 -50
  544. package/dist/chains/router/llm_router.js.map +0 -1
  545. package/dist/chains/router/multi_prompt.cjs +0 -116
  546. package/dist/chains/router/multi_prompt.cjs.map +0 -1
  547. package/dist/chains/router/multi_prompt.d.cts +0 -76
  548. package/dist/chains/router/multi_prompt.d.cts.map +0 -1
  549. package/dist/chains/router/multi_prompt.d.ts +0 -76
  550. package/dist/chains/router/multi_prompt.d.ts.map +0 -1
  551. package/dist/chains/router/multi_prompt.js +0 -115
  552. package/dist/chains/router/multi_prompt.js.map +0 -1
  553. package/dist/chains/router/multi_prompt_prompt.cjs +0 -22
  554. package/dist/chains/router/multi_prompt_prompt.cjs.map +0 -1
  555. package/dist/chains/router/multi_prompt_prompt.js +0 -21
  556. package/dist/chains/router/multi_prompt_prompt.js.map +0 -1
  557. package/dist/chains/router/multi_retrieval_prompt.cjs +0 -22
  558. package/dist/chains/router/multi_retrieval_prompt.cjs.map +0 -1
  559. package/dist/chains/router/multi_retrieval_prompt.js +0 -21
  560. package/dist/chains/router/multi_retrieval_prompt.js.map +0 -1
  561. package/dist/chains/router/multi_retrieval_qa.cjs +0 -137
  562. package/dist/chains/router/multi_retrieval_qa.cjs.map +0 -1
  563. package/dist/chains/router/multi_retrieval_qa.d.cts +0 -100
  564. package/dist/chains/router/multi_retrieval_qa.d.cts.map +0 -1
  565. package/dist/chains/router/multi_retrieval_qa.d.ts +0 -100
  566. package/dist/chains/router/multi_retrieval_qa.d.ts.map +0 -1
  567. package/dist/chains/router/multi_retrieval_qa.js +0 -136
  568. package/dist/chains/router/multi_retrieval_qa.js.map +0 -1
  569. package/dist/chains/router/multi_route.cjs +0 -69
  570. package/dist/chains/router/multi_route.cjs.map +0 -1
  571. package/dist/chains/router/multi_route.d.cts +0 -69
  572. package/dist/chains/router/multi_route.d.cts.map +0 -1
  573. package/dist/chains/router/multi_route.d.ts +0 -69
  574. package/dist/chains/router/multi_route.d.ts.map +0 -1
  575. package/dist/chains/router/multi_route.js +0 -68
  576. package/dist/chains/router/multi_route.js.map +0 -1
  577. package/dist/chains/router/utils.cjs +0 -18
  578. package/dist/chains/router/utils.cjs.map +0 -1
  579. package/dist/chains/router/utils.js +0 -17
  580. package/dist/chains/router/utils.js.map +0 -1
  581. package/dist/chains/sequential_chain.cjs +0 -255
  582. package/dist/chains/sequential_chain.cjs.map +0 -1
  583. package/dist/chains/sequential_chain.d.cts +0 -158
  584. package/dist/chains/sequential_chain.d.cts.map +0 -1
  585. package/dist/chains/sequential_chain.d.ts +0 -158
  586. package/dist/chains/sequential_chain.d.ts.map +0 -1
  587. package/dist/chains/sequential_chain.js +0 -254
  588. package/dist/chains/sequential_chain.js.map +0 -1
  589. package/dist/chains/serde.d.cts +0 -156
  590. package/dist/chains/serde.d.cts.map +0 -1
  591. package/dist/chains/serde.d.ts +0 -156
  592. package/dist/chains/serde.d.ts.map +0 -1
  593. package/dist/chains/sql_db/index.cjs +0 -35
  594. package/dist/chains/sql_db/index.cjs.map +0 -1
  595. package/dist/chains/sql_db/index.d.cts +0 -3
  596. package/dist/chains/sql_db/index.d.ts +0 -3
  597. package/dist/chains/sql_db/index.js +0 -21
  598. package/dist/chains/sql_db/index.js.map +0 -1
  599. package/dist/chains/sql_db/sql_db_chain.cjs +0 -196
  600. package/dist/chains/sql_db/sql_db_chain.cjs.map +0 -1
  601. package/dist/chains/sql_db/sql_db_chain.d.cts +0 -124
  602. package/dist/chains/sql_db/sql_db_chain.d.cts.map +0 -1
  603. package/dist/chains/sql_db/sql_db_chain.d.ts +0 -124
  604. package/dist/chains/sql_db/sql_db_chain.d.ts.map +0 -1
  605. package/dist/chains/sql_db/sql_db_chain.js +0 -194
  606. package/dist/chains/sql_db/sql_db_chain.js.map +0 -1
  607. package/dist/chains/sql_db/sql_db_prompt.cjs +0 -194
  608. package/dist/chains/sql_db/sql_db_prompt.cjs.map +0 -1
  609. package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -44
  610. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +0 -1
  611. package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -44
  612. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +0 -1
  613. package/dist/chains/sql_db/sql_db_prompt.js +0 -186
  614. package/dist/chains/sql_db/sql_db_prompt.js.map +0 -1
  615. package/dist/chains/summarization/load.cjs +0 -74
  616. package/dist/chains/summarization/load.cjs.map +0 -1
  617. package/dist/chains/summarization/load.d.cts +0 -33
  618. package/dist/chains/summarization/load.d.cts.map +0 -1
  619. package/dist/chains/summarization/load.d.ts +0 -33
  620. package/dist/chains/summarization/load.d.ts.map +0 -1
  621. package/dist/chains/summarization/load.js +0 -74
  622. package/dist/chains/summarization/load.js.map +0 -1
  623. package/dist/chains/summarization/refine_prompts.cjs +0 -24
  624. package/dist/chains/summarization/refine_prompts.cjs.map +0 -1
  625. package/dist/chains/summarization/refine_prompts.js +0 -23
  626. package/dist/chains/summarization/refine_prompts.js.map +0 -1
  627. package/dist/chains/summarization/stuff_prompts.cjs +0 -19
  628. package/dist/chains/summarization/stuff_prompts.cjs.map +0 -1
  629. package/dist/chains/summarization/stuff_prompts.js +0 -18
  630. package/dist/chains/summarization/stuff_prompts.js.map +0 -1
  631. package/dist/chains/transform.cjs +0 -43
  632. package/dist/chains/transform.cjs.map +0 -1
  633. package/dist/chains/transform.d.cts +0 -44
  634. package/dist/chains/transform.d.cts.map +0 -1
  635. package/dist/chains/transform.d.ts +0 -44
  636. package/dist/chains/transform.d.ts.map +0 -1
  637. package/dist/chains/transform.js +0 -43
  638. package/dist/chains/transform.js.map +0 -1
  639. package/dist/chains/vector_db_qa.cjs +0 -95
  640. package/dist/chains/vector_db_qa.cjs.map +0 -1
  641. package/dist/chains/vector_db_qa.d.cts +0 -66
  642. package/dist/chains/vector_db_qa.d.cts.map +0 -1
  643. package/dist/chains/vector_db_qa.d.ts +0 -66
  644. package/dist/chains/vector_db_qa.d.ts.map +0 -1
  645. package/dist/chains/vector_db_qa.js +0 -95
  646. package/dist/chains/vector_db_qa.js.map +0 -1
  647. package/dist/document.cjs +0 -21
  648. package/dist/document.cjs.map +0 -1
  649. package/dist/document.d.cts +0 -2
  650. package/dist/document.d.ts +0 -2
  651. package/dist/document.js +0 -10
  652. package/dist/document.js.map +0 -1
  653. package/dist/document_loaders/base.cjs +0 -22
  654. package/dist/document_loaders/base.cjs.map +0 -1
  655. package/dist/document_loaders/base.d.cts +0 -1
  656. package/dist/document_loaders/base.d.ts +0 -1
  657. package/dist/document_loaders/base.js +0 -12
  658. package/dist/document_loaders/base.js.map +0 -1
  659. package/dist/document_loaders/fs/buffer.cjs +0 -69
  660. package/dist/document_loaders/fs/buffer.cjs.map +0 -1
  661. package/dist/document_loaders/fs/buffer.d.cts +0 -46
  662. package/dist/document_loaders/fs/buffer.d.cts.map +0 -1
  663. package/dist/document_loaders/fs/buffer.d.ts +0 -46
  664. package/dist/document_loaders/fs/buffer.d.ts.map +0 -1
  665. package/dist/document_loaders/fs/buffer.js +0 -63
  666. package/dist/document_loaders/fs/buffer.js.map +0 -1
  667. package/dist/document_loaders/fs/directory.cjs +0 -116
  668. package/dist/document_loaders/fs/directory.cjs.map +0 -1
  669. package/dist/document_loaders/fs/directory.d.cts +0 -76
  670. package/dist/document_loaders/fs/directory.d.cts.map +0 -1
  671. package/dist/document_loaders/fs/directory.d.ts +0 -76
  672. package/dist/document_loaders/fs/directory.d.ts.map +0 -1
  673. package/dist/document_loaders/fs/directory.js +0 -109
  674. package/dist/document_loaders/fs/directory.js.map +0 -1
  675. package/dist/document_loaders/fs/json.cjs +0 -128
  676. package/dist/document_loaders/fs/json.cjs.map +0 -1
  677. package/dist/document_loaders/fs/json.d.cts +0 -65
  678. package/dist/document_loaders/fs/json.d.cts.map +0 -1
  679. package/dist/document_loaders/fs/json.d.ts +0 -65
  680. package/dist/document_loaders/fs/json.d.ts.map +0 -1
  681. package/dist/document_loaders/fs/json.js +0 -121
  682. package/dist/document_loaders/fs/json.js.map +0 -1
  683. package/dist/document_loaders/fs/multi_file.cjs +0 -82
  684. package/dist/document_loaders/fs/multi_file.cjs.map +0 -1
  685. package/dist/document_loaders/fs/multi_file.d.cts +0 -43
  686. package/dist/document_loaders/fs/multi_file.d.cts.map +0 -1
  687. package/dist/document_loaders/fs/multi_file.d.ts +0 -43
  688. package/dist/document_loaders/fs/multi_file.d.ts.map +0 -1
  689. package/dist/document_loaders/fs/multi_file.js +0 -76
  690. package/dist/document_loaders/fs/multi_file.js.map +0 -1
  691. package/dist/document_loaders/fs/text.cjs +0 -101
  692. package/dist/document_loaders/fs/text.cjs.map +0 -1
  693. package/dist/document_loaders/fs/text.d.cts +0 -57
  694. package/dist/document_loaders/fs/text.d.cts.map +0 -1
  695. package/dist/document_loaders/fs/text.d.ts +0 -57
  696. package/dist/document_loaders/fs/text.d.ts.map +0 -1
  697. package/dist/document_loaders/fs/text.js +0 -95
  698. package/dist/document_loaders/fs/text.js.map +0 -1
  699. package/dist/evaluation/agents/index.cjs +0 -1
  700. package/dist/evaluation/agents/index.js +0 -1
  701. package/dist/evaluation/agents/prompt.cjs +0 -132
  702. package/dist/evaluation/agents/prompt.cjs.map +0 -1
  703. package/dist/evaluation/agents/prompt.js +0 -130
  704. package/dist/evaluation/agents/prompt.js.map +0 -1
  705. package/dist/evaluation/agents/trajectory.cjs +0 -132
  706. package/dist/evaluation/agents/trajectory.cjs.map +0 -1
  707. package/dist/evaluation/agents/trajectory.d.cts +0 -61
  708. package/dist/evaluation/agents/trajectory.d.cts.map +0 -1
  709. package/dist/evaluation/agents/trajectory.d.ts +0 -61
  710. package/dist/evaluation/agents/trajectory.d.ts.map +0 -1
  711. package/dist/evaluation/agents/trajectory.js +0 -130
  712. package/dist/evaluation/agents/trajectory.js.map +0 -1
  713. package/dist/evaluation/base.cjs +0 -169
  714. package/dist/evaluation/base.cjs.map +0 -1
  715. package/dist/evaluation/base.d.cts +0 -240
  716. package/dist/evaluation/base.d.cts.map +0 -1
  717. package/dist/evaluation/base.d.ts +0 -240
  718. package/dist/evaluation/base.d.ts.map +0 -1
  719. package/dist/evaluation/base.js +0 -164
  720. package/dist/evaluation/base.js.map +0 -1
  721. package/dist/evaluation/comparison/index.cjs +0 -1
  722. package/dist/evaluation/comparison/index.js +0 -1
  723. package/dist/evaluation/comparison/pairwise.cjs +0 -178
  724. package/dist/evaluation/comparison/pairwise.cjs.map +0 -1
  725. package/dist/evaluation/comparison/pairwise.d.cts +0 -56
  726. package/dist/evaluation/comparison/pairwise.d.cts.map +0 -1
  727. package/dist/evaluation/comparison/pairwise.d.ts +0 -56
  728. package/dist/evaluation/comparison/pairwise.d.ts.map +0 -1
  729. package/dist/evaluation/comparison/pairwise.js +0 -175
  730. package/dist/evaluation/comparison/pairwise.js.map +0 -1
  731. package/dist/evaluation/comparison/prompt.cjs +0 -77
  732. package/dist/evaluation/comparison/prompt.cjs.map +0 -1
  733. package/dist/evaluation/comparison/prompt.js +0 -75
  734. package/dist/evaluation/comparison/prompt.js.map +0 -1
  735. package/dist/evaluation/criteria/criteria.cjs +0 -164
  736. package/dist/evaluation/criteria/criteria.cjs.map +0 -1
  737. package/dist/evaluation/criteria/criteria.d.cts +0 -85
  738. package/dist/evaluation/criteria/criteria.d.cts.map +0 -1
  739. package/dist/evaluation/criteria/criteria.d.ts +0 -85
  740. package/dist/evaluation/criteria/criteria.d.ts.map +0 -1
  741. package/dist/evaluation/criteria/criteria.js +0 -161
  742. package/dist/evaluation/criteria/criteria.js.map +0 -1
  743. package/dist/evaluation/criteria/index.cjs +0 -1
  744. package/dist/evaluation/criteria/index.js +0 -1
  745. package/dist/evaluation/criteria/prompt.cjs +0 -50
  746. package/dist/evaluation/criteria/prompt.cjs.map +0 -1
  747. package/dist/evaluation/criteria/prompt.js +0 -48
  748. package/dist/evaluation/criteria/prompt.js.map +0 -1
  749. package/dist/evaluation/embedding_distance/base.cjs +0 -108
  750. package/dist/evaluation/embedding_distance/base.cjs.map +0 -1
  751. package/dist/evaluation/embedding_distance/base.d.cts +0 -82
  752. package/dist/evaluation/embedding_distance/base.d.cts.map +0 -1
  753. package/dist/evaluation/embedding_distance/base.d.ts +0 -82
  754. package/dist/evaluation/embedding_distance/base.d.ts.map +0 -1
  755. package/dist/evaluation/embedding_distance/base.js +0 -105
  756. package/dist/evaluation/embedding_distance/base.js.map +0 -1
  757. package/dist/evaluation/embedding_distance/index.cjs +0 -1
  758. package/dist/evaluation/embedding_distance/index.js +0 -1
  759. package/dist/evaluation/index.cjs +0 -54
  760. package/dist/evaluation/index.cjs.map +0 -1
  761. package/dist/evaluation/index.d.cts +0 -8
  762. package/dist/evaluation/index.d.ts +0 -8
  763. package/dist/evaluation/index.js +0 -35
  764. package/dist/evaluation/index.js.map +0 -1
  765. package/dist/evaluation/loader.cjs +0 -57
  766. package/dist/evaluation/loader.cjs.map +0 -1
  767. package/dist/evaluation/loader.d.cts +0 -38
  768. package/dist/evaluation/loader.d.cts.map +0 -1
  769. package/dist/evaluation/loader.d.ts +0 -38
  770. package/dist/evaluation/loader.d.ts.map +0 -1
  771. package/dist/evaluation/loader.js +0 -56
  772. package/dist/evaluation/loader.js.map +0 -1
  773. package/dist/evaluation/qa/eval_chain.cjs +0 -41
  774. package/dist/evaluation/qa/eval_chain.cjs.map +0 -1
  775. package/dist/evaluation/qa/eval_chain.d.cts +0 -22
  776. package/dist/evaluation/qa/eval_chain.d.cts.map +0 -1
  777. package/dist/evaluation/qa/eval_chain.d.ts +0 -22
  778. package/dist/evaluation/qa/eval_chain.d.ts.map +0 -1
  779. package/dist/evaluation/qa/eval_chain.js +0 -41
  780. package/dist/evaluation/qa/eval_chain.js.map +0 -1
  781. package/dist/evaluation/qa/index.cjs +0 -1
  782. package/dist/evaluation/qa/index.js +0 -1
  783. package/dist/evaluation/qa/prompt.cjs +0 -31
  784. package/dist/evaluation/qa/prompt.cjs.map +0 -1
  785. package/dist/evaluation/qa/prompt.js +0 -30
  786. package/dist/evaluation/qa/prompt.js.map +0 -1
  787. package/dist/evaluation/types.d.cts +0 -40
  788. package/dist/evaluation/types.d.cts.map +0 -1
  789. package/dist/evaluation/types.d.ts +0 -40
  790. package/dist/evaluation/types.d.ts.map +0 -1
  791. package/dist/langchain-core/dist/load/map_keys.d.cts +0 -10
  792. package/dist/langchain-core/dist/load/map_keys.d.cts.map +0 -1
  793. package/dist/langchain-core/dist/load/serializable.d.cts +0 -82
  794. package/dist/langchain-core/dist/load/serializable.d.cts.map +0 -1
  795. package/dist/langchain-core/dist/messages/base.d.cts +0 -125
  796. package/dist/langchain-core/dist/messages/base.d.cts.map +0 -1
  797. package/dist/langchain-core/dist/messages/content/base.d.cts +0 -22
  798. package/dist/langchain-core/dist/messages/content/base.d.cts.map +0 -1
  799. package/dist/langchain-core/dist/messages/content/data.d.cts +0 -96
  800. package/dist/langchain-core/dist/messages/content/data.d.cts.map +0 -1
  801. package/dist/langchain-core/dist/messages/content/index.d.cts +0 -102
  802. package/dist/langchain-core/dist/messages/content/index.d.cts.map +0 -1
  803. package/dist/langchain-core/dist/messages/content/multimodal.d.cts +0 -110
  804. package/dist/langchain-core/dist/messages/content/multimodal.d.cts.map +0 -1
  805. package/dist/langchain-core/dist/messages/content/tools.d.cts +0 -153
  806. package/dist/langchain-core/dist/messages/content/tools.d.cts.map +0 -1
  807. package/dist/langchain-core/dist/messages/message.d.cts +0 -598
  808. package/dist/langchain-core/dist/messages/message.d.cts.map +0 -1
  809. package/dist/langchain-core/dist/messages/metadata.d.cts +0 -97
  810. package/dist/langchain-core/dist/messages/metadata.d.cts.map +0 -1
  811. package/dist/langchain-core/dist/messages/utils.d.cts +0 -75
  812. package/dist/langchain-core/dist/messages/utils.d.cts.map +0 -1
  813. package/dist/langchain-core/dist/prompt_values.d.cts +0 -13
  814. package/dist/langchain-core/dist/prompt_values.d.cts.map +0 -1
  815. package/dist/langchain-core/dist/utils/types/index.d.cts +0 -8
  816. package/dist/langchain-core/dist/utils/types/index.d.cts.map +0 -1
  817. package/dist/libs/langchain-core/dist/load/map_keys.d.ts +0 -10
  818. package/dist/libs/langchain-core/dist/load/map_keys.d.ts.map +0 -1
  819. package/dist/libs/langchain-core/dist/load/serializable.d.ts +0 -82
  820. package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +0 -1
  821. package/dist/libs/langchain-core/dist/messages/base.d.ts +0 -125
  822. package/dist/libs/langchain-core/dist/messages/base.d.ts.map +0 -1
  823. package/dist/libs/langchain-core/dist/messages/content/base.d.ts +0 -22
  824. package/dist/libs/langchain-core/dist/messages/content/base.d.ts.map +0 -1
  825. package/dist/libs/langchain-core/dist/messages/content/data.d.ts +0 -96
  826. package/dist/libs/langchain-core/dist/messages/content/data.d.ts.map +0 -1
  827. package/dist/libs/langchain-core/dist/messages/content/index.d.ts +0 -102
  828. package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +0 -1
  829. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts +0 -110
  830. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts.map +0 -1
  831. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts +0 -153
  832. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts.map +0 -1
  833. package/dist/libs/langchain-core/dist/messages/message.d.ts +0 -598
  834. package/dist/libs/langchain-core/dist/messages/message.d.ts.map +0 -1
  835. package/dist/libs/langchain-core/dist/messages/metadata.d.ts +0 -97
  836. package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +0 -1
  837. package/dist/libs/langchain-core/dist/messages/utils.d.ts +0 -75
  838. package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +0 -1
  839. package/dist/libs/langchain-core/dist/prompt_values.d.ts +0 -13
  840. package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +0 -1
  841. package/dist/libs/langchain-core/dist/utils/types/index.d.ts +0 -10
  842. package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +0 -1
  843. package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +0 -1
  844. package/dist/load/map_keys.d.cts +0 -8
  845. package/dist/load/map_keys.d.cts.map +0 -1
  846. package/dist/load/map_keys.d.ts +0 -8
  847. package/dist/load/map_keys.d.ts.map +0 -1
  848. package/dist/load/serializable.d.cts.map +0 -1
  849. package/dist/load/serializable.d.ts.map +0 -1
  850. package/dist/memory/buffer_memory.cjs +0 -80
  851. package/dist/memory/buffer_memory.cjs.map +0 -1
  852. package/dist/memory/buffer_memory.d.cts +0 -67
  853. package/dist/memory/buffer_memory.d.cts.map +0 -1
  854. package/dist/memory/buffer_memory.d.ts +0 -67
  855. package/dist/memory/buffer_memory.d.ts.map +0 -1
  856. package/dist/memory/buffer_memory.js +0 -79
  857. package/dist/memory/buffer_memory.js.map +0 -1
  858. package/dist/memory/buffer_token_memory.cjs +0 -80
  859. package/dist/memory/buffer_token_memory.cjs.map +0 -1
  860. package/dist/memory/buffer_token_memory.d.cts +0 -67
  861. package/dist/memory/buffer_token_memory.d.cts.map +0 -1
  862. package/dist/memory/buffer_token_memory.d.ts +0 -67
  863. package/dist/memory/buffer_token_memory.d.ts.map +0 -1
  864. package/dist/memory/buffer_token_memory.js +0 -79
  865. package/dist/memory/buffer_token_memory.js.map +0 -1
  866. package/dist/memory/buffer_window_memory.cjs +0 -77
  867. package/dist/memory/buffer_window_memory.cjs.map +0 -1
  868. package/dist/memory/buffer_window_memory.d.cts +0 -64
  869. package/dist/memory/buffer_window_memory.d.cts.map +0 -1
  870. package/dist/memory/buffer_window_memory.d.ts +0 -64
  871. package/dist/memory/buffer_window_memory.d.ts.map +0 -1
  872. package/dist/memory/buffer_window_memory.js +0 -76
  873. package/dist/memory/buffer_window_memory.js.map +0 -1
  874. package/dist/memory/chat_memory.cjs +0 -53
  875. package/dist/memory/chat_memory.cjs.map +0 -1
  876. package/dist/memory/chat_memory.d.cts +0 -42
  877. package/dist/memory/chat_memory.d.cts.map +0 -1
  878. package/dist/memory/chat_memory.d.ts +0 -42
  879. package/dist/memory/chat_memory.d.ts.map +0 -1
  880. package/dist/memory/chat_memory.js +0 -47
  881. package/dist/memory/chat_memory.js.map +0 -1
  882. package/dist/memory/combined_memory.cjs +0 -88
  883. package/dist/memory/combined_memory.cjs.map +0 -1
  884. package/dist/memory/combined_memory.d.cts +0 -60
  885. package/dist/memory/combined_memory.d.cts.map +0 -1
  886. package/dist/memory/combined_memory.d.ts +0 -60
  887. package/dist/memory/combined_memory.d.ts.map +0 -1
  888. package/dist/memory/combined_memory.js +0 -88
  889. package/dist/memory/combined_memory.js.map +0 -1
  890. package/dist/memory/entity_memory.cjs +0 -144
  891. package/dist/memory/entity_memory.cjs.map +0 -1
  892. package/dist/memory/entity_memory.d.cts +0 -99
  893. package/dist/memory/entity_memory.d.cts.map +0 -1
  894. package/dist/memory/entity_memory.d.ts +0 -99
  895. package/dist/memory/entity_memory.d.ts.map +0 -1
  896. package/dist/memory/entity_memory.js +0 -143
  897. package/dist/memory/entity_memory.js.map +0 -1
  898. package/dist/memory/index.cjs +0 -85
  899. package/dist/memory/index.cjs.map +0 -1
  900. package/dist/memory/index.d.cts +0 -14
  901. package/dist/memory/index.d.ts +0 -14
  902. package/dist/memory/index.js +0 -39
  903. package/dist/memory/index.js.map +0 -1
  904. package/dist/memory/prompt.cjs +0 -124
  905. package/dist/memory/prompt.cjs.map +0 -1
  906. package/dist/memory/prompt.d.cts +0 -12
  907. package/dist/memory/prompt.d.cts.map +0 -1
  908. package/dist/memory/prompt.d.ts +0 -12
  909. package/dist/memory/prompt.d.ts.map +0 -1
  910. package/dist/memory/prompt.js +0 -120
  911. package/dist/memory/prompt.js.map +0 -1
  912. package/dist/memory/stores/entity/base.cjs +0 -13
  913. package/dist/memory/stores/entity/base.cjs.map +0 -1
  914. package/dist/memory/stores/entity/base.d.cts +0 -18
  915. package/dist/memory/stores/entity/base.d.cts.map +0 -1
  916. package/dist/memory/stores/entity/base.d.ts +0 -18
  917. package/dist/memory/stores/entity/base.d.ts.map +0 -1
  918. package/dist/memory/stores/entity/base.js +0 -12
  919. package/dist/memory/stores/entity/base.js.map +0 -1
  920. package/dist/memory/stores/entity/in_memory.cjs +0 -64
  921. package/dist/memory/stores/entity/in_memory.cjs.map +0 -1
  922. package/dist/memory/stores/entity/in_memory.js +0 -64
  923. package/dist/memory/stores/entity/in_memory.js.map +0 -1
  924. package/dist/memory/summary.cjs +0 -127
  925. package/dist/memory/summary.cjs.map +0 -1
  926. package/dist/memory/summary.d.cts +0 -101
  927. package/dist/memory/summary.d.cts.map +0 -1
  928. package/dist/memory/summary.d.ts +0 -101
  929. package/dist/memory/summary.d.ts.map +0 -1
  930. package/dist/memory/summary.js +0 -125
  931. package/dist/memory/summary.js.map +0 -1
  932. package/dist/memory/summary_buffer.cjs +0 -117
  933. package/dist/memory/summary_buffer.cjs.map +0 -1
  934. package/dist/memory/summary_buffer.d.cts +0 -90
  935. package/dist/memory/summary_buffer.d.cts.map +0 -1
  936. package/dist/memory/summary_buffer.d.ts +0 -90
  937. package/dist/memory/summary_buffer.d.ts.map +0 -1
  938. package/dist/memory/summary_buffer.js +0 -116
  939. package/dist/memory/summary_buffer.js.map +0 -1
  940. package/dist/memory/vector_store.cjs +0 -87
  941. package/dist/memory/vector_store.cjs.map +0 -1
  942. package/dist/memory/vector_store.d.cts +0 -81
  943. package/dist/memory/vector_store.d.cts.map +0 -1
  944. package/dist/memory/vector_store.d.ts +0 -81
  945. package/dist/memory/vector_store.d.ts.map +0 -1
  946. package/dist/memory/vector_store.js +0 -86
  947. package/dist/memory/vector_store.js.map +0 -1
  948. package/dist/output_parsers/combining.cjs +0 -61
  949. package/dist/output_parsers/combining.cjs.map +0 -1
  950. package/dist/output_parsers/combining.d.cts +0 -46
  951. package/dist/output_parsers/combining.d.cts.map +0 -1
  952. package/dist/output_parsers/combining.d.ts +0 -46
  953. package/dist/output_parsers/combining.d.ts.map +0 -1
  954. package/dist/output_parsers/combining.js +0 -60
  955. package/dist/output_parsers/combining.js.map +0 -1
  956. package/dist/output_parsers/datetime.cjs +0 -46
  957. package/dist/output_parsers/datetime.cjs.map +0 -1
  958. package/dist/output_parsers/datetime.d.cts +0 -33
  959. package/dist/output_parsers/datetime.d.cts.map +0 -1
  960. package/dist/output_parsers/datetime.d.ts +0 -33
  961. package/dist/output_parsers/datetime.d.ts.map +0 -1
  962. package/dist/output_parsers/datetime.js +0 -45
  963. package/dist/output_parsers/datetime.js.map +0 -1
  964. package/dist/output_parsers/expression.cjs +0 -86
  965. package/dist/output_parsers/expression.cjs.map +0 -1
  966. package/dist/output_parsers/expression.d.cts +0 -53
  967. package/dist/output_parsers/expression.d.cts.map +0 -1
  968. package/dist/output_parsers/expression.d.ts +0 -53
  969. package/dist/output_parsers/expression.d.ts.map +0 -1
  970. package/dist/output_parsers/expression.js +0 -79
  971. package/dist/output_parsers/expression.js.map +0 -1
  972. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +0 -38
  973. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +0 -1
  974. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +0 -38
  975. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +0 -1
  976. package/dist/output_parsers/expression_type_handlers/base.cjs +0 -130
  977. package/dist/output_parsers/expression_type_handlers/base.cjs.map +0 -1
  978. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -108
  979. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +0 -1
  980. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -108
  981. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +0 -1
  982. package/dist/output_parsers/expression_type_handlers/base.js +0 -129
  983. package/dist/output_parsers/expression_type_handlers/base.js.map +0 -1
  984. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +0 -38
  985. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +0 -1
  986. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +0 -38
  987. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +0 -1
  988. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +0 -64
  989. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +0 -1
  990. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +0 -64
  991. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +0 -1
  992. package/dist/output_parsers/expression_type_handlers/factory.cjs +0 -68
  993. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +0 -1
  994. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -35
  995. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +0 -1
  996. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -35
  997. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +0 -1
  998. package/dist/output_parsers/expression_type_handlers/factory.js +0 -68
  999. package/dist/output_parsers/expression_type_handlers/factory.js.map +0 -1
  1000. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +0 -299
  1001. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +0 -1
  1002. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js +0 -298
  1003. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +0 -1
  1004. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +0 -40
  1005. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +0 -1
  1006. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +0 -40
  1007. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +0 -1
  1008. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +0 -48
  1009. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +0 -1
  1010. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +0 -48
  1011. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +0 -1
  1012. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +0 -36
  1013. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +0 -1
  1014. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +0 -36
  1015. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +0 -1
  1016. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +0 -40
  1017. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +0 -1
  1018. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +0 -40
  1019. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +0 -1
  1020. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +0 -45
  1021. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +0 -1
  1022. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +0 -45
  1023. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +0 -1
  1024. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +0 -37
  1025. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +0 -1
  1026. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +0 -37
  1027. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +0 -1
  1028. package/dist/output_parsers/expression_type_handlers/types.d.cts +0 -95
  1029. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +0 -1
  1030. package/dist/output_parsers/expression_type_handlers/types.d.ts +0 -95
  1031. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +0 -1
  1032. package/dist/output_parsers/fix.cjs +0 -92
  1033. package/dist/output_parsers/fix.cjs.map +0 -1
  1034. package/dist/output_parsers/fix.d.cts +0 -60
  1035. package/dist/output_parsers/fix.d.cts.map +0 -1
  1036. package/dist/output_parsers/fix.d.ts +0 -60
  1037. package/dist/output_parsers/fix.d.ts.map +0 -1
  1038. package/dist/output_parsers/fix.js +0 -91
  1039. package/dist/output_parsers/fix.js.map +0 -1
  1040. package/dist/output_parsers/http_response.cjs +0 -53
  1041. package/dist/output_parsers/http_response.cjs.map +0 -1
  1042. package/dist/output_parsers/http_response.d.cts +0 -33
  1043. package/dist/output_parsers/http_response.d.cts.map +0 -1
  1044. package/dist/output_parsers/http_response.d.ts +0 -33
  1045. package/dist/output_parsers/http_response.d.ts.map +0 -1
  1046. package/dist/output_parsers/http_response.js +0 -52
  1047. package/dist/output_parsers/http_response.js.map +0 -1
  1048. package/dist/output_parsers/index.cjs +0 -74
  1049. package/dist/output_parsers/index.cjs.map +0 -1
  1050. package/dist/output_parsers/index.d.cts +0 -11
  1051. package/dist/output_parsers/index.d.ts +0 -11
  1052. package/dist/output_parsers/index.js +0 -37
  1053. package/dist/output_parsers/index.js.map +0 -1
  1054. package/dist/output_parsers/noop.cjs +0 -43
  1055. package/dist/output_parsers/noop.cjs.map +0 -1
  1056. package/dist/output_parsers/noop.js +0 -42
  1057. package/dist/output_parsers/noop.js.map +0 -1
  1058. package/dist/output_parsers/openai_functions.cjs +0 -145
  1059. package/dist/output_parsers/openai_functions.cjs.map +0 -1
  1060. package/dist/output_parsers/openai_functions.d.cts +0 -85
  1061. package/dist/output_parsers/openai_functions.d.cts.map +0 -1
  1062. package/dist/output_parsers/openai_functions.d.ts +0 -85
  1063. package/dist/output_parsers/openai_functions.d.ts.map +0 -1
  1064. package/dist/output_parsers/openai_functions.js +0 -142
  1065. package/dist/output_parsers/openai_functions.js.map +0 -1
  1066. package/dist/output_parsers/openai_tools.cjs +0 -89
  1067. package/dist/output_parsers/openai_tools.cjs.map +0 -1
  1068. package/dist/output_parsers/openai_tools.d.cts +0 -69
  1069. package/dist/output_parsers/openai_tools.d.cts.map +0 -1
  1070. package/dist/output_parsers/openai_tools.d.ts +0 -69
  1071. package/dist/output_parsers/openai_tools.d.ts.map +0 -1
  1072. package/dist/output_parsers/openai_tools.js +0 -87
  1073. package/dist/output_parsers/openai_tools.js.map +0 -1
  1074. package/dist/output_parsers/prompts.cjs +0 -25
  1075. package/dist/output_parsers/prompts.cjs.map +0 -1
  1076. package/dist/output_parsers/prompts.js +0 -24
  1077. package/dist/output_parsers/prompts.js.map +0 -1
  1078. package/dist/output_parsers/regex.cjs +0 -74
  1079. package/dist/output_parsers/regex.cjs.map +0 -1
  1080. package/dist/output_parsers/regex.d.cts +0 -49
  1081. package/dist/output_parsers/regex.d.cts.map +0 -1
  1082. package/dist/output_parsers/regex.d.ts +0 -49
  1083. package/dist/output_parsers/regex.d.ts.map +0 -1
  1084. package/dist/output_parsers/regex.js +0 -73
  1085. package/dist/output_parsers/regex.js.map +0 -1
  1086. package/dist/output_parsers/router.cjs +0 -40
  1087. package/dist/output_parsers/router.cjs.map +0 -1
  1088. package/dist/output_parsers/router.d.cts +0 -36
  1089. package/dist/output_parsers/router.d.cts.map +0 -1
  1090. package/dist/output_parsers/router.d.ts +0 -36
  1091. package/dist/output_parsers/router.d.ts.map +0 -1
  1092. package/dist/output_parsers/router.js +0 -39
  1093. package/dist/output_parsers/router.js.map +0 -1
  1094. package/dist/output_parsers/structured.cjs +0 -164
  1095. package/dist/output_parsers/structured.cjs.map +0 -1
  1096. package/dist/output_parsers/structured.d.cts +0 -97
  1097. package/dist/output_parsers/structured.d.cts.map +0 -1
  1098. package/dist/output_parsers/structured.d.ts +0 -97
  1099. package/dist/output_parsers/structured.d.ts.map +0 -1
  1100. package/dist/output_parsers/structured.js +0 -161
  1101. package/dist/output_parsers/structured.js.map +0 -1
  1102. package/dist/retrievers/contextual_compression.cjs +0 -53
  1103. package/dist/retrievers/contextual_compression.cjs.map +0 -1
  1104. package/dist/retrievers/contextual_compression.d.cts +0 -42
  1105. package/dist/retrievers/contextual_compression.d.cts.map +0 -1
  1106. package/dist/retrievers/contextual_compression.d.ts +0 -42
  1107. package/dist/retrievers/contextual_compression.d.ts.map +0 -1
  1108. package/dist/retrievers/contextual_compression.js +0 -47
  1109. package/dist/retrievers/contextual_compression.js.map +0 -1
  1110. package/dist/retrievers/document_compressors/chain_extract.cjs +0 -103
  1111. package/dist/retrievers/document_compressors/chain_extract.cjs.map +0 -1
  1112. package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -47
  1113. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +0 -1
  1114. package/dist/retrievers/document_compressors/chain_extract.d.ts +0 -47
  1115. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +0 -1
  1116. package/dist/retrievers/document_compressors/chain_extract.js +0 -97
  1117. package/dist/retrievers/document_compressors/chain_extract.js.map +0 -1
  1118. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +0 -16
  1119. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +0 -1
  1120. package/dist/retrievers/document_compressors/chain_extract_prompt.js +0 -15
  1121. package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +0 -1
  1122. package/dist/retrievers/document_compressors/embeddings_filter.cjs +0 -74
  1123. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +0 -1
  1124. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -58
  1125. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +0 -1
  1126. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -58
  1127. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +0 -1
  1128. package/dist/retrievers/document_compressors/embeddings_filter.js +0 -68
  1129. package/dist/retrievers/document_compressors/embeddings_filter.js.map +0 -1
  1130. package/dist/retrievers/document_compressors/index.cjs +0 -69
  1131. package/dist/retrievers/document_compressors/index.cjs.map +0 -1
  1132. package/dist/retrievers/document_compressors/index.d.cts +0 -61
  1133. package/dist/retrievers/document_compressors/index.d.cts.map +0 -1
  1134. package/dist/retrievers/document_compressors/index.d.ts +0 -61
  1135. package/dist/retrievers/document_compressors/index.d.ts.map +0 -1
  1136. package/dist/retrievers/document_compressors/index.js +0 -62
  1137. package/dist/retrievers/document_compressors/index.js.map +0 -1
  1138. package/dist/retrievers/ensemble.cjs +0 -76
  1139. package/dist/retrievers/ensemble.cjs.map +0 -1
  1140. package/dist/retrievers/ensemble.d.cts +0 -39
  1141. package/dist/retrievers/ensemble.d.cts.map +0 -1
  1142. package/dist/retrievers/ensemble.d.ts +0 -39
  1143. package/dist/retrievers/ensemble.d.ts.map +0 -1
  1144. package/dist/retrievers/ensemble.js +0 -70
  1145. package/dist/retrievers/ensemble.js.map +0 -1
  1146. package/dist/retrievers/hyde.cjs +0 -128
  1147. package/dist/retrievers/hyde.cjs.map +0 -1
  1148. package/dist/retrievers/hyde.d.cts +0 -61
  1149. package/dist/retrievers/hyde.d.cts.map +0 -1
  1150. package/dist/retrievers/hyde.d.ts +0 -61
  1151. package/dist/retrievers/hyde.d.ts.map +0 -1
  1152. package/dist/retrievers/hyde.js +0 -121
  1153. package/dist/retrievers/hyde.js.map +0 -1
  1154. package/dist/retrievers/matryoshka_retriever.cjs +0 -116
  1155. package/dist/retrievers/matryoshka_retriever.cjs.map +0 -1
  1156. package/dist/retrievers/matryoshka_retriever.d.cts +0 -99
  1157. package/dist/retrievers/matryoshka_retriever.d.cts.map +0 -1
  1158. package/dist/retrievers/matryoshka_retriever.d.ts +0 -99
  1159. package/dist/retrievers/matryoshka_retriever.d.ts.map +0 -1
  1160. package/dist/retrievers/matryoshka_retriever.js +0 -110
  1161. package/dist/retrievers/matryoshka_retriever.js.map +0 -1
  1162. package/dist/retrievers/multi_query.cjs +0 -150
  1163. package/dist/retrievers/multi_query.cjs.map +0 -1
  1164. package/dist/retrievers/multi_query.d.cts +0 -59
  1165. package/dist/retrievers/multi_query.d.cts.map +0 -1
  1166. package/dist/retrievers/multi_query.d.ts +0 -59
  1167. package/dist/retrievers/multi_query.d.ts.map +0 -1
  1168. package/dist/retrievers/multi_query.js +0 -144
  1169. package/dist/retrievers/multi_query.js.map +0 -1
  1170. package/dist/retrievers/multi_vector.cjs +0 -67
  1171. package/dist/retrievers/multi_vector.cjs.map +0 -1
  1172. package/dist/retrievers/multi_vector.d.cts +0 -51
  1173. package/dist/retrievers/multi_vector.d.cts.map +0 -1
  1174. package/dist/retrievers/multi_vector.d.ts +0 -51
  1175. package/dist/retrievers/multi_vector.d.ts.map +0 -1
  1176. package/dist/retrievers/multi_vector.js +0 -61
  1177. package/dist/retrievers/multi_vector.js.map +0 -1
  1178. package/dist/retrievers/parent_document.cjs +0 -137
  1179. package/dist/retrievers/parent_document.cjs.map +0 -1
  1180. package/dist/retrievers/parent_document.d.cts +0 -92
  1181. package/dist/retrievers/parent_document.d.cts.map +0 -1
  1182. package/dist/retrievers/parent_document.d.ts +0 -92
  1183. package/dist/retrievers/parent_document.d.ts.map +0 -1
  1184. package/dist/retrievers/parent_document.js +0 -131
  1185. package/dist/retrievers/parent_document.js.map +0 -1
  1186. package/dist/retrievers/score_threshold.cjs +0 -43
  1187. package/dist/retrievers/score_threshold.cjs.map +0 -1
  1188. package/dist/retrievers/score_threshold.d.cts +0 -20
  1189. package/dist/retrievers/score_threshold.d.cts.map +0 -1
  1190. package/dist/retrievers/score_threshold.d.ts +0 -20
  1191. package/dist/retrievers/score_threshold.d.ts.map +0 -1
  1192. package/dist/retrievers/score_threshold.js +0 -37
  1193. package/dist/retrievers/score_threshold.js.map +0 -1
  1194. package/dist/retrievers/self_query/functional.cjs +0 -21
  1195. package/dist/retrievers/self_query/functional.cjs.map +0 -1
  1196. package/dist/retrievers/self_query/functional.d.cts +0 -2
  1197. package/dist/retrievers/self_query/functional.d.ts +0 -2
  1198. package/dist/retrievers/self_query/functional.js +0 -10
  1199. package/dist/retrievers/self_query/functional.js.map +0 -1
  1200. package/dist/retrievers/self_query/index.cjs +0 -130
  1201. package/dist/retrievers/self_query/index.cjs.map +0 -1
  1202. package/dist/retrievers/self_query/index.d.cts +0 -79
  1203. package/dist/retrievers/self_query/index.d.cts.map +0 -1
  1204. package/dist/retrievers/self_query/index.d.ts +0 -79
  1205. package/dist/retrievers/self_query/index.d.ts.map +0 -1
  1206. package/dist/retrievers/self_query/index.js +0 -106
  1207. package/dist/retrievers/self_query/index.js.map +0 -1
  1208. package/dist/retrievers/time_weighted.cjs +0 -236
  1209. package/dist/retrievers/time_weighted.cjs.map +0 -1
  1210. package/dist/retrievers/time_weighted.d.cts +0 -142
  1211. package/dist/retrievers/time_weighted.d.cts.map +0 -1
  1212. package/dist/retrievers/time_weighted.d.ts +0 -142
  1213. package/dist/retrievers/time_weighted.d.ts.map +0 -1
  1214. package/dist/retrievers/time_weighted.js +0 -228
  1215. package/dist/retrievers/time_weighted.js.map +0 -1
  1216. package/dist/sql_db.cjs +0 -119
  1217. package/dist/sql_db.cjs.map +0 -1
  1218. package/dist/sql_db.d.cts +0 -60
  1219. package/dist/sql_db.d.cts.map +0 -1
  1220. package/dist/sql_db.d.ts +0 -60
  1221. package/dist/sql_db.d.ts.map +0 -1
  1222. package/dist/sql_db.js +0 -113
  1223. package/dist/sql_db.js.map +0 -1
  1224. package/dist/stores/doc/base.cjs +0 -20
  1225. package/dist/stores/doc/base.cjs.map +0 -1
  1226. package/dist/stores/doc/base.d.cts +0 -15
  1227. package/dist/stores/doc/base.d.cts.map +0 -1
  1228. package/dist/stores/doc/base.d.ts +0 -15
  1229. package/dist/stores/doc/base.d.ts.map +0 -1
  1230. package/dist/stores/doc/base.js +0 -14
  1231. package/dist/stores/doc/base.js.map +0 -1
  1232. package/dist/stores/doc/in_memory.cjs +0 -94
  1233. package/dist/stores/doc/in_memory.cjs.map +0 -1
  1234. package/dist/stores/doc/in_memory.d.cts +0 -53
  1235. package/dist/stores/doc/in_memory.d.cts.map +0 -1
  1236. package/dist/stores/doc/in_memory.d.ts +0 -53
  1237. package/dist/stores/doc/in_memory.d.ts.map +0 -1
  1238. package/dist/stores/doc/in_memory.js +0 -87
  1239. package/dist/stores/doc/in_memory.js.map +0 -1
  1240. package/dist/stores/file/base.cjs +0 -13
  1241. package/dist/stores/file/base.cjs.map +0 -1
  1242. package/dist/stores/file/base.d.cts +0 -15
  1243. package/dist/stores/file/base.d.cts.map +0 -1
  1244. package/dist/stores/file/base.d.ts +0 -15
  1245. package/dist/stores/file/base.d.ts.map +0 -1
  1246. package/dist/stores/file/base.js +0 -12
  1247. package/dist/stores/file/base.js.map +0 -1
  1248. package/dist/stores/file/in_memory.cjs +0 -53
  1249. package/dist/stores/file/in_memory.cjs.map +0 -1
  1250. package/dist/stores/file/in_memory.d.cts +0 -33
  1251. package/dist/stores/file/in_memory.d.cts.map +0 -1
  1252. package/dist/stores/file/in_memory.d.ts +0 -33
  1253. package/dist/stores/file/in_memory.d.ts.map +0 -1
  1254. package/dist/stores/file/in_memory.js +0 -47
  1255. package/dist/stores/file/in_memory.js.map +0 -1
  1256. package/dist/stores/file/node.cjs +0 -52
  1257. package/dist/stores/file/node.cjs.map +0 -1
  1258. package/dist/stores/file/node.d.cts +0 -29
  1259. package/dist/stores/file/node.d.cts.map +0 -1
  1260. package/dist/stores/file/node.d.ts +0 -29
  1261. package/dist/stores/file/node.d.ts.map +0 -1
  1262. package/dist/stores/file/node.js +0 -46
  1263. package/dist/stores/file/node.js.map +0 -1
  1264. package/dist/stores/message/in_memory.cjs +0 -21
  1265. package/dist/stores/message/in_memory.cjs.map +0 -1
  1266. package/dist/stores/message/in_memory.d.cts +0 -2
  1267. package/dist/stores/message/in_memory.d.ts +0 -2
  1268. package/dist/stores/message/in_memory.js +0 -10
  1269. package/dist/stores/message/in_memory.js.map +0 -1
  1270. package/dist/text_splitter.cjs +0 -22
  1271. package/dist/text_splitter.cjs.map +0 -1
  1272. package/dist/text_splitter.d.cts +0 -1
  1273. package/dist/text_splitter.d.ts +0 -1
  1274. package/dist/text_splitter.js +0 -12
  1275. package/dist/text_splitter.js.map +0 -1
  1276. package/dist/tools/chain.cjs +0 -36
  1277. package/dist/tools/chain.cjs.map +0 -1
  1278. package/dist/tools/chain.d.cts +0 -32
  1279. package/dist/tools/chain.d.cts.map +0 -1
  1280. package/dist/tools/chain.d.ts +0 -32
  1281. package/dist/tools/chain.d.ts.map +0 -1
  1282. package/dist/tools/chain.js +0 -30
  1283. package/dist/tools/chain.js.map +0 -1
  1284. package/dist/tools/fs.cjs +0 -56
  1285. package/dist/tools/fs.cjs.map +0 -1
  1286. package/dist/tools/fs.d.cts +0 -92
  1287. package/dist/tools/fs.d.cts.map +0 -1
  1288. package/dist/tools/fs.d.ts +0 -92
  1289. package/dist/tools/fs.d.ts.map +0 -1
  1290. package/dist/tools/fs.js +0 -54
  1291. package/dist/tools/fs.js.map +0 -1
  1292. package/dist/tools/index.cjs +0 -68
  1293. package/dist/tools/index.cjs.map +0 -1
  1294. package/dist/tools/index.d.cts +0 -8
  1295. package/dist/tools/index.d.ts +0 -8
  1296. package/dist/tools/index.js +0 -30
  1297. package/dist/tools/index.js.map +0 -1
  1298. package/dist/tools/json.cjs +0 -107
  1299. package/dist/tools/json.cjs.map +0 -1
  1300. package/dist/tools/json.d.cts +0 -65
  1301. package/dist/tools/json.d.cts.map +0 -1
  1302. package/dist/tools/json.d.ts +0 -65
  1303. package/dist/tools/json.d.ts.map +0 -1
  1304. package/dist/tools/json.js +0 -104
  1305. package/dist/tools/json.js.map +0 -1
  1306. package/dist/tools/render.cjs +0 -55
  1307. package/dist/tools/render.cjs.map +0 -1
  1308. package/dist/tools/render.d.cts +0 -32
  1309. package/dist/tools/render.d.cts.map +0 -1
  1310. package/dist/tools/render.d.ts +0 -32
  1311. package/dist/tools/render.d.ts.map +0 -1
  1312. package/dist/tools/render.js +0 -48
  1313. package/dist/tools/render.js.map +0 -1
  1314. package/dist/tools/requests.cjs +0 -73
  1315. package/dist/tools/requests.cjs.map +0 -1
  1316. package/dist/tools/requests.d.cts +0 -56
  1317. package/dist/tools/requests.d.cts.map +0 -1
  1318. package/dist/tools/requests.d.ts +0 -56
  1319. package/dist/tools/requests.d.ts.map +0 -1
  1320. package/dist/tools/requests.js +0 -71
  1321. package/dist/tools/requests.js.map +0 -1
  1322. package/dist/tools/retriever.cjs +0 -30
  1323. package/dist/tools/retriever.cjs.map +0 -1
  1324. package/dist/tools/retriever.d.cts +0 -19
  1325. package/dist/tools/retriever.d.cts.map +0 -1
  1326. package/dist/tools/retriever.d.ts +0 -19
  1327. package/dist/tools/retriever.d.ts.map +0 -1
  1328. package/dist/tools/retriever.js +0 -24
  1329. package/dist/tools/retriever.js.map +0 -1
  1330. package/dist/tools/sql.cjs +0 -165
  1331. package/dist/tools/sql.cjs.map +0 -1
  1332. package/dist/tools/sql.d.cts +0 -86
  1333. package/dist/tools/sql.d.cts.map +0 -1
  1334. package/dist/tools/sql.d.ts +0 -86
  1335. package/dist/tools/sql.d.ts.map +0 -1
  1336. package/dist/tools/sql.js +0 -156
  1337. package/dist/tools/sql.js.map +0 -1
  1338. package/dist/tools/vectorstore.cjs +0 -45
  1339. package/dist/tools/vectorstore.cjs.map +0 -1
  1340. package/dist/tools/vectorstore.d.cts +0 -40
  1341. package/dist/tools/vectorstore.d.cts.map +0 -1
  1342. package/dist/tools/vectorstore.d.ts +0 -40
  1343. package/dist/tools/vectorstore.d.ts.map +0 -1
  1344. package/dist/tools/vectorstore.js +0 -44
  1345. package/dist/tools/vectorstore.js.map +0 -1
  1346. package/dist/tools/webbrowser.cjs +0 -176
  1347. package/dist/tools/webbrowser.cjs.map +0 -1
  1348. package/dist/tools/webbrowser.d.cts +0 -69
  1349. package/dist/tools/webbrowser.d.cts.map +0 -1
  1350. package/dist/tools/webbrowser.d.ts +0 -69
  1351. package/dist/tools/webbrowser.d.ts.map +0 -1
  1352. package/dist/tools/webbrowser.js +0 -168
  1353. package/dist/tools/webbrowser.js.map +0 -1
  1354. package/dist/types/expression-parser.d.cts +0 -91
  1355. package/dist/types/expression-parser.d.cts.map +0 -1
  1356. package/dist/types/expression-parser.d.ts +0 -91
  1357. package/dist/types/expression-parser.d.ts.map +0 -1
  1358. package/dist/types/type-utils.d.cts +0 -7
  1359. package/dist/types/type-utils.d.cts.map +0 -1
  1360. package/dist/types/type-utils.d.ts +0 -7
  1361. package/dist/types/type-utils.d.ts.map +0 -1
  1362. package/dist/util/document.cjs +0 -23
  1363. package/dist/util/document.cjs.map +0 -1
  1364. package/dist/util/document.d.cts +0 -15
  1365. package/dist/util/document.d.cts.map +0 -1
  1366. package/dist/util/document.d.ts +0 -15
  1367. package/dist/util/document.d.ts.map +0 -1
  1368. package/dist/util/document.js +0 -17
  1369. package/dist/util/document.js.map +0 -1
  1370. package/dist/util/entrypoint_deprecation.cjs +0 -1
  1371. package/dist/util/entrypoint_deprecation.js +0 -1
  1372. package/dist/util/env.cjs +0 -2
  1373. package/dist/util/env.js +0 -1
  1374. package/dist/util/extname.cjs +0 -7
  1375. package/dist/util/extname.cjs.map +0 -1
  1376. package/dist/util/extname.js +0 -6
  1377. package/dist/util/extname.js.map +0 -1
  1378. package/dist/util/hub.cjs +0 -39
  1379. package/dist/util/hub.cjs.map +0 -1
  1380. package/dist/util/hub.js +0 -38
  1381. package/dist/util/hub.js.map +0 -1
  1382. package/dist/util/load.cjs +0 -15
  1383. package/dist/util/load.cjs.map +0 -1
  1384. package/dist/util/load.d.cts +0 -6
  1385. package/dist/util/load.d.cts.map +0 -1
  1386. package/dist/util/load.d.ts +0 -6
  1387. package/dist/util/load.d.ts.map +0 -1
  1388. package/dist/util/load.js +0 -14
  1389. package/dist/util/load.js.map +0 -1
  1390. package/dist/util/math.cjs +0 -22
  1391. package/dist/util/math.cjs.map +0 -1
  1392. package/dist/util/math.d.cts +0 -1
  1393. package/dist/util/math.d.ts +0 -1
  1394. package/dist/util/math.js +0 -12
  1395. package/dist/util/math.js.map +0 -1
  1396. package/dist/util/ml-distance/distances.cjs +0 -35
  1397. package/dist/util/ml-distance/distances.cjs.map +0 -1
  1398. package/dist/util/ml-distance/distances.js +0 -33
  1399. package/dist/util/ml-distance/distances.js.map +0 -1
  1400. package/dist/util/ml-distance/similarities.cjs +0 -23
  1401. package/dist/util/ml-distance/similarities.cjs.map +0 -1
  1402. package/dist/util/ml-distance/similarities.d.cts +0 -11
  1403. package/dist/util/ml-distance/similarities.d.cts.map +0 -1
  1404. package/dist/util/ml-distance/similarities.d.ts +0 -11
  1405. package/dist/util/ml-distance/similarities.d.ts.map +0 -1
  1406. package/dist/util/ml-distance/similarities.js +0 -22
  1407. package/dist/util/ml-distance/similarities.js.map +0 -1
  1408. package/dist/util/ml-distance-euclidean/euclidean.cjs +0 -14
  1409. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +0 -1
  1410. package/dist/util/ml-distance-euclidean/euclidean.js +0 -13
  1411. package/dist/util/ml-distance-euclidean/euclidean.js.map +0 -1
  1412. package/dist/util/openapi.cjs +0 -149
  1413. package/dist/util/openapi.cjs.map +0 -1
  1414. package/dist/util/openapi.d.cts +0 -83
  1415. package/dist/util/openapi.d.cts.map +0 -1
  1416. package/dist/util/openapi.d.ts +0 -83
  1417. package/dist/util/openapi.d.ts.map +0 -1
  1418. package/dist/util/openapi.js +0 -148
  1419. package/dist/util/openapi.js.map +0 -1
  1420. package/dist/util/parse.cjs +0 -22
  1421. package/dist/util/parse.cjs.map +0 -1
  1422. package/dist/util/parse.js +0 -21
  1423. package/dist/util/parse.js.map +0 -1
  1424. package/dist/util/set.cjs +0 -35
  1425. package/dist/util/set.cjs.map +0 -1
  1426. package/dist/util/set.js +0 -32
  1427. package/dist/util/set.js.map +0 -1
  1428. package/dist/util/sql_utils.cjs +0 -178
  1429. package/dist/util/sql_utils.cjs.map +0 -1
  1430. package/dist/util/sql_utils.d.cts +0 -31
  1431. package/dist/util/sql_utils.d.cts.map +0 -1
  1432. package/dist/util/sql_utils.d.ts +0 -31
  1433. package/dist/util/sql_utils.d.ts.map +0 -1
  1434. package/dist/util/sql_utils.js +0 -173
  1435. package/dist/util/sql_utils.js.map +0 -1
  1436. package/dist/util/time.cjs +0 -25
  1437. package/dist/util/time.cjs.map +0 -1
  1438. package/dist/util/time.d.cts +0 -10
  1439. package/dist/util/time.d.cts.map +0 -1
  1440. package/dist/util/time.d.ts +0 -10
  1441. package/dist/util/time.d.ts.map +0 -1
  1442. package/dist/util/time.js +0 -19
  1443. package/dist/util/time.js.map +0 -1
  1444. package/dist/vectorstores/memory.cjs +0 -265
  1445. package/dist/vectorstores/memory.cjs.map +0 -1
  1446. package/dist/vectorstores/memory.d.cts +0 -216
  1447. package/dist/vectorstores/memory.d.cts.map +0 -1
  1448. package/dist/vectorstores/memory.d.ts +0 -216
  1449. package/dist/vectorstores/memory.d.ts.map +0 -1
  1450. package/dist/vectorstores/memory.js +0 -259
  1451. package/dist/vectorstores/memory.js.map +0 -1
@@ -1,38 +1,33 @@
1
1
  import { AgentMiddleware } from "../types.js";
2
- import { BaseMessage } from "@langchain/core/messages";
2
+ import { InferInteropZodInput } from "@langchain/core/utils/types";
3
3
  import { z } from "zod/v3";
4
- import * as _langchain_core_language_models_base1 from "@langchain/core/language_models/base";
4
+ import * as _langchain_core_language_models_base0 from "@langchain/core/language_models/base";
5
5
  import { BaseLanguageModel } from "@langchain/core/language_models/base";
6
6
 
7
7
  //#region src/agents/middlewareAgent/middleware/summarization.d.ts
8
8
  declare const contextSchema: z.ZodObject<{
9
- model: z.ZodType<BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>>;
9
+ model: z.ZodType<BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>>;
10
10
  maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;
11
11
  messagesToKeep: z.ZodDefault<z.ZodNumber>;
12
12
  tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodAny, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
13
13
  summaryPrompt: z.ZodDefault<z.ZodString>;
14
14
  summaryPrefix: z.ZodDefault<z.ZodString>;
15
15
  }, "strip", z.ZodTypeAny, {
16
- model: BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>;
16
+ model: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>;
17
17
  maxTokensBeforeSummary?: number | undefined;
18
18
  messagesToKeep: number;
19
19
  tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;
20
20
  summaryPrompt: string;
21
21
  summaryPrefix: string;
22
22
  }, {
23
- model: BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>;
23
+ model: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>;
24
24
  maxTokensBeforeSummary?: number | undefined;
25
25
  messagesToKeep?: number | undefined;
26
26
  tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;
27
27
  summaryPrompt?: string | undefined;
28
28
  summaryPrefix?: string | undefined;
29
29
  }>;
30
- /**
31
- * Default token counter that approximates based on character count
32
- * @param messages Messages to count tokens for
33
- * @returns Approximate token count
34
- */
35
- declare function countTokensApproximately(messages: BaseMessage[]): number;
30
+ type SummarizationMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;
36
31
  /**
37
32
  * Summarization middleware that automatically summarizes conversation history when token limits are approached.
38
33
  *
@@ -45,7 +40,7 @@ declare function countTokensApproximately(messages: BaseMessage[]): number;
45
40
  *
46
41
  * @example
47
42
  * ```ts
48
- * import { summarizationMiddleware } from "langchain/middleware";
43
+ * import { summarizationMiddleware } from "langchain";
49
44
  * import { createAgent } from "langchain";
50
45
  *
51
46
  * const agent = createAgent({
@@ -62,22 +57,22 @@ declare function countTokensApproximately(messages: BaseMessage[]): number;
62
57
  *
63
58
  * ```
64
59
  */
65
- declare function summarizationMiddleware(options: z.input<typeof contextSchema>): AgentMiddleware<undefined, z.ZodObject<{
66
- model: z.ZodType<BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>>;
60
+ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig): AgentMiddleware<undefined, z.ZodObject<{
61
+ model: z.ZodType<BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>>;
67
62
  maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;
68
63
  messagesToKeep: z.ZodDefault<z.ZodNumber>;
69
64
  tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodAny, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
70
65
  summaryPrompt: z.ZodDefault<z.ZodString>;
71
66
  summaryPrefix: z.ZodDefault<z.ZodString>;
72
67
  }, "strip", z.ZodTypeAny, {
73
- model: BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>;
68
+ model: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>;
74
69
  maxTokensBeforeSummary?: number | undefined;
75
70
  messagesToKeep: number;
76
71
  tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;
77
72
  summaryPrompt: string;
78
73
  summaryPrefix: string;
79
74
  }, {
80
- model: BaseLanguageModel<any, _langchain_core_language_models_base1.BaseLanguageModelCallOptions>;
75
+ model: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions>;
81
76
  maxTokensBeforeSummary?: number | undefined;
82
77
  messagesToKeep?: number | undefined;
83
78
  tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;
@@ -85,5 +80,5 @@ declare function summarizationMiddleware(options: z.input<typeof contextSchema>)
85
80
  summaryPrefix?: string | undefined;
86
81
  }>, any>;
87
82
  //#endregion
88
- export { countTokensApproximately, summarizationMiddleware };
83
+ export { SummarizationMiddlewareConfig, summarizationMiddleware };
89
84
  //# sourceMappingURL=summarization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarization.d.ts","names":["___types_js1","z","BaseMessage","BaseLanguageModel","contextSchema","_langchain_core_language_models_base1","BaseLanguageModelCallOptions","ZodTypeDef","ZodType","ZodNumber","ZodOptional","ZodDefault","ZodAny","ZodArray","ZodUnknown","ZodTuple","ZodPromise","ZodUnion","ZodFunction","ZodString","ZodTypeAny","Promise","ZodObject","countTokensApproximately","summarizationMiddleware","input","AgentMiddleware"],"sources":["../../../../src/agents/middlewareAgent/middleware/summarization.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\ndeclare const contextSchema: z.ZodObject<{\n model: z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodDefault<z.ZodNumber>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodAny, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n summaryPrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep: number;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n summaryPrefix: string;\n}, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n summaryPrefix?: string | undefined;\n}>;\n/**\n * Default token counter that approximates based on character count\n * @param messages Messages to count tokens for\n * @returns Approximate token count\n */\nexport declare function countTokensApproximately(messages: BaseMessage[]): number;\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain/middleware\";\n * import { createAgent } from \"langchain\";\n *\n * const agent = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * maxTokensBeforeSummary: 4000,\n * messagesToKeep: 20,\n * })\n * ],\n * });\n *\n * ```\n */\nexport declare function summarizationMiddleware(options: z.input<typeof contextSchema>): import(\"../types.js\").AgentMiddleware<undefined, z.ZodObject<{\n model: z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodDefault<z.ZodNumber>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodAny, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n summaryPrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep: number;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n summaryPrefix: string;\n}, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n summaryPrefix?: string | undefined;\n}>, any>;\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"summarization.d.ts","names":["__index_js0","z","BaseLanguageModel","InferInteropZodInput","contextSchema","_langchain_core_language_models_base0","BaseLanguageModelCallOptions","ZodTypeDef","ZodType","ZodNumber","ZodOptional","ZodDefault","ZodAny","ZodArray","ZodUnknown","ZodTuple","ZodPromise","ZodUnion","ZodFunction","ZodString","ZodTypeAny","Promise","ZodObject","SummarizationMiddlewareConfig","summarizationMiddleware","AgentMiddleware"],"sources":["../../../../src/agents/middlewareAgent/middleware/summarization.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { InferInteropZodInput } from \"@langchain/core/utils/types\";\ndeclare const contextSchema: z.ZodObject<{\n model: z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodDefault<z.ZodNumber>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodAny, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n summaryPrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep: number;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n summaryPrefix: string;\n}, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n summaryPrefix?: string | undefined;\n}>;\nexport type SummarizationMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * const agent = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * maxTokensBeforeSummary: 4000,\n * messagesToKeep: 20,\n * })\n * ],\n * });\n *\n * ```\n */\nexport declare function summarizationMiddleware(options: SummarizationMiddlewareConfig): import(\"./index.js\").AgentMiddleware<undefined, z.ZodObject<{\n model: z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodDefault<z.ZodNumber>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodAny, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n summaryPrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep: number;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n summaryPrefix: string;\n}, {\n model: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n tokenCounter?: ((args_0: any[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n summaryPrefix?: string | undefined;\n}>, any>;\nexport {};\n"],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { createMiddleware } from "../middleware.js";
2
- import { RemoveMessage, SystemMessage, isAIMessage, isSystemMessage, isToolMessage, trimMessages } from "@langchain/core/messages";
2
+ import { countTokensApproximately } from "./utils.js";
3
+ import { AIMessage, RemoveMessage, SystemMessage, ToolMessage, trimMessages } from "@langchain/core/messages";
3
4
  import { REMOVE_ALL_MESSAGES } from "@langchain/langgraph";
5
+ import { interopParse } from "@langchain/core/utils/types";
4
6
  import { z } from "zod/v3";
5
7
  import { v4 } from "uuid";
6
8
 
@@ -46,26 +48,6 @@ const contextSchema = z.object({
46
48
  summaryPrefix: z.string().default(SUMMARY_PREFIX)
47
49
  });
48
50
  /**
49
- * Default token counter that approximates based on character count
50
- * @param messages Messages to count tokens for
51
- * @returns Approximate token count
52
- */
53
- function countTokensApproximately(messages) {
54
- let totalChars = 0;
55
- for (const msg of messages) {
56
- let textContent;
57
- if (typeof msg.content === "string") textContent = msg.content;
58
- else if (Array.isArray(msg.content)) textContent = msg.content.map((item) => {
59
- if (typeof item === "string") return item;
60
- if (item.type === "text" && "text" in item) return item.text;
61
- return "";
62
- }).join("");
63
- else textContent = "";
64
- totalChars += textContent.length;
65
- }
66
- return Math.ceil(totalChars / 4);
67
- }
68
- /**
69
51
  * Summarization middleware that automatically summarizes conversation history when token limits are approached.
70
52
  *
71
53
  * This middleware monitors message token counts and automatically summarizes older
@@ -77,7 +59,7 @@ function countTokensApproximately(messages) {
77
59
  *
78
60
  * @example
79
61
  * ```ts
80
- * import { summarizationMiddleware } from "langchain/middleware";
62
+ * import { summarizationMiddleware } from "langchain";
81
63
  * import { createAgent } from "langchain";
82
64
  *
83
65
  * const agent = createAgent({
@@ -99,21 +81,32 @@ function summarizationMiddleware(options) {
99
81
  name: "SummarizationMiddleware",
100
82
  contextSchema,
101
83
  beforeModel: async (state, runtime) => {
84
+ /**
85
+ * Parse user options to get their explicit values
86
+ */
87
+ const userOptions = interopParse(contextSchema, options);
88
+ /**
89
+ * Merge context with user options, preferring user options when context has default values
90
+ */
102
91
  const config = {
103
- ...contextSchema.parse(options),
104
- ...runtime.context
92
+ model: userOptions.model,
93
+ maxTokensBeforeSummary: runtime.context.maxTokensBeforeSummary !== void 0 ? runtime.context.maxTokensBeforeSummary : userOptions.maxTokensBeforeSummary,
94
+ messagesToKeep: runtime.context.messagesToKeep === DEFAULT_MESSAGES_TO_KEEP ? userOptions.messagesToKeep : runtime.context.messagesToKeep ?? userOptions.messagesToKeep,
95
+ tokenCounter: runtime.context.tokenCounter !== void 0 ? runtime.context.tokenCounter : userOptions.tokenCounter,
96
+ summaryPrompt: runtime.context.summaryPrompt === DEFAULT_SUMMARY_PROMPT ? userOptions.summaryPrompt : runtime.context.summaryPrompt ?? userOptions.summaryPrompt,
97
+ summaryPrefix: runtime.context.summaryPrefix === SUMMARY_PREFIX ? userOptions.summaryPrefix : runtime.context.summaryPrefix ?? userOptions.summaryPrefix
105
98
  };
106
99
  const { messages } = state;
107
100
  ensureMessageIds(messages);
108
101
  const tokenCounter = config.tokenCounter || countTokensApproximately;
109
102
  const totalTokens = await tokenCounter(messages);
110
103
  if (config.maxTokensBeforeSummary == null || totalTokens < config.maxTokensBeforeSummary) return;
111
- const { systemMessage, conversationMessages } = splitSystemMessage(messages);
104
+ const { systemPrompt, conversationMessages } = splitSystemMessage(messages);
112
105
  const cutoffIndex = findSafeCutoff(conversationMessages, config.messagesToKeep);
113
106
  if (cutoffIndex <= 0) return;
114
- const { messagesToSummarize, preservedMessages } = partitionMessages(systemMessage, conversationMessages, cutoffIndex);
107
+ const { messagesToSummarize, preservedMessages } = partitionMessages(systemPrompt, conversationMessages, cutoffIndex);
115
108
  const summary = await createSummary(messagesToSummarize, config.model, config.summaryPrompt, tokenCounter);
116
- const updatedSystemMessage = buildUpdatedSystemMessage(systemMessage, summary, config.summaryPrefix);
109
+ const updatedSystemMessage = buildUpdatedSystemMessage(systemPrompt, summary, config.summaryPrefix);
117
110
  return { messages: [
118
111
  new RemoveMessage({ id: REMOVE_ALL_MESSAGES }),
119
112
  updatedSystemMessage,
@@ -132,22 +125,22 @@ function ensureMessageIds(messages) {
132
125
  * Separate system message from conversation messages
133
126
  */
134
127
  function splitSystemMessage(messages) {
135
- if (messages.length > 0 && isSystemMessage(messages[0])) return {
136
- systemMessage: messages[0],
128
+ if (messages.length > 0 && SystemMessage.isInstance(messages[0])) return {
129
+ systemPrompt: messages[0],
137
130
  conversationMessages: messages.slice(1)
138
131
  };
139
132
  return {
140
- systemMessage: null,
133
+ systemPrompt: null,
141
134
  conversationMessages: messages
142
135
  };
143
136
  }
144
137
  /**
145
138
  * Partition messages into those to summarize and those to preserve
146
139
  */
147
- function partitionMessages(systemMessage, conversationMessages, cutoffIndex) {
140
+ function partitionMessages(systemPrompt, conversationMessages, cutoffIndex) {
148
141
  const messagesToSummarize = conversationMessages.slice(0, cutoffIndex);
149
142
  const preservedMessages = conversationMessages.slice(cutoffIndex);
150
- if (systemMessage) messagesToSummarize.unshift(systemMessage);
143
+ if (systemPrompt) messagesToSummarize.unshift(systemPrompt);
151
144
  return {
152
145
  messagesToSummarize,
153
146
  preservedMessages
@@ -195,7 +188,7 @@ function isSafeCutoffPoint(messages, cutoffIndex) {
195
188
  * Check if message is an AI message with tool calls
196
189
  */
197
190
  function hasToolCalls(message) {
198
- return isAIMessage(message) && "tool_calls" in message && Array.isArray(message.tool_calls) && message.tool_calls.length > 0;
191
+ return AIMessage.isInstance(message) && "tool_calls" in message && Array.isArray(message.tool_calls) && message.tool_calls.length > 0;
199
192
  }
200
193
  /**
201
194
  * Extract tool call IDs from an AI message
@@ -214,7 +207,7 @@ function extractToolCallIds(aiMessage) {
214
207
  function cutoffSeparatesToolPair(messages, aiMessageIndex, cutoffIndex, toolCallIds) {
215
208
  for (let j = aiMessageIndex + 1; j < messages.length; j++) {
216
209
  const message = messages[j];
217
- if (isToolMessage(message) && toolCallIds.has(message.tool_call_id)) {
210
+ if (ToolMessage.isInstance(message) && toolCallIds.has(message.tool_call_id)) {
218
211
  const aiBeforeCutoff = aiMessageIndex < cutoffIndex;
219
212
  const toolBeforeCutoff = j < cutoffIndex;
220
213
  if (aiBeforeCutoff !== toolBeforeCutoff) return true;
@@ -256,5 +249,5 @@ async function trimMessagesForSummary(messages, tokenCounter) {
256
249
  }
257
250
 
258
251
  //#endregion
259
- export { countTokensApproximately, summarizationMiddleware };
252
+ export { summarizationMiddleware };
260
253
  //# sourceMappingURL=summarization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarization.js","names":["messages: BaseMessage[]","textContent: string","options: z.input<typeof contextSchema>","uuid","systemMessage: SystemMessage | null","conversationMessages: BaseMessage[]","cutoffIndex: number","originalSystemMessage: SystemMessage | null","summary: string","summaryPrefix: string","content","messagesToKeep: number","message: BaseMessage","aiMessage: AIMessage","aiMessageIndex: number","toolCallIds: Set<string>","messagesToSummarize: BaseMessage[]","model: BaseLanguageModel","summaryPrompt: string","tokenCounter: TokenCounter"],"sources":["../../../../src/agents/middlewareAgent/middleware/summarization.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n BaseMessage,\n AIMessage,\n SystemMessage,\n isToolMessage,\n RemoveMessage,\n trimMessages,\n isSystemMessage,\n isAIMessage,\n} from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { REMOVE_ALL_MESSAGES } from \"@langchain/langgraph\";\nimport { createMiddleware } from \"../middleware.js\";\n\nconst DEFAULT_SUMMARY_PROMPT = `<role>\nContext Extraction Assistant\n</role>\n\n<primary_objective>\nYour sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.\n</primary_objective>\n\n<objective_information>\nYou're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.\nThis context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.\n</objective_information>\n\n<instructions>\nThe conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.\nYou want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.\n</instructions>\n\nThe user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:\n\nWith all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.\nRespond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.\n\n<messages>\nMessages to summarize:\n{messages}\n</messages>`;\n\nconst SUMMARY_PREFIX = \"## Previous conversation summary:\";\n\nconst DEFAULT_MESSAGES_TO_KEEP = 20;\nconst DEFAULT_TRIM_TOKEN_LIMIT = 4000;\nconst DEFAULT_FALLBACK_MESSAGE_COUNT = 15;\nconst SEARCH_RANGE_FOR_TOOL_PAIRS = 5;\n\ntype TokenCounter = (messages: BaseMessage[]) => number | Promise<number>;\n\nconst contextSchema = z.object({\n model: z.custom<BaseLanguageModel>(),\n maxTokensBeforeSummary: z.number().optional(),\n messagesToKeep: z.number().default(DEFAULT_MESSAGES_TO_KEEP),\n tokenCounter: z\n .function()\n .args(z.array(z.any()))\n .returns(z.union([z.number(), z.promise(z.number())]))\n .optional(),\n summaryPrompt: z.string().default(DEFAULT_SUMMARY_PROMPT),\n summaryPrefix: z.string().default(SUMMARY_PREFIX),\n});\n\n/**\n * Default token counter that approximates based on character count\n * @param messages Messages to count tokens for\n * @returns Approximate token count\n */\nexport function countTokensApproximately(messages: BaseMessage[]): number {\n let totalChars = 0;\n for (const msg of messages) {\n let textContent: string;\n if (typeof msg.content === \"string\") {\n textContent = msg.content;\n } else if (Array.isArray(msg.content)) {\n textContent = msg.content\n .map((item) => {\n if (typeof item === \"string\") return item;\n if (item.type === \"text\" && \"text\" in item) return item.text;\n return \"\";\n })\n .join(\"\");\n } else {\n textContent = \"\";\n }\n totalChars += textContent.length;\n }\n // Approximate 1 token = 4 characters\n return Math.ceil(totalChars / 4);\n}\n\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain/middleware\";\n * import { createAgent } from \"langchain\";\n *\n * const agent = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * maxTokensBeforeSummary: 4000,\n * messagesToKeep: 20,\n * })\n * ],\n * });\n *\n * ```\n */\nexport function summarizationMiddleware(\n options: z.input<typeof contextSchema>\n) {\n return createMiddleware({\n name: \"SummarizationMiddleware\",\n contextSchema,\n beforeModel: async (state, runtime) => {\n const config = { ...contextSchema.parse(options), ...runtime.context };\n const { messages } = state;\n\n // Ensure all messages have IDs\n ensureMessageIds(messages);\n\n const tokenCounter = config.tokenCounter || countTokensApproximately;\n const totalTokens = await tokenCounter(messages);\n\n if (\n config.maxTokensBeforeSummary == null ||\n totalTokens < config.maxTokensBeforeSummary\n ) {\n return;\n }\n\n const { systemMessage, conversationMessages } =\n splitSystemMessage(messages);\n const cutoffIndex = findSafeCutoff(\n conversationMessages,\n config.messagesToKeep\n );\n\n if (cutoffIndex <= 0) {\n return;\n }\n\n const { messagesToSummarize, preservedMessages } = partitionMessages(\n systemMessage,\n conversationMessages,\n cutoffIndex\n );\n\n const summary = await createSummary(\n messagesToSummarize,\n config.model,\n config.summaryPrompt,\n tokenCounter\n );\n\n const updatedSystemMessage = buildUpdatedSystemMessage(\n systemMessage,\n summary,\n config.summaryPrefix\n );\n\n return {\n messages: [\n new RemoveMessage({ id: REMOVE_ALL_MESSAGES }),\n updatedSystemMessage,\n ...preservedMessages,\n ],\n };\n },\n });\n}\n\n/**\n * Ensure all messages have unique IDs\n */\nfunction ensureMessageIds(messages: BaseMessage[]): void {\n for (const msg of messages) {\n if (!msg.id) {\n msg.id = uuid();\n }\n }\n}\n\n/**\n * Separate system message from conversation messages\n */\nfunction splitSystemMessage(messages: BaseMessage[]): {\n systemMessage: SystemMessage | null;\n conversationMessages: BaseMessage[];\n} {\n if (messages.length > 0 && isSystemMessage(messages[0])) {\n return {\n systemMessage: messages[0] as SystemMessage,\n conversationMessages: messages.slice(1),\n };\n }\n return {\n systemMessage: null,\n conversationMessages: messages,\n };\n}\n\n/**\n * Partition messages into those to summarize and those to preserve\n */\nfunction partitionMessages(\n systemMessage: SystemMessage | null,\n conversationMessages: BaseMessage[],\n cutoffIndex: number\n): { messagesToSummarize: BaseMessage[]; preservedMessages: BaseMessage[] } {\n const messagesToSummarize = conversationMessages.slice(0, cutoffIndex);\n const preservedMessages = conversationMessages.slice(cutoffIndex);\n\n // Include system message in messages to summarize to capture previous summaries\n if (systemMessage) {\n messagesToSummarize.unshift(systemMessage);\n }\n\n return { messagesToSummarize, preservedMessages };\n}\n\n/**\n * Build updated system message incorporating the summary\n */\nfunction buildUpdatedSystemMessage(\n originalSystemMessage: SystemMessage | null,\n summary: string,\n summaryPrefix: string\n): SystemMessage {\n let originalContent = \"\";\n if (originalSystemMessage) {\n const { content } = originalSystemMessage;\n if (typeof content === \"string\") {\n originalContent = content.split(summaryPrefix)[0].trim();\n }\n }\n\n const content = originalContent\n ? `${originalContent}\\n${summaryPrefix}\\n${summary}`\n : `${summaryPrefix}\\n${summary}`;\n\n return new SystemMessage({\n content,\n id: originalSystemMessage?.id || uuid(),\n });\n}\n\n/**\n * Find safe cutoff point that preserves AI/Tool message pairs\n */\nfunction findSafeCutoff(\n messages: BaseMessage[],\n messagesToKeep: number\n): number {\n if (messages.length <= messagesToKeep) {\n return 0;\n }\n\n const targetCutoff = messages.length - messagesToKeep;\n\n for (let i = targetCutoff; i >= 0; i--) {\n if (isSafeCutoffPoint(messages, i)) {\n return i;\n }\n }\n\n return 0;\n}\n\n/**\n * Check if cutting at index would separate AI/Tool message pairs\n */\nfunction isSafeCutoffPoint(\n messages: BaseMessage[],\n cutoffIndex: number\n): boolean {\n if (cutoffIndex >= messages.length) {\n return true;\n }\n\n const searchStart = Math.max(0, cutoffIndex - SEARCH_RANGE_FOR_TOOL_PAIRS);\n const searchEnd = Math.min(\n messages.length,\n cutoffIndex + SEARCH_RANGE_FOR_TOOL_PAIRS\n );\n\n for (let i = searchStart; i < searchEnd; i++) {\n if (!hasToolCalls(messages[i])) {\n continue;\n }\n\n const toolCallIds = extractToolCallIds(messages[i] as AIMessage);\n if (cutoffSeparatesToolPair(messages, i, cutoffIndex, toolCallIds)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Check if message is an AI message with tool calls\n */\nfunction hasToolCalls(message: BaseMessage): boolean {\n return (\n isAIMessage(message) &&\n \"tool_calls\" in message &&\n Array.isArray(message.tool_calls) &&\n message.tool_calls.length > 0\n );\n}\n\n/**\n * Extract tool call IDs from an AI message\n */\nfunction extractToolCallIds(aiMessage: AIMessage): Set<string> {\n const toolCallIds = new Set<string>();\n if (aiMessage.tool_calls) {\n for (const toolCall of aiMessage.tool_calls) {\n const id =\n typeof toolCall === \"object\" && \"id\" in toolCall ? toolCall.id : null;\n if (id) {\n toolCallIds.add(id);\n }\n }\n }\n return toolCallIds;\n}\n\n/**\n * Check if cutoff separates an AI message from its corresponding tool messages\n */\nfunction cutoffSeparatesToolPair(\n messages: BaseMessage[],\n aiMessageIndex: number,\n cutoffIndex: number,\n toolCallIds: Set<string>\n): boolean {\n for (let j = aiMessageIndex + 1; j < messages.length; j++) {\n const message = messages[j];\n if (isToolMessage(message) && toolCallIds.has(message.tool_call_id)) {\n const aiBeforeCutoff = aiMessageIndex < cutoffIndex;\n const toolBeforeCutoff = j < cutoffIndex;\n if (aiBeforeCutoff !== toolBeforeCutoff) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Generate summary for the given messages\n */\nasync function createSummary(\n messagesToSummarize: BaseMessage[],\n model: BaseLanguageModel,\n summaryPrompt: string,\n tokenCounter: TokenCounter\n): Promise<string> {\n if (!messagesToSummarize.length) {\n return \"No previous conversation history.\";\n }\n\n const trimmedMessages = await trimMessagesForSummary(\n messagesToSummarize,\n tokenCounter\n );\n\n if (!trimmedMessages.length) {\n return \"Previous conversation was too long to summarize.\";\n }\n\n try {\n const formattedPrompt = summaryPrompt.replace(\n \"{messages}\",\n JSON.stringify(trimmedMessages, null, 2)\n );\n const response = await model.invoke(formattedPrompt);\n const { content } = response;\n return typeof content === \"string\"\n ? content.trim()\n : \"Error generating summary: Invalid response format\";\n } catch (e) {\n return `Error generating summary: ${e}`;\n }\n}\n\n/**\n * Trim messages to fit within summary generation limits\n */\nasync function trimMessagesForSummary(\n messages: BaseMessage[],\n tokenCounter: TokenCounter\n): Promise<BaseMessage[]> {\n try {\n return await trimMessages(messages, {\n maxTokens: DEFAULT_TRIM_TOKEN_LIMIT,\n tokenCounter: async (msgs) => Promise.resolve(tokenCounter(msgs)),\n strategy: \"last\",\n allowPartial: true,\n includeSystem: true,\n });\n } catch {\n // Fallback to last N messages if trimming fails\n return messages.slice(-DEFAULT_FALLBACK_MESSAGE_COUNT);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"summarization.js","names":["options: SummarizationMiddlewareConfig","messages: BaseMessage[]","uuid","systemPrompt: SystemMessage | null","conversationMessages: BaseMessage[]","cutoffIndex: number","originalSystemMessage: SystemMessage | null","summary: string","summaryPrefix: string","content","messagesToKeep: number","message: BaseMessage","aiMessage: AIMessage","aiMessageIndex: number","toolCallIds: Set<string>","messagesToSummarize: BaseMessage[]","model: BaseLanguageModel","summaryPrompt: string","tokenCounter: TokenCounter"],"sources":["../../../../src/agents/middlewareAgent/middleware/summarization.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n BaseMessage,\n AIMessage,\n SystemMessage,\n ToolMessage,\n RemoveMessage,\n trimMessages,\n} from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport {\n interopParse,\n InferInteropZodOutput,\n InferInteropZodInput,\n} from \"@langchain/core/utils/types\";\nimport { REMOVE_ALL_MESSAGES } from \"@langchain/langgraph\";\nimport { createMiddleware } from \"../middleware.js\";\nimport { countTokensApproximately } from \"./utils.js\";\n\nconst DEFAULT_SUMMARY_PROMPT = `<role>\nContext Extraction Assistant\n</role>\n\n<primary_objective>\nYour sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.\n</primary_objective>\n\n<objective_information>\nYou're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.\nThis context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.\n</objective_information>\n\n<instructions>\nThe conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.\nYou want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.\n</instructions>\n\nThe user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:\n\nWith all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.\nRespond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.\n\n<messages>\nMessages to summarize:\n{messages}\n</messages>`;\n\nconst SUMMARY_PREFIX = \"## Previous conversation summary:\";\n\nconst DEFAULT_MESSAGES_TO_KEEP = 20;\nconst DEFAULT_TRIM_TOKEN_LIMIT = 4000;\nconst DEFAULT_FALLBACK_MESSAGE_COUNT = 15;\nconst SEARCH_RANGE_FOR_TOOL_PAIRS = 5;\n\ntype TokenCounter = (messages: BaseMessage[]) => number | Promise<number>;\n\nconst contextSchema = z.object({\n model: z.custom<BaseLanguageModel>(),\n maxTokensBeforeSummary: z.number().optional(),\n messagesToKeep: z.number().default(DEFAULT_MESSAGES_TO_KEEP),\n tokenCounter: z\n .function()\n .args(z.array(z.any()))\n .returns(z.union([z.number(), z.promise(z.number())]))\n .optional(),\n summaryPrompt: z.string().default(DEFAULT_SUMMARY_PROMPT),\n summaryPrefix: z.string().default(SUMMARY_PREFIX),\n});\n\nexport type SummarizationMiddlewareConfig = InferInteropZodInput<\n typeof contextSchema\n>;\n\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * const agent = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * maxTokensBeforeSummary: 4000,\n * messagesToKeep: 20,\n * })\n * ],\n * });\n *\n * ```\n */\nexport function summarizationMiddleware(\n options: SummarizationMiddlewareConfig\n) {\n return createMiddleware({\n name: \"SummarizationMiddleware\",\n contextSchema,\n beforeModel: async (state, runtime) => {\n /**\n * Parse user options to get their explicit values\n */\n const userOptions = interopParse(contextSchema, options);\n\n /**\n * Merge context with user options, preferring user options when context has default values\n */\n const config = {\n model: userOptions.model,\n maxTokensBeforeSummary:\n runtime.context.maxTokensBeforeSummary !== undefined\n ? runtime.context.maxTokensBeforeSummary\n : userOptions.maxTokensBeforeSummary,\n messagesToKeep:\n runtime.context.messagesToKeep === DEFAULT_MESSAGES_TO_KEEP\n ? userOptions.messagesToKeep\n : runtime.context.messagesToKeep ?? userOptions.messagesToKeep,\n tokenCounter:\n runtime.context.tokenCounter !== undefined\n ? runtime.context.tokenCounter\n : userOptions.tokenCounter,\n summaryPrompt:\n runtime.context.summaryPrompt === DEFAULT_SUMMARY_PROMPT\n ? userOptions.summaryPrompt\n : runtime.context.summaryPrompt ?? userOptions.summaryPrompt,\n summaryPrefix:\n runtime.context.summaryPrefix === SUMMARY_PREFIX\n ? userOptions.summaryPrefix\n : runtime.context.summaryPrefix ?? userOptions.summaryPrefix,\n } as InferInteropZodOutput<typeof contextSchema>;\n const { messages } = state;\n\n // Ensure all messages have IDs\n ensureMessageIds(messages);\n\n const tokenCounter = config.tokenCounter || countTokensApproximately;\n const totalTokens = await tokenCounter(messages);\n\n if (\n config.maxTokensBeforeSummary == null ||\n totalTokens < config.maxTokensBeforeSummary\n ) {\n return;\n }\n\n const { systemPrompt, conversationMessages } =\n splitSystemMessage(messages);\n const cutoffIndex = findSafeCutoff(\n conversationMessages,\n config.messagesToKeep\n );\n\n if (cutoffIndex <= 0) {\n return;\n }\n\n const { messagesToSummarize, preservedMessages } = partitionMessages(\n systemPrompt,\n conversationMessages,\n cutoffIndex\n );\n\n const summary = await createSummary(\n messagesToSummarize,\n config.model,\n config.summaryPrompt,\n tokenCounter\n );\n\n const updatedSystemMessage = buildUpdatedSystemMessage(\n systemPrompt,\n summary,\n config.summaryPrefix\n );\n\n return {\n messages: [\n new RemoveMessage({ id: REMOVE_ALL_MESSAGES }),\n updatedSystemMessage,\n ...preservedMessages,\n ],\n };\n },\n });\n}\n\n/**\n * Ensure all messages have unique IDs\n */\nfunction ensureMessageIds(messages: BaseMessage[]): void {\n for (const msg of messages) {\n if (!msg.id) {\n msg.id = uuid();\n }\n }\n}\n\n/**\n * Separate system message from conversation messages\n */\nfunction splitSystemMessage(messages: BaseMessage[]): {\n systemPrompt: SystemMessage | null;\n conversationMessages: BaseMessage[];\n} {\n if (messages.length > 0 && SystemMessage.isInstance(messages[0])) {\n return {\n systemPrompt: messages[0] as SystemMessage,\n conversationMessages: messages.slice(1),\n };\n }\n return {\n systemPrompt: null,\n conversationMessages: messages,\n };\n}\n\n/**\n * Partition messages into those to summarize and those to preserve\n */\nfunction partitionMessages(\n systemPrompt: SystemMessage | null,\n conversationMessages: BaseMessage[],\n cutoffIndex: number\n): { messagesToSummarize: BaseMessage[]; preservedMessages: BaseMessage[] } {\n const messagesToSummarize = conversationMessages.slice(0, cutoffIndex);\n const preservedMessages = conversationMessages.slice(cutoffIndex);\n\n // Include system message in messages to summarize to capture previous summaries\n if (systemPrompt) {\n messagesToSummarize.unshift(systemPrompt);\n }\n\n return { messagesToSummarize, preservedMessages };\n}\n\n/**\n * Build updated system message incorporating the summary\n */\nfunction buildUpdatedSystemMessage(\n originalSystemMessage: SystemMessage | null,\n summary: string,\n summaryPrefix: string\n): SystemMessage {\n let originalContent = \"\";\n if (originalSystemMessage) {\n const { content } = originalSystemMessage;\n if (typeof content === \"string\") {\n originalContent = content.split(summaryPrefix)[0].trim();\n }\n }\n\n const content = originalContent\n ? `${originalContent}\\n${summaryPrefix}\\n${summary}`\n : `${summaryPrefix}\\n${summary}`;\n\n return new SystemMessage({\n content,\n id: originalSystemMessage?.id || uuid(),\n });\n}\n\n/**\n * Find safe cutoff point that preserves AI/Tool message pairs\n */\nfunction findSafeCutoff(\n messages: BaseMessage[],\n messagesToKeep: number\n): number {\n if (messages.length <= messagesToKeep) {\n return 0;\n }\n\n const targetCutoff = messages.length - messagesToKeep;\n\n for (let i = targetCutoff; i >= 0; i--) {\n if (isSafeCutoffPoint(messages, i)) {\n return i;\n }\n }\n\n return 0;\n}\n\n/**\n * Check if cutting at index would separate AI/Tool message pairs\n */\nfunction isSafeCutoffPoint(\n messages: BaseMessage[],\n cutoffIndex: number\n): boolean {\n if (cutoffIndex >= messages.length) {\n return true;\n }\n\n const searchStart = Math.max(0, cutoffIndex - SEARCH_RANGE_FOR_TOOL_PAIRS);\n const searchEnd = Math.min(\n messages.length,\n cutoffIndex + SEARCH_RANGE_FOR_TOOL_PAIRS\n );\n\n for (let i = searchStart; i < searchEnd; i++) {\n if (!hasToolCalls(messages[i])) {\n continue;\n }\n\n const toolCallIds = extractToolCallIds(messages[i] as AIMessage);\n if (cutoffSeparatesToolPair(messages, i, cutoffIndex, toolCallIds)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Check if message is an AI message with tool calls\n */\nfunction hasToolCalls(message: BaseMessage): boolean {\n return (\n AIMessage.isInstance(message) &&\n \"tool_calls\" in message &&\n Array.isArray(message.tool_calls) &&\n message.tool_calls.length > 0\n );\n}\n\n/**\n * Extract tool call IDs from an AI message\n */\nfunction extractToolCallIds(aiMessage: AIMessage): Set<string> {\n const toolCallIds = new Set<string>();\n if (aiMessage.tool_calls) {\n for (const toolCall of aiMessage.tool_calls) {\n const id =\n typeof toolCall === \"object\" && \"id\" in toolCall ? toolCall.id : null;\n if (id) {\n toolCallIds.add(id);\n }\n }\n }\n return toolCallIds;\n}\n\n/**\n * Check if cutoff separates an AI message from its corresponding tool messages\n */\nfunction cutoffSeparatesToolPair(\n messages: BaseMessage[],\n aiMessageIndex: number,\n cutoffIndex: number,\n toolCallIds: Set<string>\n): boolean {\n for (let j = aiMessageIndex + 1; j < messages.length; j++) {\n const message = messages[j];\n if (\n ToolMessage.isInstance(message) &&\n toolCallIds.has(message.tool_call_id)\n ) {\n const aiBeforeCutoff = aiMessageIndex < cutoffIndex;\n const toolBeforeCutoff = j < cutoffIndex;\n if (aiBeforeCutoff !== toolBeforeCutoff) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Generate summary for the given messages\n */\nasync function createSummary(\n messagesToSummarize: BaseMessage[],\n model: BaseLanguageModel,\n summaryPrompt: string,\n tokenCounter: TokenCounter\n): Promise<string> {\n if (!messagesToSummarize.length) {\n return \"No previous conversation history.\";\n }\n\n const trimmedMessages = await trimMessagesForSummary(\n messagesToSummarize,\n tokenCounter\n );\n\n if (!trimmedMessages.length) {\n return \"Previous conversation was too long to summarize.\";\n }\n\n try {\n const formattedPrompt = summaryPrompt.replace(\n \"{messages}\",\n JSON.stringify(trimmedMessages, null, 2)\n );\n const response = await model.invoke(formattedPrompt);\n const { content } = response;\n return typeof content === \"string\"\n ? content.trim()\n : \"Error generating summary: Invalid response format\";\n } catch (e) {\n return `Error generating summary: ${e}`;\n }\n}\n\n/**\n * Trim messages to fit within summary generation limits\n */\nasync function trimMessagesForSummary(\n messages: BaseMessage[],\n tokenCounter: TokenCounter\n): Promise<BaseMessage[]> {\n try {\n return await trimMessages(messages, {\n maxTokens: DEFAULT_TRIM_TOKEN_LIMIT,\n tokenCounter: async (msgs) => Promise.resolve(tokenCounter(msgs)),\n strategy: \"last\",\n allowPartial: true,\n includeSystem: true,\n });\n } catch {\n // Fallback to last N messages if trimming fails\n return messages.slice(-DEFAULT_FALLBACK_MESSAGE_COUNT);\n }\n}\n"],"mappings":";;;;;;;;;AAoBA,MAAM,yBAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BrB,CAAC;AAEZ,MAAM,iBAAiB;AAEvB,MAAM,2BAA2B;AACjC,MAAM,2BAA2B;AACjC,MAAM,iCAAiC;AACvC,MAAM,8BAA8B;AAIpC,MAAM,gBAAgB,EAAE,OAAO;CAC7B,OAAO,EAAE,QAA2B;CACpC,wBAAwB,EAAE,QAAQ,CAAC,UAAU;CAC7C,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,yBAAyB;CAC5D,cAAc,EACX,UAAU,CACV,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CACtB,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,AAAC,EAAC,CAAC,CACrD,UAAU;CACb,eAAe,EAAE,QAAQ,CAAC,QAAQ,uBAAuB;CACzD,eAAe,EAAE,QAAQ,CAAC,QAAQ,eAAe;AAClD,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCF,SAAgB,wBACdA,SACA;AACA,QAAO,iBAAiB;EACtB,MAAM;EACN;EACA,aAAa,OAAO,OAAO,YAAY;;;;GAIrC,MAAM,cAAc,aAAa,eAAe,QAAQ;;;;GAKxD,MAAM,SAAS;IACb,OAAO,YAAY;IACnB,wBACE,QAAQ,QAAQ,2BAA2B,SACvC,QAAQ,QAAQ,yBAChB,YAAY;IAClB,gBACE,QAAQ,QAAQ,mBAAmB,2BAC/B,YAAY,iBACZ,QAAQ,QAAQ,kBAAkB,YAAY;IACpD,cACE,QAAQ,QAAQ,iBAAiB,SAC7B,QAAQ,QAAQ,eAChB,YAAY;IAClB,eACE,QAAQ,QAAQ,kBAAkB,yBAC9B,YAAY,gBACZ,QAAQ,QAAQ,iBAAiB,YAAY;IACnD,eACE,QAAQ,QAAQ,kBAAkB,iBAC9B,YAAY,gBACZ,QAAQ,QAAQ,iBAAiB,YAAY;GACpD;GACD,MAAM,EAAE,UAAU,GAAG;GAGrB,iBAAiB,SAAS;GAE1B,MAAM,eAAe,OAAO,gBAAgB;GAC5C,MAAM,cAAc,MAAM,aAAa,SAAS;AAEhD,OACE,OAAO,0BAA0B,QACjC,cAAc,OAAO,uBAErB;GAGF,MAAM,EAAE,cAAc,sBAAsB,GAC1C,mBAAmB,SAAS;GAC9B,MAAM,cAAc,eAClB,sBACA,OAAO,eACR;AAED,OAAI,eAAe,EACjB;GAGF,MAAM,EAAE,qBAAqB,mBAAmB,GAAG,kBACjD,cACA,sBACA,YACD;GAED,MAAM,UAAU,MAAM,cACpB,qBACA,OAAO,OACP,OAAO,eACP,aACD;GAED,MAAM,uBAAuB,0BAC3B,cACA,SACA,OAAO,cACR;AAED,UAAO,EACL,UAAU;IACR,IAAI,cAAc,EAAE,IAAI,oBAAqB;IAC7C;IACA,GAAG;GACJ,EACF;EACF;CACF,EAAC;AACH;;;;AAKD,SAAS,iBAAiBC,UAA+B;AACvD,MAAK,MAAM,OAAO,SAChB,KAAI,CAAC,IAAI,IACP,IAAI,KAAKC,IAAM;AAGpB;;;;AAKD,SAAS,mBAAmBD,UAG1B;AACA,KAAI,SAAS,SAAS,KAAK,cAAc,WAAW,SAAS,GAAG,CAC9D,QAAO;EACL,cAAc,SAAS;EACvB,sBAAsB,SAAS,MAAM,EAAE;CACxC;AAEH,QAAO;EACL,cAAc;EACd,sBAAsB;CACvB;AACF;;;;AAKD,SAAS,kBACPE,cACAC,sBACAC,aAC0E;CAC1E,MAAM,sBAAsB,qBAAqB,MAAM,GAAG,YAAY;CACtE,MAAM,oBAAoB,qBAAqB,MAAM,YAAY;AAGjE,KAAI,cACF,oBAAoB,QAAQ,aAAa;AAG3C,QAAO;EAAE;EAAqB;CAAmB;AAClD;;;;AAKD,SAAS,0BACPC,uBACAC,SACAC,eACe;CACf,IAAI,kBAAkB;AACtB,KAAI,uBAAuB;EACzB,MAAM,EAAE,oBAAS,GAAG;AACpB,MAAI,OAAOC,cAAY,UACrB,kBAAkBA,UAAQ,MAAM,cAAc,CAAC,GAAG,MAAM;CAE3D;CAED,MAAM,UAAU,kBACZ,GAAG,gBAAgB,EAAE,EAAE,cAAc,EAAE,EAAE,SAAS,GAClD,GAAG,cAAc,EAAE,EAAE,SAAS;AAElC,QAAO,IAAI,cAAc;EACvB;EACA,IAAI,uBAAuB,MAAMP,IAAM;CACxC;AACF;;;;AAKD,SAAS,eACPD,UACAS,gBACQ;AACR,KAAI,SAAS,UAAU,eACrB,QAAO;CAGT,MAAM,eAAe,SAAS,SAAS;AAEvC,MAAK,IAAI,IAAI,cAAc,KAAK,GAAG,IACjC,KAAI,kBAAkB,UAAU,EAAE,CAChC,QAAO;AAIX,QAAO;AACR;;;;AAKD,SAAS,kBACPT,UACAI,aACS;AACT,KAAI,eAAe,SAAS,OAC1B,QAAO;CAGT,MAAM,cAAc,KAAK,IAAI,GAAG,cAAc,4BAA4B;CAC1E,MAAM,YAAY,KAAK,IACrB,SAAS,QACT,cAAc,4BACf;AAED,MAAK,IAAI,IAAI,aAAa,IAAI,WAAW,KAAK;AAC5C,MAAI,CAAC,aAAa,SAAS,GAAG,CAC5B;EAGF,MAAM,cAAc,mBAAmB,SAAS,GAAgB;AAChE,MAAI,wBAAwB,UAAU,GAAG,aAAa,YAAY,CAChE,QAAO;CAEV;AAED,QAAO;AACR;;;;AAKD,SAAS,aAAaM,SAA+B;AACnD,QACE,UAAU,WAAW,QAAQ,IAC7B,gBAAgB,WAChB,MAAM,QAAQ,QAAQ,WAAW,IACjC,QAAQ,WAAW,SAAS;AAE/B;;;;AAKD,SAAS,mBAAmBC,WAAmC;CAC7D,MAAM,8BAAc,IAAI;AACxB,KAAI,UAAU,WACZ,MAAK,MAAM,YAAY,UAAU,YAAY;EAC3C,MAAM,KACJ,OAAO,aAAa,YAAY,QAAQ,WAAW,SAAS,KAAK;AACnE,MAAI,IACF,YAAY,IAAI,GAAG;CAEtB;AAEH,QAAO;AACR;;;;AAKD,SAAS,wBACPX,UACAY,gBACAR,aACAS,aACS;AACT,MAAK,IAAI,IAAI,iBAAiB,GAAG,IAAI,SAAS,QAAQ,KAAK;EACzD,MAAM,UAAU,SAAS;AACzB,MACE,YAAY,WAAW,QAAQ,IAC/B,YAAY,IAAI,QAAQ,aAAa,EACrC;GACA,MAAM,iBAAiB,iBAAiB;GACxC,MAAM,mBAAmB,IAAI;AAC7B,OAAI,mBAAmB,iBACrB,QAAO;EAEV;CACF;AACD,QAAO;AACR;;;;AAKD,eAAe,cACbC,qBACAC,OACAC,eACAC,cACiB;AACjB,KAAI,CAAC,oBAAoB,OACvB,QAAO;CAGT,MAAM,kBAAkB,MAAM,uBAC5B,qBACA,aACD;AAED,KAAI,CAAC,gBAAgB,OACnB,QAAO;AAGT,KAAI;EACF,MAAM,kBAAkB,cAAc,QACpC,cACA,KAAK,UAAU,iBAAiB,MAAM,EAAE,CACzC;EACD,MAAM,WAAW,MAAM,MAAM,OAAO,gBAAgB;EACpD,MAAM,EAAE,SAAS,GAAG;AACpB,SAAO,OAAO,YAAY,WACtB,QAAQ,MAAM,GACd;CACL,SAAQ,GAAG;AACV,SAAO,CAAC,0BAA0B,EAAE,GAAG;CACxC;AACF;;;;AAKD,eAAe,uBACbjB,UACAiB,cACwB;AACxB,KAAI;AACF,SAAO,MAAM,aAAa,UAAU;GAClC,WAAW;GACX,cAAc,OAAO,SAAS,QAAQ,QAAQ,aAAa,KAAK,CAAC;GACjE,UAAU;GACV,cAAc;GACd,eAAe;EAChB,EAAC;CACH,QAAO;AAEN,SAAO,SAAS,MAAM,CAAC,+BAA+B;CACvD;AACF"}
@@ -0,0 +1,242 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_middleware = require('../middleware.cjs');
3
+ const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
4
+ const zod_v3 = require_rolldown_runtime.__toESM(require("zod/v3"));
5
+
6
+ //#region src/agents/middlewareAgent/middleware/toolCallLimit.ts
7
+ /**
8
+ * Count tool calls in a list of messages.
9
+ *
10
+ * @param messages - List of messages to count tool calls in.
11
+ * @param toolName - If specified, only count calls to this specific tool.
12
+ * If undefined, count all tool calls.
13
+ * @returns The total number of tool calls (optionally filtered by toolName).
14
+ */
15
+ function countToolCallsInMessages(messages, toolName) {
16
+ let count = 0;
17
+ for (const message of messages) if (__langchain_core_messages.AIMessage.isInstance(message) && message.tool_calls) if (toolName === void 0) count += message.tool_calls.length;
18
+ else count += message.tool_calls.filter((tc) => tc.name === toolName).length;
19
+ return count;
20
+ }
21
+ /**
22
+ * Get messages from the current run (after the last HumanMessage).
23
+ *
24
+ * @param messages - Full list of messages.
25
+ * @returns Messages from the current run (after last HumanMessage).
26
+ */
27
+ function getRunMessages(messages) {
28
+ /**
29
+ * Find the last HumanMessage
30
+ */
31
+ let lastHumanIndex = -1;
32
+ for (let i = messages.length - 1; i >= 0; i--) if (__langchain_core_messages.HumanMessage.isInstance(messages[i])) {
33
+ lastHumanIndex = i;
34
+ break;
35
+ }
36
+ /**
37
+ * If no HumanMessage found, return all messages
38
+ */
39
+ if (lastHumanIndex === -1) return messages;
40
+ /**
41
+ * Return messages after the last HumanMessage
42
+ */
43
+ return messages.slice(lastHumanIndex + 1);
44
+ }
45
+ /**
46
+ * Build a message indicating which tool call limits were reached.
47
+ *
48
+ * @param threadCount - Current thread tool call count.
49
+ * @param runCount - Current run tool call count.
50
+ * @param threadLimit - Thread tool call limit (if set).
51
+ * @param runLimit - Run tool call limit (if set).
52
+ * @param toolName - Tool name being limited (if specific tool), or undefined for all tools.
53
+ * @returns A formatted message describing which limits were reached.
54
+ */
55
+ function buildToolLimitExceededMessage(threadCount, runCount, threadLimit, runLimit, toolName) {
56
+ const toolDesc = toolName ? `'${toolName}' tool call` : "Tool call";
57
+ const exceededLimits = [];
58
+ if (threadLimit !== void 0 && threadCount >= threadLimit) exceededLimits.push(`thread limit reached (${threadCount}/${threadLimit})`);
59
+ if (runLimit !== void 0 && runCount >= runLimit) exceededLimits.push(`run limit reached (${runCount}/${runLimit})`);
60
+ return `${toolDesc} limit${exceededLimits.length > 1 ? "s" : ""}: ${exceededLimits.join(", ")}. Stopping to prevent further tool calls.`;
61
+ }
62
+ /**
63
+ * Exception raised when tool call limits are exceeded.
64
+ *
65
+ * This exception is raised when the configured exit behavior is 'error'
66
+ * and either the thread or run tool call limit has been exceeded.
67
+ */
68
+ var ToolCallLimitExceededError = class extends Error {
69
+ /**
70
+ * Current thread tool call count.
71
+ */
72
+ threadCount;
73
+ /**
74
+ * Current run tool call count.
75
+ */
76
+ runCount;
77
+ /**
78
+ * Thread tool call limit (if set).
79
+ */
80
+ threadLimit;
81
+ /**
82
+ * Run tool call limit (if set).
83
+ */
84
+ runLimit;
85
+ /**
86
+ * Tool name being limited (if specific tool), or undefined for all tools.
87
+ */
88
+ toolName;
89
+ constructor(threadCount, runCount, threadLimit, runLimit, toolName = void 0) {
90
+ const message = buildToolLimitExceededMessage(threadCount, runCount, threadLimit, runLimit, toolName);
91
+ super(message);
92
+ this.name = "ToolCallLimitExceededError";
93
+ this.threadCount = threadCount;
94
+ this.runCount = runCount;
95
+ this.threadLimit = threadLimit;
96
+ this.runLimit = runLimit;
97
+ this.toolName = toolName;
98
+ }
99
+ };
100
+ /**
101
+ * Options for configuring the Tool Call Limit middleware.
102
+ */
103
+ const ToolCallLimitOptionsSchema = zod_v3.z.object({
104
+ toolName: zod_v3.z.string().optional(),
105
+ threadLimit: zod_v3.z.number().optional(),
106
+ runLimit: zod_v3.z.number().optional(),
107
+ exitBehavior: zod_v3.z.enum(["end", "error"]).default("end")
108
+ });
109
+ /**
110
+ * Middleware that tracks tool call counts and enforces limits.
111
+ *
112
+ * This middleware monitors the number of tool calls made during agent execution
113
+ * and can terminate the agent when specified limits are reached. It supports
114
+ * both thread-level and run-level call counting with configurable exit behaviors.
115
+ *
116
+ * Thread-level: The middleware counts all tool calls in the entire message history
117
+ * and persists this count across multiple runs (invocations) of the agent.
118
+ *
119
+ * Run-level: The middleware counts tool calls made after the last HumanMessage,
120
+ * representing the current run (invocation) of the agent.
121
+ *
122
+ * @param options - Configuration options for the middleware
123
+ * @param options.toolName - Name of the specific tool to limit. If undefined, limits apply to all tools.
124
+ * @param options.threadLimit - Maximum number of tool calls allowed per thread. undefined means no limit.
125
+ * @param options.runLimit - Maximum number of tool calls allowed per run. undefined means no limit.
126
+ * @param options.exitBehavior - What to do when limits are exceeded.
127
+ * - "end": Jump to the end of the agent execution and inject an artificial AI message indicating that the limit was exceeded.
128
+ * - "error": throws a ToolCallLimitExceededError
129
+ *
130
+ * @throws {Error} If both limits are undefined or if exitBehavior is invalid.
131
+ *
132
+ * @example Limit all tool calls globally
133
+ * ```ts
134
+ * import { toolCallLimitMiddleware } from "@langchain/langchain/agents/middleware";
135
+ * import { createAgent } from "@langchain/langchain/agents";
136
+ *
137
+ * const globalLimiter = toolCallLimitMiddleware({
138
+ * threadLimit: 20,
139
+ * runLimit: 10,
140
+ * exitBehavior: "end"
141
+ * });
142
+ *
143
+ * const agent = createAgent({
144
+ * model: "openai:gpt-4o",
145
+ * middleware: [globalLimiter]
146
+ * });
147
+ * ```
148
+ *
149
+ * @example Limit a specific tool
150
+ * ```ts
151
+ * import { toolCallLimitMiddleware } from "@langchain/langchain/agents/middleware";
152
+ * import { createAgent } from "@langchain/langchain/agents";
153
+ *
154
+ * const searchLimiter = toolCallLimitMiddleware({
155
+ * toolName: "search",
156
+ * threadLimit: 5,
157
+ * runLimit: 3,
158
+ * exitBehavior: "end"
159
+ * });
160
+ *
161
+ * const agent = createAgent({
162
+ * model: "openai:gpt-4o",
163
+ * middleware: [searchLimiter]
164
+ * });
165
+ * ```
166
+ *
167
+ * @example Use both in the same agent
168
+ * ```ts
169
+ * import { toolCallLimitMiddleware } from "@langchain/langchain/agents/middleware";
170
+ * import { createAgent } from "@langchain/langchain/agents";
171
+ *
172
+ * const globalLimiter = toolCallLimitMiddleware({
173
+ * threadLimit: 20,
174
+ * runLimit: 10,
175
+ * exitBehavior: "end"
176
+ * });
177
+ *
178
+ * const searchLimiter = toolCallLimitMiddleware({
179
+ * toolName: "search",
180
+ * threadLimit: 5,
181
+ * runLimit: 3,
182
+ * exitBehavior: "end"
183
+ * });
184
+ *
185
+ * const agent = createAgent({
186
+ * model: "openai:gpt-4o",
187
+ * middleware: [globalLimiter, searchLimiter]
188
+ * });
189
+ * ```
190
+ */
191
+ function toolCallLimitMiddleware(options) {
192
+ /**
193
+ * Validate that at least one limit is specified
194
+ */
195
+ if (options.threadLimit === void 0 && options.runLimit === void 0) throw new Error("At least one limit must be specified (threadLimit or runLimit)");
196
+ /**
197
+ * Apply default for exitBehavior and validate
198
+ */
199
+ const exitBehavior = options.exitBehavior ?? "end";
200
+ if (exitBehavior !== "end" && exitBehavior !== "error") throw new Error(`Invalid exit behavior: ${exitBehavior}. Must be 'end' or 'error'`);
201
+ /**
202
+ * Generate the middleware name based on the tool name
203
+ */
204
+ const middlewareName = options.toolName ? `ToolCallLimitMiddleware[${options.toolName}]` : "ToolCallLimitMiddleware";
205
+ return require_middleware.createMiddleware({
206
+ name: middlewareName,
207
+ beforeModelJumpTo: ["end"],
208
+ async beforeModel(state) {
209
+ const messages = state.messages;
210
+ /**
211
+ * Count tool calls in entire thread
212
+ */
213
+ const threadCount = countToolCallsInMessages(messages, options.toolName);
214
+ /**
215
+ * Count tool calls in current run (after last HumanMessage)
216
+ */
217
+ const runMessages = getRunMessages(messages);
218
+ const runCount = countToolCallsInMessages(runMessages, options.toolName);
219
+ /**
220
+ * Check if any limits are exceeded
221
+ */
222
+ const threadLimitExceeded = options.threadLimit !== void 0 && threadCount >= options.threadLimit;
223
+ const runLimitExceeded = options.runLimit !== void 0 && runCount >= options.runLimit;
224
+ if (!threadLimitExceeded && !runLimitExceeded) return void 0;
225
+ if (exitBehavior === "error") throw new ToolCallLimitExceededError(threadCount, runCount, options.threadLimit, options.runLimit, options.toolName);
226
+ /**
227
+ * Create a message indicating the limit was exceeded
228
+ */
229
+ const limitMessage = buildToolLimitExceededMessage(threadCount, runCount, options.threadLimit, options.runLimit, options.toolName);
230
+ const limitAiMessage = new __langchain_core_messages.AIMessage(limitMessage);
231
+ return {
232
+ jumpTo: "end",
233
+ messages: [limitAiMessage]
234
+ };
235
+ }
236
+ });
237
+ }
238
+
239
+ //#endregion
240
+ exports.ToolCallLimitExceededError = ToolCallLimitExceededError;
241
+ exports.toolCallLimitMiddleware = toolCallLimitMiddleware;
242
+ //# sourceMappingURL=toolCallLimit.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolCallLimit.cjs","names":["messages: BaseMessage[]","toolName?: string","AIMessage","HumanMessage","threadCount: number","runCount: number","threadLimit: number | undefined","runLimit: number | undefined","toolName: string | undefined","exceededLimits: string[]","z","options: ToolCallLimitConfig","createMiddleware","state: AgentBuiltInState"],"sources":["../../../../src/agents/middlewareAgent/middleware/toolCallLimit.ts"],"sourcesContent":["/**\n * Tool call limit middleware for agents.\n */\n\nimport { AIMessage, BaseMessage, HumanMessage } from \"@langchain/core/messages\";\nimport { z } from \"zod/v3\";\nimport type { InferInteropZodInput } from \"@langchain/core/utils/types\";\n\nimport { createMiddleware } from \"../middleware.js\";\nimport type { AgentBuiltInState } from \"../types.js\";\n\n/**\n * Count tool calls in a list of messages.\n *\n * @param messages - List of messages to count tool calls in.\n * @param toolName - If specified, only count calls to this specific tool.\n * If undefined, count all tool calls.\n * @returns The total number of tool calls (optionally filtered by toolName).\n */\nfunction countToolCallsInMessages(\n messages: BaseMessage[],\n toolName?: string\n): number {\n let count = 0;\n for (const message of messages) {\n if (AIMessage.isInstance(message) && message.tool_calls) {\n if (toolName === undefined) {\n // Count all tool calls\n count += message.tool_calls.length;\n } else {\n // Count only calls to the specified tool\n count += message.tool_calls.filter((tc) => tc.name === toolName).length;\n }\n }\n }\n return count;\n}\n\n/**\n * Get messages from the current run (after the last HumanMessage).\n *\n * @param messages - Full list of messages.\n * @returns Messages from the current run (after last HumanMessage).\n */\nfunction getRunMessages(messages: BaseMessage[]): BaseMessage[] {\n /**\n * Find the last HumanMessage\n */\n let lastHumanIndex = -1;\n for (let i = messages.length - 1; i >= 0; i--) {\n if (HumanMessage.isInstance(messages[i])) {\n lastHumanIndex = i;\n break;\n }\n }\n\n /**\n * If no HumanMessage found, return all messages\n */\n if (lastHumanIndex === -1) {\n return messages;\n }\n\n /**\n * Return messages after the last HumanMessage\n */\n return messages.slice(lastHumanIndex + 1);\n}\n\n/**\n * Build a message indicating which tool call limits were reached.\n *\n * @param threadCount - Current thread tool call count.\n * @param runCount - Current run tool call count.\n * @param threadLimit - Thread tool call limit (if set).\n * @param runLimit - Run tool call limit (if set).\n * @param toolName - Tool name being limited (if specific tool), or undefined for all tools.\n * @returns A formatted message describing which limits were reached.\n */\nfunction buildToolLimitExceededMessage(\n threadCount: number,\n runCount: number,\n threadLimit: number | undefined,\n runLimit: number | undefined,\n toolName: string | undefined\n): string {\n const toolDesc = toolName ? `'${toolName}' tool call` : \"Tool call\";\n const exceededLimits: string[] = [];\n\n if (threadLimit !== undefined && threadCount >= threadLimit) {\n exceededLimits.push(`thread limit reached (${threadCount}/${threadLimit})`);\n }\n if (runLimit !== undefined && runCount >= runLimit) {\n exceededLimits.push(`run limit reached (${runCount}/${runLimit})`);\n }\n\n return `${toolDesc} limit${\n exceededLimits.length > 1 ? \"s\" : \"\"\n }: ${exceededLimits.join(\", \")}. Stopping to prevent further tool calls.`;\n}\n\n/**\n * Exception raised when tool call limits are exceeded.\n *\n * This exception is raised when the configured exit behavior is 'error'\n * and either the thread or run tool call limit has been exceeded.\n */\nexport class ToolCallLimitExceededError extends Error {\n /**\n * Current thread tool call count.\n */\n threadCount: number;\n /**\n * Current run tool call count.\n */\n runCount: number;\n /**\n * Thread tool call limit (if set).\n */\n threadLimit: number | undefined;\n /**\n * Run tool call limit (if set).\n */\n runLimit: number | undefined;\n /**\n * Tool name being limited (if specific tool), or undefined for all tools.\n */\n toolName: string | undefined;\n\n constructor(\n threadCount: number,\n runCount: number,\n threadLimit: number | undefined,\n runLimit: number | undefined,\n toolName: string | undefined = undefined\n ) {\n const message = buildToolLimitExceededMessage(\n threadCount,\n runCount,\n threadLimit,\n runLimit,\n toolName\n );\n super(message);\n\n this.name = \"ToolCallLimitExceededError\";\n this.threadCount = threadCount;\n this.runCount = runCount;\n this.threadLimit = threadLimit;\n this.runLimit = runLimit;\n this.toolName = toolName;\n }\n}\n\n/**\n * Options for configuring the Tool Call Limit middleware.\n */\nexport const ToolCallLimitOptionsSchema = z.object({\n /**\n * Name of the specific tool to limit. If undefined, limits apply to all tools.\n */\n toolName: z.string().optional(),\n /**\n * Maximum number of tool calls allowed per thread.\n * undefined means no limit.\n */\n threadLimit: z.number().optional(),\n /**\n * Maximum number of tool calls allowed per run.\n * undefined means no limit.\n */\n runLimit: z.number().optional(),\n /**\n * What to do when limits are exceeded.\n * - \"end\": Jump to the end of the agent execution and inject an artificial\n * AI message indicating that the limit was exceeded.\n * - \"error\": throws a ToolCallLimitExceededError\n */\n exitBehavior: z.enum([\"end\", \"error\"]).default(\"end\"),\n});\n\nexport type ToolCallLimitConfig = InferInteropZodInput<\n typeof ToolCallLimitOptionsSchema\n>;\n\n/**\n * Middleware that tracks tool call counts and enforces limits.\n *\n * This middleware monitors the number of tool calls made during agent execution\n * and can terminate the agent when specified limits are reached. It supports\n * both thread-level and run-level call counting with configurable exit behaviors.\n *\n * Thread-level: The middleware counts all tool calls in the entire message history\n * and persists this count across multiple runs (invocations) of the agent.\n *\n * Run-level: The middleware counts tool calls made after the last HumanMessage,\n * representing the current run (invocation) of the agent.\n *\n * @param options - Configuration options for the middleware\n * @param options.toolName - Name of the specific tool to limit. If undefined, limits apply to all tools.\n * @param options.threadLimit - Maximum number of tool calls allowed per thread. undefined means no limit.\n * @param options.runLimit - Maximum number of tool calls allowed per run. undefined means no limit.\n * @param options.exitBehavior - What to do when limits are exceeded.\n * - \"end\": Jump to the end of the agent execution and inject an artificial AI message indicating that the limit was exceeded.\n * - \"error\": throws a ToolCallLimitExceededError\n *\n * @throws {Error} If both limits are undefined or if exitBehavior is invalid.\n *\n * @example Limit all tool calls globally\n * ```ts\n * import { toolCallLimitMiddleware } from \"@langchain/langchain/agents/middleware\";\n * import { createAgent } from \"@langchain/langchain/agents\";\n *\n * const globalLimiter = toolCallLimitMiddleware({\n * threadLimit: 20,\n * runLimit: 10,\n * exitBehavior: \"end\"\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * middleware: [globalLimiter]\n * });\n * ```\n *\n * @example Limit a specific tool\n * ```ts\n * import { toolCallLimitMiddleware } from \"@langchain/langchain/agents/middleware\";\n * import { createAgent } from \"@langchain/langchain/agents\";\n *\n * const searchLimiter = toolCallLimitMiddleware({\n * toolName: \"search\",\n * threadLimit: 5,\n * runLimit: 3,\n * exitBehavior: \"end\"\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * middleware: [searchLimiter]\n * });\n * ```\n *\n * @example Use both in the same agent\n * ```ts\n * import { toolCallLimitMiddleware } from \"@langchain/langchain/agents/middleware\";\n * import { createAgent } from \"@langchain/langchain/agents\";\n *\n * const globalLimiter = toolCallLimitMiddleware({\n * threadLimit: 20,\n * runLimit: 10,\n * exitBehavior: \"end\"\n * });\n *\n * const searchLimiter = toolCallLimitMiddleware({\n * toolName: \"search\",\n * threadLimit: 5,\n * runLimit: 3,\n * exitBehavior: \"end\"\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * middleware: [globalLimiter, searchLimiter]\n * });\n * ```\n */\nexport function toolCallLimitMiddleware(options: ToolCallLimitConfig) {\n /**\n * Validate that at least one limit is specified\n */\n if (options.threadLimit === undefined && options.runLimit === undefined) {\n throw new Error(\n \"At least one limit must be specified (threadLimit or runLimit)\"\n );\n }\n\n /**\n * Apply default for exitBehavior and validate\n */\n const exitBehavior = options.exitBehavior ?? \"end\";\n if (exitBehavior !== \"end\" && exitBehavior !== \"error\") {\n throw new Error(\n `Invalid exit behavior: ${exitBehavior}. Must be 'end' or 'error'`\n );\n }\n\n /**\n * Generate the middleware name based on the tool name\n */\n const middlewareName = options.toolName\n ? `ToolCallLimitMiddleware[${options.toolName}]`\n : \"ToolCallLimitMiddleware\";\n\n return createMiddleware({\n name: middlewareName,\n beforeModelJumpTo: [\"end\"],\n async beforeModel(state: AgentBuiltInState) {\n const messages = state.messages;\n\n /**\n * Count tool calls in entire thread\n */\n const threadCount = countToolCallsInMessages(messages, options.toolName);\n\n /**\n * Count tool calls in current run (after last HumanMessage)\n */\n const runMessages = getRunMessages(messages);\n const runCount = countToolCallsInMessages(runMessages, options.toolName);\n\n /**\n * Check if any limits are exceeded\n */\n const threadLimitExceeded =\n options.threadLimit !== undefined && threadCount >= options.threadLimit;\n const runLimitExceeded =\n options.runLimit !== undefined && runCount >= options.runLimit;\n\n if (!threadLimitExceeded && !runLimitExceeded) {\n return undefined;\n }\n\n if (exitBehavior === \"error\") {\n throw new ToolCallLimitExceededError(\n threadCount,\n runCount,\n options.threadLimit,\n options.runLimit,\n options.toolName\n );\n }\n\n /**\n * Create a message indicating the limit was exceeded\n */\n const limitMessage = buildToolLimitExceededMessage(\n threadCount,\n runCount,\n options.threadLimit,\n options.runLimit,\n options.toolName\n );\n const limitAiMessage = new AIMessage(limitMessage);\n\n return {\n jumpTo: \"end\",\n messages: [limitAiMessage],\n };\n },\n });\n}\n"],"mappings":"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"}