@langchain/classic 1.0.40 → 1.0.42

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 (1420) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/agents/agent.cjs +1 -1
  3. package/dist/agents/agent.cjs.map +1 -1
  4. package/dist/agents/agent.d.cts +1 -2
  5. package/dist/agents/agent.d.cts.map +1 -1
  6. package/dist/agents/agent.d.ts +1 -2
  7. package/dist/agents/agent.d.ts.map +1 -1
  8. package/dist/agents/agent.js +1 -1
  9. package/dist/agents/agent.js.map +1 -1
  10. package/dist/agents/chat/index.cjs +8 -7
  11. package/dist/agents/chat/index.cjs.map +1 -1
  12. package/dist/agents/chat/index.d.cts +0 -1
  13. package/dist/agents/chat/index.d.cts.map +1 -1
  14. package/dist/agents/chat/index.d.ts +0 -1
  15. package/dist/agents/chat/index.d.ts.map +1 -1
  16. package/dist/agents/chat/index.js +8 -6
  17. package/dist/agents/chat/index.js.map +1 -1
  18. package/dist/agents/chat/outputParser.cjs +1 -1
  19. package/dist/agents/chat/outputParser.cjs.map +1 -1
  20. package/dist/agents/chat/outputParser.d.cts +2 -3
  21. package/dist/agents/chat/outputParser.d.cts.map +1 -1
  22. package/dist/agents/chat/outputParser.d.ts +2 -3
  23. package/dist/agents/chat/outputParser.d.ts.map +1 -1
  24. package/dist/agents/chat/outputParser.js +1 -1
  25. package/dist/agents/chat/outputParser.js.map +1 -1
  26. package/dist/agents/chat_convo/index.cjs +9 -9
  27. package/dist/agents/chat_convo/index.cjs.map +1 -1
  28. package/dist/agents/chat_convo/index.d.cts +0 -1
  29. package/dist/agents/chat_convo/index.d.cts.map +1 -1
  30. package/dist/agents/chat_convo/index.d.ts +0 -1
  31. package/dist/agents/chat_convo/index.d.ts.map +1 -1
  32. package/dist/agents/chat_convo/index.js +9 -8
  33. package/dist/agents/chat_convo/index.js.map +1 -1
  34. package/dist/agents/chat_convo/outputParser.cjs +2 -2
  35. package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
  36. package/dist/agents/chat_convo/outputParser.d.cts +0 -1
  37. package/dist/agents/chat_convo/outputParser.d.cts.map +1 -1
  38. package/dist/agents/chat_convo/outputParser.d.ts +0 -1
  39. package/dist/agents/chat_convo/outputParser.d.ts.map +1 -1
  40. package/dist/agents/chat_convo/outputParser.js +2 -1
  41. package/dist/agents/chat_convo/outputParser.js.map +1 -1
  42. package/dist/agents/executor.cjs +2 -1
  43. package/dist/agents/executor.cjs.map +1 -1
  44. package/dist/agents/executor.d.cts +10 -10
  45. package/dist/agents/executor.d.cts.map +1 -1
  46. package/dist/agents/executor.d.ts +10 -10
  47. package/dist/agents/executor.d.ts.map +1 -1
  48. package/dist/agents/executor.js +1 -1
  49. package/dist/agents/executor.js.map +1 -1
  50. package/dist/agents/format_scratchpad/log.cjs.map +1 -1
  51. package/dist/agents/format_scratchpad/log.d.cts +0 -1
  52. package/dist/agents/format_scratchpad/log.d.cts.map +1 -1
  53. package/dist/agents/format_scratchpad/log.d.ts +0 -1
  54. package/dist/agents/format_scratchpad/log.d.ts.map +1 -1
  55. package/dist/agents/format_scratchpad/log.js.map +1 -1
  56. package/dist/agents/format_scratchpad/log_to_message.cjs.map +1 -1
  57. package/dist/agents/format_scratchpad/log_to_message.d.cts +0 -1
  58. package/dist/agents/format_scratchpad/log_to_message.d.cts.map +1 -1
  59. package/dist/agents/format_scratchpad/log_to_message.d.ts +0 -1
  60. package/dist/agents/format_scratchpad/log_to_message.d.ts.map +1 -1
  61. package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
  62. package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
  63. package/dist/agents/format_scratchpad/openai_functions.d.cts +0 -1
  64. package/dist/agents/format_scratchpad/openai_functions.d.cts.map +1 -1
  65. package/dist/agents/format_scratchpad/openai_functions.d.ts +0 -1
  66. package/dist/agents/format_scratchpad/openai_functions.d.ts.map +1 -1
  67. package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
  68. package/dist/agents/format_scratchpad/tool_calling.cjs +1 -1
  69. package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
  70. package/dist/agents/format_scratchpad/tool_calling.d.cts +0 -1
  71. package/dist/agents/format_scratchpad/tool_calling.d.cts.map +1 -1
  72. package/dist/agents/format_scratchpad/tool_calling.d.ts +0 -1
  73. package/dist/agents/format_scratchpad/tool_calling.d.ts.map +1 -1
  74. package/dist/agents/format_scratchpad/tool_calling.js +1 -1
  75. package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
  76. package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
  77. package/dist/agents/format_scratchpad/xml.d.cts +0 -1
  78. package/dist/agents/format_scratchpad/xml.d.cts.map +1 -1
  79. package/dist/agents/format_scratchpad/xml.d.ts +0 -1
  80. package/dist/agents/format_scratchpad/xml.d.ts.map +1 -1
  81. package/dist/agents/format_scratchpad/xml.js.map +1 -1
  82. package/dist/agents/helpers.cjs.map +1 -1
  83. package/dist/agents/helpers.js.map +1 -1
  84. package/dist/agents/index.d.cts +1 -0
  85. package/dist/agents/index.d.ts +1 -0
  86. package/dist/agents/initialize.cjs.map +1 -1
  87. package/dist/agents/initialize.d.cts +0 -1
  88. package/dist/agents/initialize.d.cts.map +1 -1
  89. package/dist/agents/initialize.d.ts +0 -1
  90. package/dist/agents/initialize.d.ts.map +1 -1
  91. package/dist/agents/initialize.js.map +1 -1
  92. package/dist/agents/load.cjs +1 -1
  93. package/dist/agents/load.cjs.map +1 -1
  94. package/dist/agents/load.d.cts +0 -1
  95. package/dist/agents/load.d.cts.map +1 -1
  96. package/dist/agents/load.d.ts +0 -1
  97. package/dist/agents/load.d.ts.map +1 -1
  98. package/dist/agents/load.js +1 -1
  99. package/dist/agents/load.js.map +1 -1
  100. package/dist/agents/mrkl/index.cjs +6 -6
  101. package/dist/agents/mrkl/index.cjs.map +1 -1
  102. package/dist/agents/mrkl/index.d.cts +0 -1
  103. package/dist/agents/mrkl/index.d.cts.map +1 -1
  104. package/dist/agents/mrkl/index.d.ts +0 -1
  105. package/dist/agents/mrkl/index.d.ts.map +1 -1
  106. package/dist/agents/mrkl/index.js +6 -5
  107. package/dist/agents/mrkl/index.js.map +1 -1
  108. package/dist/agents/mrkl/outputParser.cjs +3 -1
  109. package/dist/agents/mrkl/outputParser.cjs.map +1 -1
  110. package/dist/agents/mrkl/outputParser.d.cts +0 -1
  111. package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
  112. package/dist/agents/mrkl/outputParser.d.ts +0 -1
  113. package/dist/agents/mrkl/outputParser.d.ts.map +1 -1
  114. package/dist/agents/mrkl/outputParser.js +3 -1
  115. package/dist/agents/mrkl/outputParser.js.map +1 -1
  116. package/dist/agents/openai/output_parser.d.cts +1 -1
  117. package/dist/agents/openai/output_parser.d.ts +1 -1
  118. package/dist/agents/openai_functions/index.cjs +6 -6
  119. package/dist/agents/openai_functions/index.cjs.map +1 -1
  120. package/dist/agents/openai_functions/index.d.cts +6 -9
  121. package/dist/agents/openai_functions/index.d.cts.map +1 -1
  122. package/dist/agents/openai_functions/index.d.ts +6 -9
  123. package/dist/agents/openai_functions/index.d.ts.map +1 -1
  124. package/dist/agents/openai_functions/index.js +6 -5
  125. package/dist/agents/openai_functions/index.js.map +1 -1
  126. package/dist/agents/openai_functions/output_parser.cjs +0 -1
  127. package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
  128. package/dist/agents/openai_functions/output_parser.d.cts +0 -1
  129. package/dist/agents/openai_functions/output_parser.d.cts.map +1 -1
  130. package/dist/agents/openai_functions/output_parser.d.ts +0 -1
  131. package/dist/agents/openai_functions/output_parser.d.ts.map +1 -1
  132. package/dist/agents/openai_functions/output_parser.js.map +1 -1
  133. package/dist/agents/openai_tools/index.cjs +1 -1
  134. package/dist/agents/openai_tools/index.cjs.map +1 -1
  135. package/dist/agents/openai_tools/index.d.cts +7 -12
  136. package/dist/agents/openai_tools/index.d.cts.map +1 -1
  137. package/dist/agents/openai_tools/index.d.ts +7 -12
  138. package/dist/agents/openai_tools/index.d.ts.map +1 -1
  139. package/dist/agents/openai_tools/index.js +1 -1
  140. package/dist/agents/openai_tools/index.js.map +1 -1
  141. package/dist/agents/openai_tools/output_parser.cjs +0 -1
  142. package/dist/agents/openai_tools/output_parser.cjs.map +1 -1
  143. package/dist/agents/openai_tools/output_parser.d.cts +1 -2
  144. package/dist/agents/openai_tools/output_parser.d.cts.map +1 -1
  145. package/dist/agents/openai_tools/output_parser.d.ts +1 -2
  146. package/dist/agents/openai_tools/output_parser.d.ts.map +1 -1
  147. package/dist/agents/openai_tools/output_parser.js.map +1 -1
  148. package/dist/agents/react/index.cjs +0 -1
  149. package/dist/agents/react/index.cjs.map +1 -1
  150. package/dist/agents/react/index.d.cts +5 -10
  151. package/dist/agents/react/index.d.cts.map +1 -1
  152. package/dist/agents/react/index.d.ts +5 -10
  153. package/dist/agents/react/index.d.ts.map +1 -1
  154. package/dist/agents/react/index.js.map +1 -1
  155. package/dist/agents/react/output_parser.cjs.map +1 -1
  156. package/dist/agents/react/output_parser.d.cts +0 -1
  157. package/dist/agents/react/output_parser.d.cts.map +1 -1
  158. package/dist/agents/react/output_parser.d.ts +0 -1
  159. package/dist/agents/react/output_parser.d.ts.map +1 -1
  160. package/dist/agents/react/output_parser.js.map +1 -1
  161. package/dist/agents/structured_chat/index.cjs +6 -6
  162. package/dist/agents/structured_chat/index.cjs.map +1 -1
  163. package/dist/agents/structured_chat/index.d.cts +5 -10
  164. package/dist/agents/structured_chat/index.d.cts.map +1 -1
  165. package/dist/agents/structured_chat/index.d.ts +5 -10
  166. package/dist/agents/structured_chat/index.d.ts.map +1 -1
  167. package/dist/agents/structured_chat/index.js +6 -5
  168. package/dist/agents/structured_chat/index.js.map +1 -1
  169. package/dist/agents/structured_chat/outputParser.cjs +2 -2
  170. package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
  171. package/dist/agents/structured_chat/outputParser.d.cts +0 -1
  172. package/dist/agents/structured_chat/outputParser.d.cts.map +1 -1
  173. package/dist/agents/structured_chat/outputParser.d.ts +0 -1
  174. package/dist/agents/structured_chat/outputParser.d.ts.map +1 -1
  175. package/dist/agents/structured_chat/outputParser.js +2 -1
  176. package/dist/agents/structured_chat/outputParser.js.map +1 -1
  177. package/dist/agents/tool_calling/index.cjs +0 -1
  178. package/dist/agents/tool_calling/index.cjs.map +1 -1
  179. package/dist/agents/tool_calling/index.d.cts +6 -11
  180. package/dist/agents/tool_calling/index.d.cts.map +1 -1
  181. package/dist/agents/tool_calling/index.d.ts +6 -11
  182. package/dist/agents/tool_calling/index.d.ts.map +1 -1
  183. package/dist/agents/tool_calling/index.js.map +1 -1
  184. package/dist/agents/tool_calling/output_parser.cjs +1 -1
  185. package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
  186. package/dist/agents/tool_calling/output_parser.d.cts +1 -1
  187. package/dist/agents/tool_calling/output_parser.d.cts.map +1 -1
  188. package/dist/agents/tool_calling/output_parser.d.ts +1 -1
  189. package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
  190. package/dist/agents/tool_calling/output_parser.js +1 -1
  191. package/dist/agents/tool_calling/output_parser.js.map +1 -1
  192. package/dist/agents/toolkits/base.cjs +0 -1
  193. package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.map +1 -1
  194. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts +0 -1
  195. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts.map +1 -1
  196. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +0 -1
  197. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts.map +1 -1
  198. package/dist/agents/toolkits/conversational_retrieval/openai_functions.js.map +1 -1
  199. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +0 -1
  200. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
  201. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts +2 -4
  202. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts.map +1 -1
  203. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +2 -4
  204. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts.map +1 -1
  205. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
  206. package/dist/agents/toolkits/conversational_retrieval/tool.cjs +0 -1
  207. package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
  208. package/dist/agents/toolkits/conversational_retrieval/tool.d.cts +0 -1
  209. package/dist/agents/toolkits/conversational_retrieval/tool.d.cts.map +1 -1
  210. package/dist/agents/toolkits/conversational_retrieval/tool.d.ts +0 -1
  211. package/dist/agents/toolkits/conversational_retrieval/tool.d.ts.map +1 -1
  212. package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
  213. package/dist/agents/toolkits/json/json.cjs +1 -1
  214. package/dist/agents/toolkits/json/json.cjs.map +1 -1
  215. package/dist/agents/toolkits/json/json.d.cts +0 -1
  216. package/dist/agents/toolkits/json/json.d.cts.map +1 -1
  217. package/dist/agents/toolkits/json/json.d.ts +0 -1
  218. package/dist/agents/toolkits/json/json.d.ts.map +1 -1
  219. package/dist/agents/toolkits/json/json.js +1 -0
  220. package/dist/agents/toolkits/json/json.js.map +1 -1
  221. package/dist/agents/toolkits/openapi/openapi.cjs +0 -1
  222. package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
  223. package/dist/agents/toolkits/openapi/openapi.d.cts +0 -1
  224. package/dist/agents/toolkits/openapi/openapi.d.cts.map +1 -1
  225. package/dist/agents/toolkits/openapi/openapi.d.ts +0 -1
  226. package/dist/agents/toolkits/openapi/openapi.d.ts.map +1 -1
  227. package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
  228. package/dist/agents/toolkits/sql/prompt.d.cts.map +1 -1
  229. package/dist/agents/toolkits/sql/prompt.d.ts.map +1 -1
  230. package/dist/agents/toolkits/sql/sql.cjs +0 -1
  231. package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
  232. package/dist/agents/toolkits/sql/sql.d.cts +0 -1
  233. package/dist/agents/toolkits/sql/sql.d.cts.map +1 -1
  234. package/dist/agents/toolkits/sql/sql.d.ts +0 -1
  235. package/dist/agents/toolkits/sql/sql.d.ts.map +1 -1
  236. package/dist/agents/toolkits/sql/sql.js.map +1 -1
  237. package/dist/agents/toolkits/vectorstore/vectorstore.cjs +0 -1
  238. package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
  239. package/dist/agents/toolkits/vectorstore/vectorstore.d.cts +0 -1
  240. package/dist/agents/toolkits/vectorstore/vectorstore.d.cts.map +1 -1
  241. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +0 -1
  242. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts.map +1 -1
  243. package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
  244. package/dist/agents/types.cjs +0 -1
  245. package/dist/agents/types.cjs.map +1 -1
  246. package/dist/agents/types.d.cts +1 -2
  247. package/dist/agents/types.d.cts.map +1 -1
  248. package/dist/agents/types.d.ts +1 -2
  249. package/dist/agents/types.d.ts.map +1 -1
  250. package/dist/agents/types.js.map +1 -1
  251. package/dist/agents/xml/index.cjs +6 -6
  252. package/dist/agents/xml/index.cjs.map +1 -1
  253. package/dist/agents/xml/index.d.cts +4 -8
  254. package/dist/agents/xml/index.d.cts.map +1 -1
  255. package/dist/agents/xml/index.d.ts +4 -8
  256. package/dist/agents/xml/index.d.ts.map +1 -1
  257. package/dist/agents/xml/index.js +6 -5
  258. package/dist/agents/xml/index.js.map +1 -1
  259. package/dist/agents/xml/output_parser.cjs.map +1 -1
  260. package/dist/agents/xml/output_parser.d.cts +0 -1
  261. package/dist/agents/xml/output_parser.d.cts.map +1 -1
  262. package/dist/agents/xml/output_parser.d.ts +0 -1
  263. package/dist/agents/xml/output_parser.d.ts.map +1 -1
  264. package/dist/agents/xml/output_parser.js.map +1 -1
  265. package/dist/cache/file_system.cjs.map +1 -1
  266. package/dist/cache/file_system.d.cts +0 -1
  267. package/dist/cache/file_system.d.cts.map +1 -1
  268. package/dist/cache/file_system.d.ts +0 -1
  269. package/dist/cache/file_system.d.ts.map +1 -1
  270. package/dist/cache/file_system.js.map +1 -1
  271. package/dist/callbacks/handlers/console.d.cts +0 -3
  272. package/dist/callbacks/handlers/console.d.ts +0 -3
  273. package/dist/callbacks/handlers/run_collector.d.cts +0 -3
  274. package/dist/callbacks/handlers/run_collector.d.ts +0 -3
  275. package/dist/callbacks/handlers/tracer.d.cts +0 -3
  276. package/dist/callbacks/handlers/tracer.d.ts +0 -3
  277. package/dist/callbacks/handlers/tracer_langchain.d.cts +0 -3
  278. package/dist/callbacks/handlers/tracer_langchain.d.ts +0 -3
  279. package/dist/callbacks/promises.d.cts +0 -3
  280. package/dist/callbacks/promises.d.ts +0 -3
  281. package/dist/chains/analyze_documents_chain.cjs +0 -1
  282. package/dist/chains/analyze_documents_chain.cjs.map +1 -1
  283. package/dist/chains/analyze_documents_chain.d.cts +1 -2
  284. package/dist/chains/analyze_documents_chain.d.cts.map +1 -1
  285. package/dist/chains/analyze_documents_chain.d.ts +1 -2
  286. package/dist/chains/analyze_documents_chain.d.ts.map +1 -1
  287. package/dist/chains/analyze_documents_chain.js.map +1 -1
  288. package/dist/chains/api/api_chain.cjs.map +1 -1
  289. package/dist/chains/api/api_chain.d.cts +0 -1
  290. package/dist/chains/api/api_chain.d.cts.map +1 -1
  291. package/dist/chains/api/api_chain.d.ts +0 -1
  292. package/dist/chains/api/api_chain.d.ts.map +1 -1
  293. package/dist/chains/api/api_chain.js.map +1 -1
  294. package/dist/chains/api/prompts.cjs +4 -3
  295. package/dist/chains/api/prompts.cjs.map +1 -1
  296. package/dist/chains/api/prompts.js +12 -11
  297. package/dist/chains/api/prompts.js.map +1 -1
  298. package/dist/chains/base.cjs +0 -1
  299. package/dist/chains/base.cjs.map +1 -1
  300. package/dist/chains/base.d.cts +7 -8
  301. package/dist/chains/base.d.cts.map +1 -1
  302. package/dist/chains/base.d.ts +7 -8
  303. package/dist/chains/base.d.ts.map +1 -1
  304. package/dist/chains/base.js.map +1 -1
  305. package/dist/chains/chat_vector_db_chain.cjs +0 -1
  306. package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
  307. package/dist/chains/chat_vector_db_chain.d.cts +1 -2
  308. package/dist/chains/chat_vector_db_chain.d.cts.map +1 -1
  309. package/dist/chains/chat_vector_db_chain.d.ts +1 -2
  310. package/dist/chains/chat_vector_db_chain.d.ts.map +1 -1
  311. package/dist/chains/chat_vector_db_chain.js.map +1 -1
  312. package/dist/chains/combine_docs_chain.cjs +1 -2
  313. package/dist/chains/combine_docs_chain.cjs.map +1 -1
  314. package/dist/chains/combine_docs_chain.d.cts +1 -3
  315. package/dist/chains/combine_docs_chain.d.cts.map +1 -1
  316. package/dist/chains/combine_docs_chain.d.ts +1 -3
  317. package/dist/chains/combine_docs_chain.d.ts.map +1 -1
  318. package/dist/chains/combine_docs_chain.js +1 -1
  319. package/dist/chains/combine_docs_chain.js.map +1 -1
  320. package/dist/chains/combine_documents/base.cjs +1 -2
  321. package/dist/chains/combine_documents/base.cjs.map +1 -1
  322. package/dist/chains/combine_documents/base.js +1 -1
  323. package/dist/chains/combine_documents/base.js.map +1 -1
  324. package/dist/chains/combine_documents/reduce.cjs.map +1 -1
  325. package/dist/chains/combine_documents/reduce.d.cts +0 -1
  326. package/dist/chains/combine_documents/reduce.d.cts.map +1 -1
  327. package/dist/chains/combine_documents/reduce.d.ts +0 -1
  328. package/dist/chains/combine_documents/reduce.d.ts.map +1 -1
  329. package/dist/chains/combine_documents/reduce.js.map +1 -1
  330. package/dist/chains/combine_documents/stuff.cjs +0 -1
  331. package/dist/chains/combine_documents/stuff.cjs.map +1 -1
  332. package/dist/chains/combine_documents/stuff.d.cts +1 -8
  333. package/dist/chains/combine_documents/stuff.d.cts.map +1 -1
  334. package/dist/chains/combine_documents/stuff.d.ts +1 -8
  335. package/dist/chains/combine_documents/stuff.d.ts.map +1 -1
  336. package/dist/chains/combine_documents/stuff.js.map +1 -1
  337. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
  338. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -1
  339. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +1 -1
  340. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -1
  341. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +1 -1
  342. package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
  343. package/dist/chains/constitutional_ai/constitutional_principle.cjs +54 -54
  344. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
  345. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +1 -6
  346. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +1 -1
  347. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +1 -6
  348. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +1 -1
  349. package/dist/chains/constitutional_ai/constitutional_principle.js +54 -54
  350. package/dist/chains/constitutional_ai/constitutional_principle.js.map +1 -1
  351. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -4
  352. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
  353. package/dist/chains/constitutional_ai/constitutional_prompts.js +4 -4
  354. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
  355. package/dist/chains/conversation.cjs +0 -1
  356. package/dist/chains/conversation.cjs.map +1 -1
  357. package/dist/chains/conversation.d.cts +1 -7
  358. package/dist/chains/conversation.d.cts.map +1 -1
  359. package/dist/chains/conversation.d.ts +1 -7
  360. package/dist/chains/conversation.d.ts.map +1 -1
  361. package/dist/chains/conversation.js.map +1 -1
  362. package/dist/chains/conversational_retrieval_chain.cjs +0 -1
  363. package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
  364. package/dist/chains/conversational_retrieval_chain.d.cts +5 -4
  365. package/dist/chains/conversational_retrieval_chain.d.cts.map +1 -1
  366. package/dist/chains/conversational_retrieval_chain.d.ts +5 -4
  367. package/dist/chains/conversational_retrieval_chain.d.ts.map +1 -1
  368. package/dist/chains/conversational_retrieval_chain.js.map +1 -1
  369. package/dist/chains/graph_qa/cypher.cjs +5 -4
  370. package/dist/chains/graph_qa/cypher.cjs.map +1 -1
  371. package/dist/chains/graph_qa/cypher.d.cts +0 -1
  372. package/dist/chains/graph_qa/cypher.d.cts.map +1 -1
  373. package/dist/chains/graph_qa/cypher.d.ts +0 -1
  374. package/dist/chains/graph_qa/cypher.d.ts.map +1 -1
  375. package/dist/chains/graph_qa/cypher.js +5 -4
  376. package/dist/chains/graph_qa/cypher.js.map +1 -1
  377. package/dist/chains/graph_qa/prompts.cjs +2 -3
  378. package/dist/chains/graph_qa/prompts.cjs.map +1 -1
  379. package/dist/chains/graph_qa/prompts.js +2 -2
  380. package/dist/chains/graph_qa/prompts.js.map +1 -1
  381. package/dist/chains/history_aware_retriever.cjs.map +1 -1
  382. package/dist/chains/history_aware_retriever.d.cts +1 -6
  383. package/dist/chains/history_aware_retriever.d.cts.map +1 -1
  384. package/dist/chains/history_aware_retriever.d.ts +1 -6
  385. package/dist/chains/history_aware_retriever.d.ts.map +1 -1
  386. package/dist/chains/history_aware_retriever.js.map +1 -1
  387. package/dist/chains/llm_chain.cjs +0 -1
  388. package/dist/chains/llm_chain.cjs.map +1 -1
  389. package/dist/chains/llm_chain.d.cts +0 -1
  390. package/dist/chains/llm_chain.d.cts.map +1 -1
  391. package/dist/chains/llm_chain.d.ts +0 -1
  392. package/dist/chains/llm_chain.d.ts.map +1 -1
  393. package/dist/chains/llm_chain.js.map +1 -1
  394. package/dist/chains/load.cjs +1 -1
  395. package/dist/chains/load.cjs.map +1 -1
  396. package/dist/chains/load.d.cts +0 -1
  397. package/dist/chains/load.d.cts.map +1 -1
  398. package/dist/chains/load.d.ts +0 -1
  399. package/dist/chains/load.d.ts.map +1 -1
  400. package/dist/chains/load.js +1 -1
  401. package/dist/chains/load.js.map +1 -1
  402. package/dist/chains/openai_functions/base.cjs +0 -1
  403. package/dist/chains/openai_functions/base.cjs.map +1 -1
  404. package/dist/chains/openai_functions/base.d.cts +6 -4
  405. package/dist/chains/openai_functions/base.d.cts.map +1 -1
  406. package/dist/chains/openai_functions/base.d.ts +6 -4
  407. package/dist/chains/openai_functions/base.d.ts.map +1 -1
  408. package/dist/chains/openai_functions/base.js.map +1 -1
  409. package/dist/chains/openai_functions/extraction.cjs +0 -1
  410. package/dist/chains/openai_functions/extraction.cjs.map +1 -1
  411. package/dist/chains/openai_functions/extraction.d.cts +0 -1
  412. package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
  413. package/dist/chains/openai_functions/extraction.d.ts +0 -1
  414. package/dist/chains/openai_functions/extraction.d.ts.map +1 -1
  415. package/dist/chains/openai_functions/extraction.js.map +1 -1
  416. package/dist/chains/openai_functions/openapi.cjs +1 -1
  417. package/dist/chains/openai_functions/openapi.cjs.map +1 -1
  418. package/dist/chains/openai_functions/openapi.d.cts +0 -7
  419. package/dist/chains/openai_functions/openapi.d.cts.map +1 -1
  420. package/dist/chains/openai_functions/openapi.d.ts +0 -7
  421. package/dist/chains/openai_functions/openapi.d.ts.map +1 -1
  422. package/dist/chains/openai_functions/openapi.js +1 -1
  423. package/dist/chains/openai_functions/openapi.js.map +1 -1
  424. package/dist/chains/openai_functions/tagging.cjs +0 -1
  425. package/dist/chains/openai_functions/tagging.cjs.map +1 -1
  426. package/dist/chains/openai_functions/tagging.d.cts +0 -1
  427. package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
  428. package/dist/chains/openai_functions/tagging.d.ts +0 -1
  429. package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
  430. package/dist/chains/openai_functions/tagging.js.map +1 -1
  431. package/dist/chains/openai_moderation.cjs +0 -1
  432. package/dist/chains/openai_moderation.cjs.map +1 -1
  433. package/dist/chains/openai_moderation.d.cts +0 -1
  434. package/dist/chains/openai_moderation.d.cts.map +1 -1
  435. package/dist/chains/openai_moderation.d.ts +0 -1
  436. package/dist/chains/openai_moderation.d.ts.map +1 -1
  437. package/dist/chains/openai_moderation.js.map +1 -1
  438. package/dist/chains/query_constructor/index.cjs +6 -3
  439. package/dist/chains/query_constructor/index.cjs.map +1 -1
  440. package/dist/chains/query_constructor/index.d.cts +1 -5
  441. package/dist/chains/query_constructor/index.d.cts.map +1 -1
  442. package/dist/chains/query_constructor/index.d.ts +1 -5
  443. package/dist/chains/query_constructor/index.d.ts.map +1 -1
  444. package/dist/chains/query_constructor/index.js +6 -3
  445. package/dist/chains/query_constructor/index.js.map +1 -1
  446. package/dist/chains/query_constructor/parser.cjs +2 -1
  447. package/dist/chains/query_constructor/parser.cjs.map +1 -1
  448. package/dist/chains/query_constructor/parser.d.cts +0 -1
  449. package/dist/chains/query_constructor/parser.d.cts.map +1 -1
  450. package/dist/chains/query_constructor/parser.d.ts +0 -1
  451. package/dist/chains/query_constructor/parser.d.ts.map +1 -1
  452. package/dist/chains/query_constructor/parser.js +2 -0
  453. package/dist/chains/query_constructor/parser.js.map +1 -1
  454. package/dist/chains/query_constructor/prompt.cjs +28 -22
  455. package/dist/chains/query_constructor/prompt.cjs.map +1 -1
  456. package/dist/chains/query_constructor/prompt.d.cts +0 -1
  457. package/dist/chains/query_constructor/prompt.d.cts.map +1 -1
  458. package/dist/chains/query_constructor/prompt.d.ts +0 -1
  459. package/dist/chains/query_constructor/prompt.d.ts.map +1 -1
  460. package/dist/chains/query_constructor/prompt.js +25 -22
  461. package/dist/chains/query_constructor/prompt.js.map +1 -1
  462. package/dist/chains/question_answering/load.cjs.map +1 -1
  463. package/dist/chains/question_answering/load.d.cts +0 -1
  464. package/dist/chains/question_answering/load.d.cts.map +1 -1
  465. package/dist/chains/question_answering/load.d.ts +0 -1
  466. package/dist/chains/question_answering/load.d.ts.map +1 -1
  467. package/dist/chains/question_answering/load.js.map +1 -1
  468. package/dist/chains/question_answering/map_reduce_prompts.cjs +12 -11
  469. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
  470. package/dist/chains/question_answering/map_reduce_prompts.js +9 -9
  471. package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
  472. package/dist/chains/question_answering/refine_prompts.cjs +30 -22
  473. package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
  474. package/dist/chains/question_answering/refine_prompts.js +25 -20
  475. package/dist/chains/question_answering/refine_prompts.js.map +1 -1
  476. package/dist/chains/question_answering/stuff_prompts.cjs +6 -6
  477. package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
  478. package/dist/chains/question_answering/stuff_prompts.js +5 -5
  479. package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
  480. package/dist/chains/retrieval.cjs.map +1 -1
  481. package/dist/chains/retrieval.d.cts +1 -5
  482. package/dist/chains/retrieval.d.cts.map +1 -1
  483. package/dist/chains/retrieval.d.ts +1 -5
  484. package/dist/chains/retrieval.d.ts.map +1 -1
  485. package/dist/chains/retrieval.js.map +1 -1
  486. package/dist/chains/retrieval_qa.cjs.map +1 -1
  487. package/dist/chains/retrieval_qa.d.cts +1 -2
  488. package/dist/chains/retrieval_qa.d.cts.map +1 -1
  489. package/dist/chains/retrieval_qa.d.ts +1 -2
  490. package/dist/chains/retrieval_qa.d.ts.map +1 -1
  491. package/dist/chains/retrieval_qa.js.map +1 -1
  492. package/dist/chains/router/llm_router.cjs.map +1 -1
  493. package/dist/chains/router/llm_router.d.cts +0 -1
  494. package/dist/chains/router/llm_router.d.cts.map +1 -1
  495. package/dist/chains/router/llm_router.d.ts +0 -1
  496. package/dist/chains/router/llm_router.d.ts.map +1 -1
  497. package/dist/chains/router/llm_router.js.map +1 -1
  498. package/dist/chains/router/multi_prompt.cjs +0 -1
  499. package/dist/chains/router/multi_prompt.cjs.map +1 -1
  500. package/dist/chains/router/multi_prompt.d.cts +1 -10
  501. package/dist/chains/router/multi_prompt.d.cts.map +1 -1
  502. package/dist/chains/router/multi_prompt.d.ts +1 -10
  503. package/dist/chains/router/multi_prompt.d.ts.map +1 -1
  504. package/dist/chains/router/multi_prompt.js.map +1 -1
  505. package/dist/chains/router/multi_retrieval_qa.cjs +0 -1
  506. package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
  507. package/dist/chains/router/multi_retrieval_qa.d.cts +2 -11
  508. package/dist/chains/router/multi_retrieval_qa.d.cts.map +1 -1
  509. package/dist/chains/router/multi_retrieval_qa.d.ts +2 -11
  510. package/dist/chains/router/multi_retrieval_qa.d.ts.map +1 -1
  511. package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
  512. package/dist/chains/router/multi_route.cjs.map +1 -1
  513. package/dist/chains/router/multi_route.d.cts +1 -2
  514. package/dist/chains/router/multi_route.d.cts.map +1 -1
  515. package/dist/chains/router/multi_route.d.ts +1 -2
  516. package/dist/chains/router/multi_route.d.ts.map +1 -1
  517. package/dist/chains/router/multi_route.js.map +1 -1
  518. package/dist/chains/router/utils.cjs.map +1 -1
  519. package/dist/chains/router/utils.js.map +1 -1
  520. package/dist/chains/sequential_chain.cjs.map +1 -1
  521. package/dist/chains/sequential_chain.d.cts +0 -4
  522. package/dist/chains/sequential_chain.d.cts.map +1 -1
  523. package/dist/chains/sequential_chain.d.ts +0 -4
  524. package/dist/chains/sequential_chain.d.ts.map +1 -1
  525. package/dist/chains/sequential_chain.js.map +1 -1
  526. package/dist/chains/serde.d.cts +1 -2
  527. package/dist/chains/serde.d.cts.map +1 -1
  528. package/dist/chains/serde.d.ts +1 -2
  529. package/dist/chains/serde.d.ts.map +1 -1
  530. package/dist/chains/sql_db/sql_db_chain.cjs +1 -2
  531. package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
  532. package/dist/chains/sql_db/sql_db_chain.d.cts +9 -8
  533. package/dist/chains/sql_db/sql_db_chain.d.cts.map +1 -1
  534. package/dist/chains/sql_db/sql_db_chain.d.ts +9 -8
  535. package/dist/chains/sql_db/sql_db_chain.d.ts.map +1 -1
  536. package/dist/chains/sql_db/sql_db_chain.js +1 -1
  537. package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
  538. package/dist/chains/sql_db/sql_db_prompt.cjs +7 -8
  539. package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
  540. package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -1
  541. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
  542. package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -1
  543. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
  544. package/dist/chains/sql_db/sql_db_prompt.js +7 -7
  545. package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
  546. package/dist/chains/summarization/load.cjs.map +1 -1
  547. package/dist/chains/summarization/load.d.cts +0 -1
  548. package/dist/chains/summarization/load.d.cts.map +1 -1
  549. package/dist/chains/summarization/load.d.ts +0 -1
  550. package/dist/chains/summarization/load.d.ts.map +1 -1
  551. package/dist/chains/summarization/load.js.map +1 -1
  552. package/dist/chains/summarization/refine_prompts.cjs +1 -2
  553. package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
  554. package/dist/chains/summarization/refine_prompts.js +1 -1
  555. package/dist/chains/summarization/refine_prompts.js.map +1 -1
  556. package/dist/chains/summarization/stuff_prompts.cjs +1 -2
  557. package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
  558. package/dist/chains/summarization/stuff_prompts.js +1 -1
  559. package/dist/chains/summarization/stuff_prompts.js.map +1 -1
  560. package/dist/chains/transform.cjs.map +1 -1
  561. package/dist/chains/transform.d.cts +0 -1
  562. package/dist/chains/transform.d.cts.map +1 -1
  563. package/dist/chains/transform.d.ts +0 -1
  564. package/dist/chains/transform.d.ts.map +1 -1
  565. package/dist/chains/transform.js.map +1 -1
  566. package/dist/chains/vector_db_qa.cjs.map +1 -1
  567. package/dist/chains/vector_db_qa.d.cts +1 -2
  568. package/dist/chains/vector_db_qa.d.cts.map +1 -1
  569. package/dist/chains/vector_db_qa.d.ts +1 -2
  570. package/dist/chains/vector_db_qa.d.ts.map +1 -1
  571. package/dist/chains/vector_db_qa.js.map +1 -1
  572. package/dist/chat_models/universal.cjs.map +1 -1
  573. package/dist/chat_models/universal.d.cts +0 -1
  574. package/dist/chat_models/universal.d.cts.map +1 -1
  575. package/dist/chat_models/universal.d.ts +0 -1
  576. package/dist/chat_models/universal.d.ts.map +1 -1
  577. package/dist/chat_models/universal.js.map +1 -1
  578. package/dist/document_loaders/fs/buffer.cjs +1 -0
  579. package/dist/document_loaders/fs/buffer.cjs.map +1 -1
  580. package/dist/document_loaders/fs/buffer.d.cts +0 -1
  581. package/dist/document_loaders/fs/buffer.d.cts.map +1 -1
  582. package/dist/document_loaders/fs/buffer.d.ts +0 -1
  583. package/dist/document_loaders/fs/buffer.d.ts.map +1 -1
  584. package/dist/document_loaders/fs/buffer.js +1 -0
  585. package/dist/document_loaders/fs/buffer.js.map +1 -1
  586. package/dist/document_loaders/fs/directory.cjs +4 -0
  587. package/dist/document_loaders/fs/directory.cjs.map +1 -1
  588. package/dist/document_loaders/fs/directory.d.cts +0 -1
  589. package/dist/document_loaders/fs/directory.d.cts.map +1 -1
  590. package/dist/document_loaders/fs/directory.d.ts +0 -1
  591. package/dist/document_loaders/fs/directory.d.ts.map +1 -1
  592. package/dist/document_loaders/fs/directory.js +4 -0
  593. package/dist/document_loaders/fs/directory.js.map +1 -1
  594. package/dist/document_loaders/fs/json.cjs +1 -0
  595. package/dist/document_loaders/fs/json.cjs.map +1 -1
  596. package/dist/document_loaders/fs/json.d.cts +0 -1
  597. package/dist/document_loaders/fs/json.d.cts.map +1 -1
  598. package/dist/document_loaders/fs/json.d.ts +0 -1
  599. package/dist/document_loaders/fs/json.d.ts.map +1 -1
  600. package/dist/document_loaders/fs/json.js +1 -0
  601. package/dist/document_loaders/fs/json.js.map +1 -1
  602. package/dist/document_loaders/fs/multi_file.cjs +3 -0
  603. package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
  604. package/dist/document_loaders/fs/multi_file.d.cts +0 -1
  605. package/dist/document_loaders/fs/multi_file.d.cts.map +1 -1
  606. package/dist/document_loaders/fs/multi_file.d.ts +0 -1
  607. package/dist/document_loaders/fs/multi_file.d.ts.map +1 -1
  608. package/dist/document_loaders/fs/multi_file.js +3 -0
  609. package/dist/document_loaders/fs/multi_file.js.map +1 -1
  610. package/dist/document_loaders/fs/text.cjs +1 -0
  611. package/dist/document_loaders/fs/text.cjs.map +1 -1
  612. package/dist/document_loaders/fs/text.d.cts +0 -1
  613. package/dist/document_loaders/fs/text.d.cts.map +1 -1
  614. package/dist/document_loaders/fs/text.d.ts +0 -1
  615. package/dist/document_loaders/fs/text.d.ts.map +1 -1
  616. package/dist/document_loaders/fs/text.js +1 -0
  617. package/dist/document_loaders/fs/text.js.map +1 -1
  618. package/dist/document_transformers/openai_functions.cjs.map +1 -1
  619. package/dist/document_transformers/openai_functions.d.cts +1 -1
  620. package/dist/document_transformers/openai_functions.d.cts.map +1 -1
  621. package/dist/document_transformers/openai_functions.d.ts +1 -1
  622. package/dist/document_transformers/openai_functions.d.ts.map +1 -1
  623. package/dist/document_transformers/openai_functions.js.map +1 -1
  624. package/dist/embeddings/cache_backed.cjs.map +1 -1
  625. package/dist/embeddings/cache_backed.d.cts +0 -1
  626. package/dist/embeddings/cache_backed.d.cts.map +1 -1
  627. package/dist/embeddings/cache_backed.d.ts +0 -1
  628. package/dist/embeddings/cache_backed.d.ts.map +1 -1
  629. package/dist/embeddings/cache_backed.js.map +1 -1
  630. package/dist/evaluation/agents/index.cjs +3 -1
  631. package/dist/evaluation/agents/index.d.cts +2 -1
  632. package/dist/evaluation/agents/index.d.ts +2 -1
  633. package/dist/evaluation/agents/index.js +2 -2
  634. package/dist/evaluation/agents/prompt.cjs +10 -11
  635. package/dist/evaluation/agents/prompt.cjs.map +1 -1
  636. package/dist/evaluation/agents/prompt.js +10 -10
  637. package/dist/evaluation/agents/prompt.js.map +1 -1
  638. package/dist/evaluation/agents/trajectory.cjs +0 -1
  639. package/dist/evaluation/agents/trajectory.cjs.map +1 -1
  640. package/dist/evaluation/agents/trajectory.d.cts +1 -3
  641. package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
  642. package/dist/evaluation/agents/trajectory.d.ts +1 -3
  643. package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
  644. package/dist/evaluation/agents/trajectory.js.map +1 -1
  645. package/dist/evaluation/base.cjs +2 -0
  646. package/dist/evaluation/base.cjs.map +1 -1
  647. package/dist/evaluation/base.d.cts +2 -2
  648. package/dist/evaluation/base.d.cts.map +1 -1
  649. package/dist/evaluation/base.d.ts +2 -2
  650. package/dist/evaluation/base.d.ts.map +1 -1
  651. package/dist/evaluation/base.js +1 -1
  652. package/dist/evaluation/base.js.map +1 -1
  653. package/dist/evaluation/comparison/index.cjs +4 -1
  654. package/dist/evaluation/comparison/index.d.cts +2 -1
  655. package/dist/evaluation/comparison/index.d.ts +2 -1
  656. package/dist/evaluation/comparison/index.js +2 -2
  657. package/dist/evaluation/comparison/pairwise.cjs +2 -3
  658. package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
  659. package/dist/evaluation/comparison/pairwise.d.cts +2 -4
  660. package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
  661. package/dist/evaluation/comparison/pairwise.d.ts +2 -4
  662. package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
  663. package/dist/evaluation/comparison/pairwise.js +2 -2
  664. package/dist/evaluation/comparison/pairwise.js.map +1 -1
  665. package/dist/evaluation/comparison/prompt.cjs +2 -3
  666. package/dist/evaluation/comparison/prompt.cjs.map +1 -1
  667. package/dist/evaluation/comparison/prompt.js +2 -2
  668. package/dist/evaluation/comparison/prompt.js.map +1 -1
  669. package/dist/evaluation/criteria/criteria.cjs +2 -3
  670. package/dist/evaluation/criteria/criteria.cjs.map +1 -1
  671. package/dist/evaluation/criteria/criteria.d.cts +3 -9
  672. package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
  673. package/dist/evaluation/criteria/criteria.d.ts +3 -9
  674. package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
  675. package/dist/evaluation/criteria/criteria.js +2 -2
  676. package/dist/evaluation/criteria/criteria.js.map +1 -1
  677. package/dist/evaluation/criteria/index.cjs +4 -1
  678. package/dist/evaluation/criteria/index.d.cts +2 -1
  679. package/dist/evaluation/criteria/index.d.ts +2 -1
  680. package/dist/evaluation/criteria/index.js +2 -2
  681. package/dist/evaluation/criteria/prompt.cjs +2 -3
  682. package/dist/evaluation/criteria/prompt.cjs.map +1 -1
  683. package/dist/evaluation/criteria/prompt.js +2 -2
  684. package/dist/evaluation/criteria/prompt.js.map +1 -1
  685. package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
  686. package/dist/evaluation/embedding_distance/base.d.cts +0 -1
  687. package/dist/evaluation/embedding_distance/base.d.cts.map +1 -1
  688. package/dist/evaluation/embedding_distance/base.d.ts +0 -1
  689. package/dist/evaluation/embedding_distance/base.d.ts.map +1 -1
  690. package/dist/evaluation/embedding_distance/base.js.map +1 -1
  691. package/dist/evaluation/embedding_distance/index.cjs +5 -1
  692. package/dist/evaluation/embedding_distance/index.d.cts +2 -1
  693. package/dist/evaluation/embedding_distance/index.d.ts +2 -1
  694. package/dist/evaluation/embedding_distance/index.js +2 -2
  695. package/dist/evaluation/index.d.cts +5 -0
  696. package/dist/evaluation/index.d.ts +5 -0
  697. package/dist/evaluation/loader.cjs +0 -1
  698. package/dist/evaluation/loader.cjs.map +1 -1
  699. package/dist/evaluation/loader.d.cts +2 -1
  700. package/dist/evaluation/loader.d.cts.map +1 -1
  701. package/dist/evaluation/loader.d.ts +2 -1
  702. package/dist/evaluation/loader.d.ts.map +1 -1
  703. package/dist/evaluation/loader.js.map +1 -1
  704. package/dist/evaluation/qa/eval_chain.cjs +3 -2
  705. package/dist/evaluation/qa/eval_chain.cjs.map +1 -1
  706. package/dist/evaluation/qa/eval_chain.d.cts +1 -2
  707. package/dist/evaluation/qa/eval_chain.d.cts.map +1 -1
  708. package/dist/evaluation/qa/eval_chain.d.ts +1 -2
  709. package/dist/evaluation/qa/eval_chain.d.ts.map +1 -1
  710. package/dist/evaluation/qa/eval_chain.js +3 -2
  711. package/dist/evaluation/qa/eval_chain.js.map +1 -1
  712. package/dist/evaluation/qa/index.cjs +2 -1
  713. package/dist/evaluation/qa/index.d.cts +2 -1
  714. package/dist/evaluation/qa/index.d.ts +2 -1
  715. package/dist/evaluation/qa/index.js +2 -2
  716. package/dist/evaluation/qa/prompt.cjs +1 -2
  717. package/dist/evaluation/qa/prompt.cjs.map +1 -1
  718. package/dist/evaluation/qa/prompt.js +1 -1
  719. package/dist/evaluation/qa/prompt.js.map +1 -1
  720. package/dist/evaluation/types.d.cts +0 -1
  721. package/dist/evaluation/types.d.cts.map +1 -1
  722. package/dist/evaluation/types.d.ts +0 -1
  723. package/dist/evaluation/types.d.ts.map +1 -1
  724. package/dist/experimental/autogpt/agent.cjs +11 -11
  725. package/dist/experimental/autogpt/agent.cjs.map +1 -1
  726. package/dist/experimental/autogpt/agent.d.cts +2 -17
  727. package/dist/experimental/autogpt/agent.d.cts.map +1 -1
  728. package/dist/experimental/autogpt/agent.d.ts +2 -17
  729. package/dist/experimental/autogpt/agent.d.ts.map +1 -1
  730. package/dist/experimental/autogpt/agent.js +11 -10
  731. package/dist/experimental/autogpt/agent.js.map +1 -1
  732. package/dist/experimental/autogpt/output_parser.cjs +0 -1
  733. package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
  734. package/dist/experimental/autogpt/output_parser.d.cts +0 -1
  735. package/dist/experimental/autogpt/output_parser.d.cts.map +1 -1
  736. package/dist/experimental/autogpt/output_parser.d.ts +0 -1
  737. package/dist/experimental/autogpt/output_parser.d.ts.map +1 -1
  738. package/dist/experimental/autogpt/output_parser.js.map +1 -1
  739. package/dist/experimental/autogpt/prompt.cjs +0 -1
  740. package/dist/experimental/autogpt/prompt.cjs.map +1 -1
  741. package/dist/experimental/autogpt/prompt.d.cts +2 -9
  742. package/dist/experimental/autogpt/prompt.d.cts.map +1 -1
  743. package/dist/experimental/autogpt/prompt.d.ts +2 -9
  744. package/dist/experimental/autogpt/prompt.d.ts.map +1 -1
  745. package/dist/experimental/autogpt/prompt.js.map +1 -1
  746. package/dist/experimental/autogpt/prompt_generator.cjs +1 -1
  747. package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
  748. package/dist/experimental/autogpt/prompt_generator.js +1 -1
  749. package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
  750. package/dist/experimental/autogpt/schema.d.cts +0 -1
  751. package/dist/experimental/autogpt/schema.d.cts.map +1 -1
  752. package/dist/experimental/autogpt/schema.d.ts +0 -1
  753. package/dist/experimental/autogpt/schema.d.ts.map +1 -1
  754. package/dist/experimental/babyagi/agent.cjs +12 -11
  755. package/dist/experimental/babyagi/agent.cjs.map +1 -1
  756. package/dist/experimental/babyagi/agent.d.cts +3 -22
  757. package/dist/experimental/babyagi/agent.d.cts.map +1 -1
  758. package/dist/experimental/babyagi/agent.d.ts +3 -22
  759. package/dist/experimental/babyagi/agent.d.ts.map +1 -1
  760. package/dist/experimental/babyagi/agent.js +12 -10
  761. package/dist/experimental/babyagi/agent.js.map +1 -1
  762. package/dist/experimental/babyagi/task_creation.cjs +10 -10
  763. package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
  764. package/dist/experimental/babyagi/task_creation.d.cts +0 -1
  765. package/dist/experimental/babyagi/task_creation.d.cts.map +1 -1
  766. package/dist/experimental/babyagi/task_creation.d.ts +0 -1
  767. package/dist/experimental/babyagi/task_creation.d.ts.map +1 -1
  768. package/dist/experimental/babyagi/task_creation.js +10 -9
  769. package/dist/experimental/babyagi/task_creation.js.map +1 -1
  770. package/dist/experimental/babyagi/task_execution.cjs +9 -9
  771. package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
  772. package/dist/experimental/babyagi/task_execution.d.cts +0 -1
  773. package/dist/experimental/babyagi/task_execution.d.cts.map +1 -1
  774. package/dist/experimental/babyagi/task_execution.d.ts +0 -1
  775. package/dist/experimental/babyagi/task_execution.d.ts.map +1 -1
  776. package/dist/experimental/babyagi/task_execution.js +9 -8
  777. package/dist/experimental/babyagi/task_execution.js.map +1 -1
  778. package/dist/experimental/babyagi/task_prioritization.cjs +9 -9
  779. package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
  780. package/dist/experimental/babyagi/task_prioritization.d.cts +0 -1
  781. package/dist/experimental/babyagi/task_prioritization.d.cts.map +1 -1
  782. package/dist/experimental/babyagi/task_prioritization.d.ts +0 -1
  783. package/dist/experimental/babyagi/task_prioritization.d.ts.map +1 -1
  784. package/dist/experimental/babyagi/task_prioritization.js +9 -8
  785. package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
  786. package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
  787. package/dist/experimental/chains/violation_of_expectations/types.d.cts +0 -1
  788. package/dist/experimental/chains/violation_of_expectations/types.d.cts.map +1 -1
  789. package/dist/experimental/chains/violation_of_expectations/types.d.ts +0 -1
  790. package/dist/experimental/chains/violation_of_expectations/types.d.ts.map +1 -1
  791. package/dist/experimental/chains/violation_of_expectations/types.js.map +1 -1
  792. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +0 -1
  793. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs.map +1 -1
  794. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts +53 -1
  795. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts.map +1 -1
  796. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts +53 -1
  797. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts.map +1 -1
  798. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js.map +1 -1
  799. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs +4 -5
  800. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs.map +1 -1
  801. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js +4 -4
  802. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
  803. package/dist/experimental/generative_agents/generative_agent.cjs +0 -1
  804. package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
  805. package/dist/experimental/generative_agents/generative_agent.d.cts +1 -2
  806. package/dist/experimental/generative_agents/generative_agent.d.cts.map +1 -1
  807. package/dist/experimental/generative_agents/generative_agent.d.ts +1 -2
  808. package/dist/experimental/generative_agents/generative_agent.d.ts.map +1 -1
  809. package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
  810. package/dist/experimental/generative_agents/generative_agent_memory.cjs +0 -1
  811. package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
  812. package/dist/experimental/generative_agents/generative_agent_memory.d.cts +1 -2
  813. package/dist/experimental/generative_agents/generative_agent_memory.d.cts.map +1 -1
  814. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +1 -2
  815. package/dist/experimental/generative_agents/generative_agent_memory.d.ts.map +1 -1
  816. package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
  817. package/dist/experimental/masking/parser.cjs.map +1 -1
  818. package/dist/experimental/masking/parser.d.cts +0 -1
  819. package/dist/experimental/masking/parser.d.cts.map +1 -1
  820. package/dist/experimental/masking/parser.d.ts +0 -1
  821. package/dist/experimental/masking/parser.d.ts.map +1 -1
  822. package/dist/experimental/masking/parser.js.map +1 -1
  823. package/dist/experimental/masking/regex_masking_transformer.cjs.map +1 -1
  824. package/dist/experimental/masking/regex_masking_transformer.d.cts +0 -1
  825. package/dist/experimental/masking/regex_masking_transformer.d.cts.map +1 -1
  826. package/dist/experimental/masking/regex_masking_transformer.d.ts +0 -1
  827. package/dist/experimental/masking/regex_masking_transformer.d.ts.map +1 -1
  828. package/dist/experimental/masking/regex_masking_transformer.js.map +1 -1
  829. package/dist/experimental/masking/transformer.cjs.map +1 -1
  830. package/dist/experimental/masking/transformer.d.cts.map +1 -1
  831. package/dist/experimental/masking/transformer.d.ts.map +1 -1
  832. package/dist/experimental/masking/transformer.js.map +1 -1
  833. package/dist/experimental/masking/types.d.cts +0 -1
  834. package/dist/experimental/masking/types.d.cts.map +1 -1
  835. package/dist/experimental/masking/types.d.ts +0 -1
  836. package/dist/experimental/masking/types.d.ts.map +1 -1
  837. package/dist/experimental/openai_assistant/index.cjs.map +1 -1
  838. package/dist/experimental/openai_assistant/index.d.cts +2 -18
  839. package/dist/experimental/openai_assistant/index.d.cts.map +1 -1
  840. package/dist/experimental/openai_assistant/index.d.ts +2 -18
  841. package/dist/experimental/openai_assistant/index.d.ts.map +1 -1
  842. package/dist/experimental/openai_assistant/index.js.map +1 -1
  843. package/dist/experimental/openai_assistant/schema.d.cts +0 -1
  844. package/dist/experimental/openai_assistant/schema.d.cts.map +1 -1
  845. package/dist/experimental/openai_assistant/schema.d.ts +0 -1
  846. package/dist/experimental/openai_assistant/schema.d.ts.map +1 -1
  847. package/dist/experimental/openai_files/index.cjs.map +1 -1
  848. package/dist/experimental/openai_files/index.d.cts +4 -18
  849. package/dist/experimental/openai_files/index.d.cts.map +1 -1
  850. package/dist/experimental/openai_files/index.d.ts +4 -18
  851. package/dist/experimental/openai_files/index.d.ts.map +1 -1
  852. package/dist/experimental/openai_files/index.js.map +1 -1
  853. package/dist/experimental/plan_and_execute/agent_executor.cjs +1 -0
  854. package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
  855. package/dist/experimental/plan_and_execute/agent_executor.d.cts +4 -16
  856. package/dist/experimental/plan_and_execute/agent_executor.d.cts.map +1 -1
  857. package/dist/experimental/plan_and_execute/agent_executor.d.ts +4 -16
  858. package/dist/experimental/plan_and_execute/agent_executor.d.ts.map +1 -1
  859. package/dist/experimental/plan_and_execute/agent_executor.js +1 -1
  860. package/dist/experimental/plan_and_execute/agent_executor.js.map +1 -1
  861. package/dist/experimental/plan_and_execute/base.cjs +3 -0
  862. package/dist/experimental/plan_and_execute/base.cjs.map +1 -1
  863. package/dist/experimental/plan_and_execute/base.d.cts +0 -1
  864. package/dist/experimental/plan_and_execute/base.d.cts.map +1 -1
  865. package/dist/experimental/plan_and_execute/base.d.ts +0 -1
  866. package/dist/experimental/plan_and_execute/base.d.ts.map +1 -1
  867. package/dist/experimental/plan_and_execute/base.js +3 -0
  868. package/dist/experimental/plan_and_execute/base.js.map +1 -1
  869. package/dist/experimental/plan_and_execute/outputParser.cjs +0 -1
  870. package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
  871. package/dist/experimental/plan_and_execute/outputParser.d.cts +0 -1
  872. package/dist/experimental/plan_and_execute/outputParser.d.cts.map +1 -1
  873. package/dist/experimental/plan_and_execute/outputParser.d.ts +0 -1
  874. package/dist/experimental/plan_and_execute/outputParser.d.ts.map +1 -1
  875. package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
  876. package/dist/experimental/plan_and_execute/prompt.cjs +1 -2
  877. package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
  878. package/dist/experimental/plan_and_execute/prompt.js +1 -1
  879. package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
  880. package/dist/experimental/prompts/custom_format.cjs.map +1 -1
  881. package/dist/experimental/prompts/custom_format.d.cts +1 -5
  882. package/dist/experimental/prompts/custom_format.d.cts.map +1 -1
  883. package/dist/experimental/prompts/custom_format.d.ts +1 -5
  884. package/dist/experimental/prompts/custom_format.d.ts.map +1 -1
  885. package/dist/experimental/prompts/custom_format.js.map +1 -1
  886. package/dist/experimental/prompts/handlebars.cjs.map +1 -1
  887. package/dist/experimental/prompts/handlebars.d.cts +0 -1
  888. package/dist/experimental/prompts/handlebars.d.cts.map +1 -1
  889. package/dist/experimental/prompts/handlebars.d.ts +0 -1
  890. package/dist/experimental/prompts/handlebars.d.ts.map +1 -1
  891. package/dist/experimental/prompts/handlebars.js.map +1 -1
  892. package/dist/hub/base.cjs.map +1 -1
  893. package/dist/hub/base.d.cts +5 -2
  894. package/dist/hub/base.d.cts.map +1 -1
  895. package/dist/hub/base.d.ts +5 -2
  896. package/dist/hub/base.d.ts.map +1 -1
  897. package/dist/hub/base.js.map +1 -1
  898. package/dist/hub/index.cjs.map +1 -1
  899. package/dist/hub/index.d.cts +0 -1
  900. package/dist/hub/index.d.cts.map +1 -1
  901. package/dist/hub/index.d.ts +0 -1
  902. package/dist/hub/index.d.ts.map +1 -1
  903. package/dist/hub/index.js.map +1 -1
  904. package/dist/hub/node.cjs.map +1 -1
  905. package/dist/hub/node.d.cts +0 -1
  906. package/dist/hub/node.d.cts.map +1 -1
  907. package/dist/hub/node.d.ts +0 -1
  908. package/dist/hub/node.d.ts.map +1 -1
  909. package/dist/hub/node.js.map +1 -1
  910. package/dist/index.cjs.map +1 -1
  911. package/dist/index.d.cts +1 -1
  912. package/dist/index.d.ts +1 -1
  913. package/dist/index.js.map +1 -1
  914. package/dist/load/import_constants.cjs.map +1 -1
  915. package/dist/load/import_constants.js.map +1 -1
  916. package/dist/load/import_map.cjs +547 -0
  917. package/dist/load/import_map.cjs.map +1 -1
  918. package/dist/load/import_map.js +1 -1
  919. package/dist/load/import_map.js.map +1 -1
  920. package/dist/load/import_type.d.cts.map +1 -1
  921. package/dist/load/import_type.d.ts.map +1 -1
  922. package/dist/load/index.cjs +0 -1
  923. package/dist/load/index.cjs.map +1 -1
  924. package/dist/load/index.d.cts +0 -1
  925. package/dist/load/index.d.cts.map +1 -1
  926. package/dist/load/index.d.ts +0 -1
  927. package/dist/load/index.d.ts.map +1 -1
  928. package/dist/load/index.js.map +1 -1
  929. package/dist/load/map_keys.d.cts.map +1 -1
  930. package/dist/load/map_keys.d.ts.map +1 -1
  931. package/dist/memory/buffer_memory.cjs +0 -1
  932. package/dist/memory/buffer_memory.cjs.map +1 -1
  933. package/dist/memory/buffer_memory.d.cts +0 -1
  934. package/dist/memory/buffer_memory.d.cts.map +1 -1
  935. package/dist/memory/buffer_memory.d.ts +0 -1
  936. package/dist/memory/buffer_memory.d.ts.map +1 -1
  937. package/dist/memory/buffer_memory.js.map +1 -1
  938. package/dist/memory/buffer_token_memory.cjs +0 -1
  939. package/dist/memory/buffer_token_memory.cjs.map +1 -1
  940. package/dist/memory/buffer_token_memory.d.cts +0 -1
  941. package/dist/memory/buffer_token_memory.d.cts.map +1 -1
  942. package/dist/memory/buffer_token_memory.d.ts +0 -1
  943. package/dist/memory/buffer_token_memory.d.ts.map +1 -1
  944. package/dist/memory/buffer_token_memory.js.map +1 -1
  945. package/dist/memory/buffer_window_memory.cjs +0 -1
  946. package/dist/memory/buffer_window_memory.cjs.map +1 -1
  947. package/dist/memory/buffer_window_memory.d.cts +0 -1
  948. package/dist/memory/buffer_window_memory.d.cts.map +1 -1
  949. package/dist/memory/buffer_window_memory.d.ts +0 -1
  950. package/dist/memory/buffer_window_memory.d.ts.map +1 -1
  951. package/dist/memory/buffer_window_memory.js.map +1 -1
  952. package/dist/memory/chat_memory.cjs.map +1 -1
  953. package/dist/memory/chat_memory.d.cts +0 -1
  954. package/dist/memory/chat_memory.d.cts.map +1 -1
  955. package/dist/memory/chat_memory.d.ts +0 -1
  956. package/dist/memory/chat_memory.d.ts.map +1 -1
  957. package/dist/memory/chat_memory.js.map +1 -1
  958. package/dist/memory/combined_memory.cjs.map +1 -1
  959. package/dist/memory/combined_memory.d.cts +0 -1
  960. package/dist/memory/combined_memory.d.cts.map +1 -1
  961. package/dist/memory/combined_memory.d.ts +0 -1
  962. package/dist/memory/combined_memory.d.ts.map +1 -1
  963. package/dist/memory/combined_memory.js.map +1 -1
  964. package/dist/memory/entity_memory.cjs +0 -1
  965. package/dist/memory/entity_memory.cjs.map +1 -1
  966. package/dist/memory/entity_memory.d.cts +1 -2
  967. package/dist/memory/entity_memory.d.cts.map +1 -1
  968. package/dist/memory/entity_memory.d.ts +1 -2
  969. package/dist/memory/entity_memory.d.ts.map +1 -1
  970. package/dist/memory/entity_memory.js.map +1 -1
  971. package/dist/memory/prompt.cjs +28 -23
  972. package/dist/memory/prompt.cjs.map +1 -1
  973. package/dist/memory/prompt.d.cts +0 -1
  974. package/dist/memory/prompt.d.cts.map +1 -1
  975. package/dist/memory/prompt.d.ts +0 -1
  976. package/dist/memory/prompt.d.ts.map +1 -1
  977. package/dist/memory/prompt.js +26 -23
  978. package/dist/memory/prompt.js.map +1 -1
  979. package/dist/memory/stores/entity/base.cjs +0 -1
  980. package/dist/memory/stores/entity/base.cjs.map +1 -1
  981. package/dist/memory/stores/entity/base.d.cts +0 -1
  982. package/dist/memory/stores/entity/base.d.cts.map +1 -1
  983. package/dist/memory/stores/entity/base.d.ts +0 -1
  984. package/dist/memory/stores/entity/base.d.ts.map +1 -1
  985. package/dist/memory/stores/entity/base.js.map +1 -1
  986. package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
  987. package/dist/memory/stores/entity/in_memory.js.map +1 -1
  988. package/dist/memory/summary.cjs +0 -1
  989. package/dist/memory/summary.cjs.map +1 -1
  990. package/dist/memory/summary.d.cts +0 -1
  991. package/dist/memory/summary.d.cts.map +1 -1
  992. package/dist/memory/summary.d.ts +0 -1
  993. package/dist/memory/summary.d.ts.map +1 -1
  994. package/dist/memory/summary.js.map +1 -1
  995. package/dist/memory/summary_buffer.cjs +0 -1
  996. package/dist/memory/summary_buffer.cjs.map +1 -1
  997. package/dist/memory/summary_buffer.d.cts +0 -1
  998. package/dist/memory/summary_buffer.d.cts.map +1 -1
  999. package/dist/memory/summary_buffer.d.ts +0 -1
  1000. package/dist/memory/summary_buffer.d.ts.map +1 -1
  1001. package/dist/memory/summary_buffer.js.map +1 -1
  1002. package/dist/memory/vector_store.cjs +0 -1
  1003. package/dist/memory/vector_store.cjs.map +1 -1
  1004. package/dist/memory/vector_store.d.cts +0 -1
  1005. package/dist/memory/vector_store.d.cts.map +1 -1
  1006. package/dist/memory/vector_store.d.ts +0 -1
  1007. package/dist/memory/vector_store.d.ts.map +1 -1
  1008. package/dist/memory/vector_store.js.map +1 -1
  1009. package/dist/output_parsers/combining.cjs +0 -1
  1010. package/dist/output_parsers/combining.cjs.map +1 -1
  1011. package/dist/output_parsers/combining.d.cts +1 -2
  1012. package/dist/output_parsers/combining.d.cts.map +1 -1
  1013. package/dist/output_parsers/combining.d.ts +1 -2
  1014. package/dist/output_parsers/combining.d.ts.map +1 -1
  1015. package/dist/output_parsers/combining.js.map +1 -1
  1016. package/dist/output_parsers/datetime.cjs +0 -1
  1017. package/dist/output_parsers/datetime.cjs.map +1 -1
  1018. package/dist/output_parsers/datetime.d.cts +0 -1
  1019. package/dist/output_parsers/datetime.d.cts.map +1 -1
  1020. package/dist/output_parsers/datetime.d.ts +0 -1
  1021. package/dist/output_parsers/datetime.d.ts.map +1 -1
  1022. package/dist/output_parsers/datetime.js.map +1 -1
  1023. package/dist/output_parsers/expression.cjs.map +1 -1
  1024. package/dist/output_parsers/expression.d.cts +0 -1
  1025. package/dist/output_parsers/expression.d.cts.map +1 -1
  1026. package/dist/output_parsers/expression.d.ts +0 -1
  1027. package/dist/output_parsers/expression.d.ts.map +1 -1
  1028. package/dist/output_parsers/expression.js.map +1 -1
  1029. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +1 -1
  1030. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
  1031. package/dist/output_parsers/expression_type_handlers/base.cjs +1 -0
  1032. package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
  1033. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -1
  1034. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +1 -1
  1035. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -1
  1036. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +1 -1
  1037. package/dist/output_parsers/expression_type_handlers/base.js +1 -0
  1038. package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
  1039. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +1 -1
  1040. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +1 -1
  1041. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +1 -1
  1042. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +1 -1
  1043. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
  1044. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -1
  1045. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +1 -1
  1046. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -1
  1047. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +1 -1
  1048. package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
  1049. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +1 -1
  1050. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +1 -1
  1051. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +1 -1
  1052. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +1 -1
  1053. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +1 -1
  1054. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +1 -1
  1055. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +1 -1
  1056. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +1 -1
  1057. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +1 -1
  1058. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +1 -1
  1059. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +1 -1
  1060. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +1 -1
  1061. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +1 -1
  1062. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +1 -1
  1063. package/dist/output_parsers/fix.cjs +5 -5
  1064. package/dist/output_parsers/fix.cjs.map +1 -1
  1065. package/dist/output_parsers/fix.d.cts +1 -5
  1066. package/dist/output_parsers/fix.d.cts.map +1 -1
  1067. package/dist/output_parsers/fix.d.ts +1 -5
  1068. package/dist/output_parsers/fix.d.ts.map +1 -1
  1069. package/dist/output_parsers/fix.js +5 -4
  1070. package/dist/output_parsers/fix.js.map +1 -1
  1071. package/dist/output_parsers/http_response.cjs +0 -1
  1072. package/dist/output_parsers/http_response.cjs.map +1 -1
  1073. package/dist/output_parsers/http_response.d.cts +0 -1
  1074. package/dist/output_parsers/http_response.d.cts.map +1 -1
  1075. package/dist/output_parsers/http_response.d.ts +0 -1
  1076. package/dist/output_parsers/http_response.d.ts.map +1 -1
  1077. package/dist/output_parsers/http_response.js.map +1 -1
  1078. package/dist/output_parsers/noop.cjs +0 -1
  1079. package/dist/output_parsers/noop.cjs.map +1 -1
  1080. package/dist/output_parsers/noop.js.map +1 -1
  1081. package/dist/output_parsers/openai_functions.cjs +0 -1
  1082. package/dist/output_parsers/openai_functions.cjs.map +1 -1
  1083. package/dist/output_parsers/openai_functions.d.cts +0 -1
  1084. package/dist/output_parsers/openai_functions.d.cts.map +1 -1
  1085. package/dist/output_parsers/openai_functions.d.ts +0 -1
  1086. package/dist/output_parsers/openai_functions.d.ts.map +1 -1
  1087. package/dist/output_parsers/openai_functions.js.map +1 -1
  1088. package/dist/output_parsers/openai_tools.cjs +0 -1
  1089. package/dist/output_parsers/openai_tools.cjs.map +1 -1
  1090. package/dist/output_parsers/openai_tools.d.cts +8 -5
  1091. package/dist/output_parsers/openai_tools.d.cts.map +1 -1
  1092. package/dist/output_parsers/openai_tools.d.ts +8 -5
  1093. package/dist/output_parsers/openai_tools.d.ts.map +1 -1
  1094. package/dist/output_parsers/openai_tools.js.map +1 -1
  1095. package/dist/output_parsers/prompts.cjs +6 -3
  1096. package/dist/output_parsers/prompts.cjs.map +1 -1
  1097. package/dist/output_parsers/prompts.js +5 -3
  1098. package/dist/output_parsers/prompts.js.map +1 -1
  1099. package/dist/output_parsers/regex.cjs +0 -1
  1100. package/dist/output_parsers/regex.cjs.map +1 -1
  1101. package/dist/output_parsers/regex.d.cts +1 -2
  1102. package/dist/output_parsers/regex.d.cts.map +1 -1
  1103. package/dist/output_parsers/regex.d.ts +1 -2
  1104. package/dist/output_parsers/regex.d.ts.map +1 -1
  1105. package/dist/output_parsers/regex.js.map +1 -1
  1106. package/dist/output_parsers/router.cjs +0 -1
  1107. package/dist/output_parsers/router.cjs.map +1 -1
  1108. package/dist/output_parsers/router.d.cts +0 -1
  1109. package/dist/output_parsers/router.d.cts.map +1 -1
  1110. package/dist/output_parsers/router.d.ts +0 -1
  1111. package/dist/output_parsers/router.d.ts.map +1 -1
  1112. package/dist/output_parsers/router.js.map +1 -1
  1113. package/dist/output_parsers/structured.cjs +1 -1
  1114. package/dist/output_parsers/structured.cjs.map +1 -1
  1115. package/dist/output_parsers/structured.d.cts +3 -7
  1116. package/dist/output_parsers/structured.d.cts.map +1 -1
  1117. package/dist/output_parsers/structured.d.ts +3 -7
  1118. package/dist/output_parsers/structured.d.ts.map +1 -1
  1119. package/dist/output_parsers/structured.js +1 -0
  1120. package/dist/output_parsers/structured.js.map +1 -1
  1121. package/dist/retrievers/contextual_compression.cjs.map +1 -1
  1122. package/dist/retrievers/contextual_compression.d.cts +0 -1
  1123. package/dist/retrievers/contextual_compression.d.cts.map +1 -1
  1124. package/dist/retrievers/contextual_compression.d.ts +0 -1
  1125. package/dist/retrievers/contextual_compression.d.ts.map +1 -1
  1126. package/dist/retrievers/contextual_compression.js.map +1 -1
  1127. package/dist/retrievers/document_compressors/chain_extract.cjs +5 -4
  1128. package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
  1129. package/dist/retrievers/document_compressors/chain_extract.d.cts +1 -5
  1130. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +1 -1
  1131. package/dist/retrievers/document_compressors/chain_extract.d.ts +1 -5
  1132. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +1 -1
  1133. package/dist/retrievers/document_compressors/chain_extract.js +5 -4
  1134. package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
  1135. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
  1136. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
  1137. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +1 -1
  1138. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
  1139. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +1 -1
  1140. package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
  1141. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  1142. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  1143. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  1144. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  1145. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  1146. package/dist/retrievers/document_compressors/index.js.map +1 -1
  1147. package/dist/retrievers/ensemble.cjs.map +1 -1
  1148. package/dist/retrievers/ensemble.d.cts +0 -1
  1149. package/dist/retrievers/ensemble.d.cts.map +1 -1
  1150. package/dist/retrievers/ensemble.d.ts +0 -1
  1151. package/dist/retrievers/ensemble.d.ts.map +1 -1
  1152. package/dist/retrievers/ensemble.js.map +1 -1
  1153. package/dist/retrievers/hyde.cjs.map +1 -1
  1154. package/dist/retrievers/hyde.d.cts +0 -1
  1155. package/dist/retrievers/hyde.d.cts.map +1 -1
  1156. package/dist/retrievers/hyde.d.ts +0 -1
  1157. package/dist/retrievers/hyde.d.ts.map +1 -1
  1158. package/dist/retrievers/hyde.js.map +1 -1
  1159. package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
  1160. package/dist/retrievers/matryoshka_retriever.d.cts +0 -1
  1161. package/dist/retrievers/matryoshka_retriever.d.cts.map +1 -1
  1162. package/dist/retrievers/matryoshka_retriever.d.ts +0 -1
  1163. package/dist/retrievers/matryoshka_retriever.d.ts.map +1 -1
  1164. package/dist/retrievers/matryoshka_retriever.js.map +1 -1
  1165. package/dist/retrievers/multi_query.cjs +1 -1
  1166. package/dist/retrievers/multi_query.cjs.map +1 -1
  1167. package/dist/retrievers/multi_query.d.cts +0 -1
  1168. package/dist/retrievers/multi_query.d.cts.map +1 -1
  1169. package/dist/retrievers/multi_query.d.ts +0 -1
  1170. package/dist/retrievers/multi_query.d.ts.map +1 -1
  1171. package/dist/retrievers/multi_query.js +1 -1
  1172. package/dist/retrievers/multi_query.js.map +1 -1
  1173. package/dist/retrievers/multi_vector.cjs.map +1 -1
  1174. package/dist/retrievers/multi_vector.d.cts +0 -1
  1175. package/dist/retrievers/multi_vector.d.cts.map +1 -1
  1176. package/dist/retrievers/multi_vector.d.ts +0 -1
  1177. package/dist/retrievers/multi_vector.d.ts.map +1 -1
  1178. package/dist/retrievers/multi_vector.js.map +1 -1
  1179. package/dist/retrievers/parent_document.cjs.map +1 -1
  1180. package/dist/retrievers/parent_document.d.cts +0 -1
  1181. package/dist/retrievers/parent_document.d.cts.map +1 -1
  1182. package/dist/retrievers/parent_document.d.ts +0 -1
  1183. package/dist/retrievers/parent_document.d.ts.map +1 -1
  1184. package/dist/retrievers/parent_document.js.map +1 -1
  1185. package/dist/retrievers/score_threshold.cjs.map +1 -1
  1186. package/dist/retrievers/score_threshold.d.cts +0 -1
  1187. package/dist/retrievers/score_threshold.d.cts.map +1 -1
  1188. package/dist/retrievers/score_threshold.d.ts +0 -1
  1189. package/dist/retrievers/score_threshold.d.ts.map +1 -1
  1190. package/dist/retrievers/score_threshold.js.map +1 -1
  1191. package/dist/retrievers/self_query/index.cjs.map +1 -1
  1192. package/dist/retrievers/self_query/index.d.cts +0 -1
  1193. package/dist/retrievers/self_query/index.d.cts.map +1 -1
  1194. package/dist/retrievers/self_query/index.d.ts +0 -1
  1195. package/dist/retrievers/self_query/index.d.ts.map +1 -1
  1196. package/dist/retrievers/self_query/index.js.map +1 -1
  1197. package/dist/retrievers/time_weighted.cjs.map +1 -1
  1198. package/dist/retrievers/time_weighted.d.cts +5 -1
  1199. package/dist/retrievers/time_weighted.d.cts.map +1 -1
  1200. package/dist/retrievers/time_weighted.d.ts +5 -1
  1201. package/dist/retrievers/time_weighted.d.ts.map +1 -1
  1202. package/dist/retrievers/time_weighted.js.map +1 -1
  1203. package/dist/schema/prompt_template.cjs.map +1 -1
  1204. package/dist/schema/prompt_template.d.cts +0 -1
  1205. package/dist/schema/prompt_template.d.cts.map +1 -1
  1206. package/dist/schema/prompt_template.d.ts +0 -1
  1207. package/dist/schema/prompt_template.d.ts.map +1 -1
  1208. package/dist/schema/prompt_template.js.map +1 -1
  1209. package/dist/schema/query_constructor.cjs +3 -0
  1210. package/dist/schema/query_constructor.cjs.map +1 -1
  1211. package/dist/schema/query_constructor.d.cts.map +1 -1
  1212. package/dist/schema/query_constructor.d.ts.map +1 -1
  1213. package/dist/schema/query_constructor.js +3 -0
  1214. package/dist/schema/query_constructor.js.map +1 -1
  1215. package/dist/smith/config.cjs.map +1 -1
  1216. package/dist/smith/config.d.cts +2 -7
  1217. package/dist/smith/config.d.cts.map +1 -1
  1218. package/dist/smith/config.d.ts +2 -7
  1219. package/dist/smith/config.d.ts.map +1 -1
  1220. package/dist/smith/config.js.map +1 -1
  1221. package/dist/smith/name_generation.cjs.map +1 -1
  1222. package/dist/smith/name_generation.js.map +1 -1
  1223. package/dist/smith/progress.cjs.map +1 -1
  1224. package/dist/smith/progress.js.map +1 -1
  1225. package/dist/smith/runner_utils.cjs +11 -8
  1226. package/dist/smith/runner_utils.cjs.map +1 -1
  1227. package/dist/smith/runner_utils.d.cts +1 -2
  1228. package/dist/smith/runner_utils.d.cts.map +1 -1
  1229. package/dist/smith/runner_utils.d.ts +1 -2
  1230. package/dist/smith/runner_utils.d.ts.map +1 -1
  1231. package/dist/smith/runner_utils.js +11 -7
  1232. package/dist/smith/runner_utils.js.map +1 -1
  1233. package/dist/sql_db.cjs.map +1 -1
  1234. package/dist/sql_db.d.cts +1 -3
  1235. package/dist/sql_db.d.cts.map +1 -1
  1236. package/dist/sql_db.d.ts +1 -3
  1237. package/dist/sql_db.d.ts.map +1 -1
  1238. package/dist/sql_db.js.map +1 -1
  1239. package/dist/storage/encoder_backed.cjs.map +1 -1
  1240. package/dist/storage/encoder_backed.d.cts +0 -1
  1241. package/dist/storage/encoder_backed.d.cts.map +1 -1
  1242. package/dist/storage/encoder_backed.d.ts +0 -1
  1243. package/dist/storage/encoder_backed.d.ts.map +1 -1
  1244. package/dist/storage/encoder_backed.js.map +1 -1
  1245. package/dist/storage/file_system.cjs.map +1 -1
  1246. package/dist/storage/file_system.d.cts +20 -1
  1247. package/dist/storage/file_system.d.cts.map +1 -1
  1248. package/dist/storage/file_system.d.ts +20 -1
  1249. package/dist/storage/file_system.d.ts.map +1 -1
  1250. package/dist/storage/file_system.js.map +1 -1
  1251. package/dist/stores/doc/base.cjs.map +1 -1
  1252. package/dist/stores/doc/base.d.cts +0 -1
  1253. package/dist/stores/doc/base.d.cts.map +1 -1
  1254. package/dist/stores/doc/base.d.ts +0 -1
  1255. package/dist/stores/doc/base.d.ts.map +1 -1
  1256. package/dist/stores/doc/base.js.map +1 -1
  1257. package/dist/stores/doc/in_memory.cjs.map +1 -1
  1258. package/dist/stores/doc/in_memory.d.cts +0 -1
  1259. package/dist/stores/doc/in_memory.d.cts.map +1 -1
  1260. package/dist/stores/doc/in_memory.d.ts +0 -1
  1261. package/dist/stores/doc/in_memory.d.ts.map +1 -1
  1262. package/dist/stores/doc/in_memory.js.map +1 -1
  1263. package/dist/stores/file/base.cjs +0 -1
  1264. package/dist/stores/file/base.cjs.map +1 -1
  1265. package/dist/stores/file/base.d.cts +0 -1
  1266. package/dist/stores/file/base.d.cts.map +1 -1
  1267. package/dist/stores/file/base.d.ts +0 -1
  1268. package/dist/stores/file/base.d.ts.map +1 -1
  1269. package/dist/stores/file/base.js.map +1 -1
  1270. package/dist/stores/file/in_memory.cjs.map +1 -1
  1271. package/dist/stores/file/in_memory.d.cts +0 -1
  1272. package/dist/stores/file/in_memory.d.cts.map +1 -1
  1273. package/dist/stores/file/in_memory.d.ts +0 -1
  1274. package/dist/stores/file/in_memory.d.ts.map +1 -1
  1275. package/dist/stores/file/in_memory.js.map +1 -1
  1276. package/dist/stores/file/node.cjs +1 -0
  1277. package/dist/stores/file/node.cjs.map +1 -1
  1278. package/dist/stores/file/node.d.cts +0 -1
  1279. package/dist/stores/file/node.d.cts.map +1 -1
  1280. package/dist/stores/file/node.d.ts +0 -1
  1281. package/dist/stores/file/node.d.ts.map +1 -1
  1282. package/dist/stores/file/node.js +1 -0
  1283. package/dist/stores/file/node.js.map +1 -1
  1284. package/dist/text_splitter.d.cts +0 -3
  1285. package/dist/text_splitter.d.ts +0 -3
  1286. package/dist/tools/chain.cjs.map +1 -1
  1287. package/dist/tools/chain.d.cts +1 -5
  1288. package/dist/tools/chain.d.cts.map +1 -1
  1289. package/dist/tools/chain.d.ts +1 -5
  1290. package/dist/tools/chain.d.ts.map +1 -1
  1291. package/dist/tools/chain.js.map +1 -1
  1292. package/dist/tools/fs.cjs +0 -1
  1293. package/dist/tools/fs.cjs.map +1 -1
  1294. package/dist/tools/fs.d.cts +4 -15
  1295. package/dist/tools/fs.d.cts.map +1 -1
  1296. package/dist/tools/fs.d.ts +4 -15
  1297. package/dist/tools/fs.d.ts.map +1 -1
  1298. package/dist/tools/fs.js.map +1 -1
  1299. package/dist/tools/json.cjs +1 -0
  1300. package/dist/tools/json.cjs.map +1 -1
  1301. package/dist/tools/json.d.cts +1 -2
  1302. package/dist/tools/json.d.cts.map +1 -1
  1303. package/dist/tools/json.d.ts +1 -2
  1304. package/dist/tools/json.d.ts.map +1 -1
  1305. package/dist/tools/json.js +1 -0
  1306. package/dist/tools/json.js.map +1 -1
  1307. package/dist/tools/render.cjs.map +1 -1
  1308. package/dist/tools/render.d.cts +0 -1
  1309. package/dist/tools/render.d.cts.map +1 -1
  1310. package/dist/tools/render.d.ts +0 -1
  1311. package/dist/tools/render.d.ts.map +1 -1
  1312. package/dist/tools/render.js.map +1 -1
  1313. package/dist/tools/requests.cjs +2 -1
  1314. package/dist/tools/requests.cjs.map +1 -1
  1315. package/dist/tools/requests.d.cts +3 -8
  1316. package/dist/tools/requests.d.cts.map +1 -1
  1317. package/dist/tools/requests.d.ts +3 -8
  1318. package/dist/tools/requests.d.ts.map +1 -1
  1319. package/dist/tools/requests.js +2 -0
  1320. package/dist/tools/requests.js.map +1 -1
  1321. package/dist/tools/retriever.cjs.map +1 -1
  1322. package/dist/tools/retriever.d.cts +0 -1
  1323. package/dist/tools/retriever.d.cts.map +1 -1
  1324. package/dist/tools/retriever.d.ts +0 -1
  1325. package/dist/tools/retriever.d.ts.map +1 -1
  1326. package/dist/tools/retriever.js.map +1 -1
  1327. package/dist/tools/sql.cjs.map +1 -1
  1328. package/dist/tools/sql.d.cts +0 -1
  1329. package/dist/tools/sql.d.cts.map +1 -1
  1330. package/dist/tools/sql.d.ts +0 -1
  1331. package/dist/tools/sql.d.ts.map +1 -1
  1332. package/dist/tools/sql.js.map +1 -1
  1333. package/dist/tools/vectorstore.cjs +0 -1
  1334. package/dist/tools/vectorstore.cjs.map +1 -1
  1335. package/dist/tools/vectorstore.d.cts +0 -1
  1336. package/dist/tools/vectorstore.d.cts.map +1 -1
  1337. package/dist/tools/vectorstore.d.ts +0 -1
  1338. package/dist/tools/vectorstore.d.ts.map +1 -1
  1339. package/dist/tools/vectorstore.js.map +1 -1
  1340. package/dist/tools/webbrowser.cjs +2 -1
  1341. package/dist/tools/webbrowser.cjs.map +1 -1
  1342. package/dist/tools/webbrowser.d.cts +1 -8
  1343. package/dist/tools/webbrowser.d.cts.map +1 -1
  1344. package/dist/tools/webbrowser.d.ts +1 -8
  1345. package/dist/tools/webbrowser.d.ts.map +1 -1
  1346. package/dist/tools/webbrowser.js +2 -1
  1347. package/dist/tools/webbrowser.js.map +1 -1
  1348. package/dist/types/expression-parser.d.cts +1 -1
  1349. package/dist/types/expression-parser.d.cts.map +1 -1
  1350. package/dist/types/expression-parser.d.ts +1 -1
  1351. package/dist/types/expression-parser.d.ts.map +1 -1
  1352. package/dist/types/type-utils.d.cts.map +1 -1
  1353. package/dist/types/type-utils.d.ts.map +1 -1
  1354. package/dist/util/document.cjs.map +1 -1
  1355. package/dist/util/document.d.cts +0 -1
  1356. package/dist/util/document.d.cts.map +1 -1
  1357. package/dist/util/document.d.ts +0 -1
  1358. package/dist/util/document.d.ts.map +1 -1
  1359. package/dist/util/document.js.map +1 -1
  1360. package/dist/util/env.cjs +0 -1
  1361. package/dist/util/extname.cjs.map +1 -1
  1362. package/dist/util/extname.js.map +1 -1
  1363. package/dist/util/hub.cjs +0 -1
  1364. package/dist/util/hub.cjs.map +1 -1
  1365. package/dist/util/hub.js.map +1 -1
  1366. package/dist/util/is-network-error/index.cjs +1 -1
  1367. package/dist/util/is-network-error/index.cjs.map +1 -1
  1368. package/dist/util/is-network-error/index.js +1 -1
  1369. package/dist/util/is-network-error/index.js.map +1 -1
  1370. package/dist/util/load.cjs.map +1 -1
  1371. package/dist/util/load.d.cts.map +1 -1
  1372. package/dist/util/load.d.ts.map +1 -1
  1373. package/dist/util/load.js.map +1 -1
  1374. package/dist/util/ml-distance/distances.cjs.map +1 -1
  1375. package/dist/util/ml-distance/distances.js.map +1 -1
  1376. package/dist/util/ml-distance/similarities.cjs.map +1 -1
  1377. package/dist/util/ml-distance/similarities.d.cts.map +1 -1
  1378. package/dist/util/ml-distance/similarities.d.ts.map +1 -1
  1379. package/dist/util/ml-distance/similarities.js.map +1 -1
  1380. package/dist/util/ml-distance-euclidean/euclidean.cjs +1 -0
  1381. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
  1382. package/dist/util/ml-distance-euclidean/euclidean.js +1 -1
  1383. package/dist/util/ml-distance-euclidean/euclidean.js.map +1 -1
  1384. package/dist/util/openapi.cjs +1 -0
  1385. package/dist/util/openapi.cjs.map +1 -1
  1386. package/dist/util/openapi.d.cts +0 -1
  1387. package/dist/util/openapi.d.cts.map +1 -1
  1388. package/dist/util/openapi.d.ts +0 -1
  1389. package/dist/util/openapi.d.ts.map +1 -1
  1390. package/dist/util/openapi.js +1 -0
  1391. package/dist/util/openapi.js.map +1 -1
  1392. package/dist/util/p-retry/index.cjs +1 -0
  1393. package/dist/util/p-retry/index.cjs.map +1 -1
  1394. package/dist/util/p-retry/index.js +1 -1
  1395. package/dist/util/p-retry/index.js.map +1 -1
  1396. package/dist/util/parse.cjs +1 -0
  1397. package/dist/util/parse.cjs.map +1 -1
  1398. package/dist/util/parse.js +1 -1
  1399. package/dist/util/parse.js.map +1 -1
  1400. package/dist/util/set.cjs.map +1 -1
  1401. package/dist/util/set.js.map +1 -1
  1402. package/dist/util/sql_utils.cjs +12 -6
  1403. package/dist/util/sql_utils.cjs.map +1 -1
  1404. package/dist/util/sql_utils.d.cts +1 -2
  1405. package/dist/util/sql_utils.d.cts.map +1 -1
  1406. package/dist/util/sql_utils.d.ts +1 -2
  1407. package/dist/util/sql_utils.d.ts.map +1 -1
  1408. package/dist/util/sql_utils.js +12 -6
  1409. package/dist/util/sql_utils.js.map +1 -1
  1410. package/dist/util/time.cjs.map +1 -1
  1411. package/dist/util/time.d.cts.map +1 -1
  1412. package/dist/util/time.d.ts.map +1 -1
  1413. package/dist/util/time.js.map +1 -1
  1414. package/dist/vectorstores/memory.cjs.map +1 -1
  1415. package/dist/vectorstores/memory.d.cts +1 -5
  1416. package/dist/vectorstores/memory.d.cts.map +1 -1
  1417. package/dist/vectorstores/memory.d.ts +1 -5
  1418. package/dist/vectorstores/memory.d.ts.map +1 -1
  1419. package/dist/vectorstores/memory.js.map +1 -1
  1420. package/package.json +30 -30
@@ -4,7 +4,6 @@ import { MultiRouteChain, MultiRouteChainInput } from "./multi_route.js";
4
4
  import { PromptTemplate } from "@langchain/core/prompts";
5
5
  import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
6
6
  import { BaseRetrieverInterface } from "@langchain/core/retrievers";
7
-
8
7
  //#region src/chains/router/multi_retrieval_qa.d.ts
9
8
  /**
10
9
  * A type that represents the default values for the MultiRetrievalQAChain
@@ -73,15 +72,7 @@ declare class MultiRetrievalQAChain extends MultiRouteChain {
73
72
  * @param retrievalQAChainOpts Additional optional parameters for the retrieval QA chain.
74
73
  * @returns A new instance of MultiRetrievalQAChain.
75
74
  */
76
- static fromLLMAndRetrievers(llm: BaseLanguageModelInterface, {
77
- retrieverNames,
78
- retrieverDescriptions,
79
- retrievers,
80
- retrieverPrompts,
81
- defaults,
82
- multiRetrievalChainOpts,
83
- retrievalQAChainOpts
84
- }: {
75
+ static fromLLMAndRetrievers(llm: BaseLanguageModelInterface, { retrieverNames, retrieverDescriptions, retrievers, retrieverPrompts, defaults, multiRetrievalChainOpts, retrievalQAChainOpts }: {
85
76
  retrieverNames: string[];
86
77
  retrieverDescriptions: string[];
87
78
  retrievers: BaseRetrieverInterface[];
@@ -95,5 +86,5 @@ declare class MultiRetrievalQAChain extends MultiRouteChain {
95
86
  _chainType(): string;
96
87
  }
97
88
  //#endregion
98
- export { MultiRetrievalQAChain };
89
+ export { MultiRetrievalDefaults, MultiRetrievalQAChain };
99
90
  //# sourceMappingURL=multi_retrieval_qa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi_retrieval_qa.d.ts","names":[],"sources":["../../../src/chains/router/multi_retrieval_qa.ts"],"mappings":";;;;;;;;;;AAwBA;;;KAAY,sBAAA;EACV,gBAAA,GAAmB,sBAAA;EACnB,aAAA,GAAgB,cAAA;EAChB,YAAA,GAAe,SAAA;AAAA;;;;;;;;;AAsCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAa,qBAAA,SAA8B,eAAA;EAAA,IACrC,UAAA,CAAA;EADoD;;;EAAA,OAQjD,cAAA,CACL,GAAA,EAAK,0BAAA,EACL,cAAA,YACA,qBAAA,YACA,UAAA,EAAY,sBAAA,IACZ,gBAAA,GAAmB,cAAA,IACnB,QAAA,GAAW,sBAAA,EACX,OAAA,GAAU,IAAA,CAAK,oBAAA,oBAAqC,qBAAA;EAP/C;;;;;;;;;;;;;;;;EAAA,OAmCA,oBAAA,CACL,GAAA,EAAK,0BAAA;IAEH,cAAA;IACA,qBAAA;IACA,UAAA;IACA,gBAAA;IACA,QAAA;IACA,uBAAA;IACA;EAAA;IAEA,cAAA;IACA,qBAAA;IACA,UAAA,EAAY,sBAAA;IACZ,gBAAA,GAAmB,cAAA;IACnB,QAAA,GAAW,sBAAA;IACX,uBAAA,GAA0B,IAAA,CAAK,oBAAA;IAC/B,oBAAA,GAAuB,OAAA,CACrB,IAAA,CAAK,qBAAA;MAEL,MAAA,GAAS,cAAA;IAAA;EAAA,IAGZ,qBAAA;EA4FH,UAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"multi_retrieval_qa.d.ts","names":[],"sources":["../../../src/chains/router/multi_retrieval_qa.ts"],"mappings":";;;;;;;;;;;;KAwBY;EACV,mBAAmB;EACnB,gBAAgB;EAChB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsCJ,8BAA8B;MACrC;;;;SAOG,eACL,KAAK,4BACL,0BACA,iCACA,YAAY,0BACZ,mBAAmB,kBACnB,WAAW,wBACX,UAAU,KAAK,wCAAqC;;;;;;;;;;;;;;;;;SA4B/C,qBACL,KAAK,8BAEH,gBACA,uBACA,YACA,kBACA,UACA,yBACA;IAEA;IACA;IACA,YAAY;IACZ,mBAAmB;IACnB,WAAW;IACX,0BAA0B,KAAK;IAC/B,uBAAuB,QACrB,KAAK;MAEL,SAAS;;MAGZ;EA4FH"}
@@ -1 +1 @@
1
- {"version":3,"file":"multi_retrieval_qa.js","names":[],"sources":["../../../src/chains/router/multi_retrieval_qa.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { BaseRetrieverInterface } from \"@langchain/core/retrievers\";\nimport { interpolateFString, PromptTemplate } from \"@langchain/core/prompts\";\nimport { MultiRouteChain, MultiRouteChainInput } from \"./multi_route.js\";\nimport { BaseChain } from \"../../chains/base.js\";\nimport { LLMRouterChain } from \"./llm_router.js\";\nimport {\n ConversationChain,\n DEFAULT_TEMPLATE,\n} from \"../../chains/conversation.js\";\nimport { STRUCTURED_MULTI_RETRIEVAL_ROUTER_TEMPLATE } from \"./multi_retrieval_prompt.js\";\nimport { zipEntries } from \"./utils.js\";\nimport {\n RetrievalQAChain,\n RetrievalQAChainInput,\n} from \"../../chains/retrieval_qa.js\";\nimport { RouterOutputParser } from \"../../output_parsers/router.js\";\n\n/**\n * A type that represents the default values for the MultiRetrievalQAChain\n * class. It includes optional properties for the default retriever,\n * default prompt, and default chain.\n */\nexport type MultiRetrievalDefaults = {\n defaultRetriever?: BaseRetrieverInterface;\n defaultPrompt?: PromptTemplate;\n defaultChain?: BaseChain;\n};\n\n/**\n * A class that represents a multi-retrieval question answering chain in\n * the LangChain framework. It extends the MultiRouteChain class and\n * provides additional functionality specific to multi-retrieval QA\n * chains.\n * @example\n * ```typescript\n * const multiRetrievalQAChain = MultiRetrievalQAChain.fromLLMAndRetrievers(\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * {\n * retrieverNames: [\"aqua teen\", \"mst3k\", \"animaniacs\"],\n * retrieverDescriptions: [\n * \"Good for answering questions about Aqua Teen Hunger Force theme song\",\n * \"Good for answering questions about Mystery Science Theater 3000 theme song\",\n * \"Good for answering questions about Animaniacs theme song\",\n * ],\n * retrievers: [\n * new MemoryVectorStore().asRetriever(3),\n * new MemoryVectorStore().asRetriever(3),\n * new MemoryVectorStore().asRetriever(3),\n * ],\n * retrievalQAChainOpts: {\n * returnSourceDocuments: true,\n * },\n * },\n * );\n *\n * const result = await multiRetrievalQAChain.call({\n * input:\n * \"In the Aqua Teen Hunger Force theme song, who calls himself the mike rula?\",\n * });\n *\n * console.log(result.sourceDocuments, result.text);\n * ```\n */\nexport class MultiRetrievalQAChain extends MultiRouteChain {\n get outputKeys(): string[] {\n return [\"result\"];\n }\n\n /**\n * @deprecated Use `fromRetrieversAndPrompts` instead\n */\n static fromRetrievers(\n llm: BaseLanguageModelInterface,\n retrieverNames: string[],\n retrieverDescriptions: string[],\n retrievers: BaseRetrieverInterface[],\n retrieverPrompts?: PromptTemplate[],\n defaults?: MultiRetrievalDefaults,\n options?: Omit<MultiRouteChainInput, \"defaultChain\">\n ) {\n return MultiRetrievalQAChain.fromLLMAndRetrievers(llm, {\n retrieverNames,\n retrieverDescriptions,\n retrievers,\n retrieverPrompts,\n defaults,\n multiRetrievalChainOpts: options,\n });\n }\n\n /**\n * A static method that creates an instance of MultiRetrievalQAChain from\n * a BaseLanguageModel and a set of retrievers. It takes in optional\n * parameters for the retriever names, descriptions, prompts, defaults,\n * and additional options. It is an alternative method to fromRetrievers\n * and provides more flexibility in configuring the underlying chains.\n * @param llm A BaseLanguageModel instance.\n * @param retrieverNames An array of retriever names.\n * @param retrieverDescriptions An array of retriever descriptions.\n * @param retrievers An array of BaseRetrieverInterface instances.\n * @param retrieverPrompts An optional array of PromptTemplate instances for the retrievers.\n * @param defaults An optional MultiRetrievalDefaults instance.\n * @param multiRetrievalChainOpts Additional optional parameters for the multi-retrieval chain.\n * @param retrievalQAChainOpts Additional optional parameters for the retrieval QA chain.\n * @returns A new instance of MultiRetrievalQAChain.\n */\n static fromLLMAndRetrievers(\n llm: BaseLanguageModelInterface,\n {\n retrieverNames,\n retrieverDescriptions,\n retrievers,\n retrieverPrompts,\n defaults,\n multiRetrievalChainOpts,\n retrievalQAChainOpts,\n }: {\n retrieverNames: string[];\n retrieverDescriptions: string[];\n retrievers: BaseRetrieverInterface[];\n retrieverPrompts?: PromptTemplate[];\n defaults?: MultiRetrievalDefaults;\n multiRetrievalChainOpts?: Omit<MultiRouteChainInput, \"defaultChain\">;\n retrievalQAChainOpts?: Partial<\n Omit<RetrievalQAChainInput, \"retriever\" | \"combineDocumentsChain\">\n > & {\n prompt?: PromptTemplate;\n };\n }\n ): MultiRetrievalQAChain {\n const { defaultRetriever, defaultPrompt, defaultChain } = defaults ?? {};\n if (defaultPrompt && !defaultRetriever) {\n throw new Error(\n \"`default_retriever` must be specified if `default_prompt` is \\nprovided. Received only `default_prompt`.\"\n );\n }\n const destinations = zipEntries<[string, string]>(\n retrieverNames,\n retrieverDescriptions\n ).map(([name, desc]) => `${name}: ${desc}`);\n\n const structuredOutputParserSchema = z.object({\n destination: z\n .string()\n .optional()\n .describe('name of the question answering system to use or \"DEFAULT\"'),\n next_inputs: z\n .object({\n query: z\n .string()\n .describe(\"a potentially modified version of the original input\"),\n })\n .describe(\"input to be fed to the next model\"),\n });\n\n const outputParser = new RouterOutputParser<\n typeof structuredOutputParserSchema\n >(structuredOutputParserSchema);\n\n const destinationsStr = destinations.join(\"\\n\");\n const routerTemplate = interpolateFString(\n STRUCTURED_MULTI_RETRIEVAL_ROUTER_TEMPLATE(\n outputParser.getFormatInstructions({ interpolationDepth: 4 })\n ),\n {\n destinations: destinationsStr,\n }\n );\n const routerPrompt = new PromptTemplate({\n template: routerTemplate,\n inputVariables: [\"input\"],\n outputParser,\n });\n\n const routerChain = LLMRouterChain.fromLLM(llm, routerPrompt);\n const prompts = retrieverPrompts ?? retrievers.map(() => null);\n const destinationChains = zipEntries<\n [string, BaseRetrieverInterface, PromptTemplate | null]\n >(retrieverNames, retrievers, prompts).reduce(\n (acc, [name, retriever, prompt]) => {\n const opt: Partial<RetrievalQAChainInput> & {\n prompt?: PromptTemplate;\n } = retrievalQAChainOpts ?? {};\n if (prompt) {\n opt.prompt = prompt;\n }\n acc[name] = RetrievalQAChain.fromLLM(llm, retriever, opt);\n return acc;\n },\n {} as { [name: string]: RetrievalQAChain }\n );\n\n let _defaultChain;\n if (defaultChain) {\n _defaultChain = defaultChain;\n } else if (defaultRetriever) {\n _defaultChain = RetrievalQAChain.fromLLM(llm, defaultRetriever, {\n ...retrievalQAChainOpts,\n prompt: defaultPrompt,\n });\n } else {\n const promptTemplate = DEFAULT_TEMPLATE.replace(\"input\", \"query\");\n const prompt = new PromptTemplate({\n template: promptTemplate,\n inputVariables: [\"history\", \"query\"],\n });\n _defaultChain = new ConversationChain({\n llm,\n prompt,\n outputKey: \"result\",\n });\n }\n\n return new MultiRetrievalQAChain({\n ...multiRetrievalChainOpts,\n routerChain,\n destinationChains,\n defaultChain: _defaultChain,\n });\n }\n\n _chainType(): string {\n return \"multi_retrieval_qa_chain\";\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,IAAa,wBAAb,MAAa,8BAA8B,gBAAgB;CACzD,IAAI,aAAuB;AACzB,SAAO,CAAC,SAAS;;;;;CAMnB,OAAO,eACL,KACA,gBACA,uBACA,YACA,kBACA,UACA,SACA;AACA,SAAO,sBAAsB,qBAAqB,KAAK;GACrD;GACA;GACA;GACA;GACA;GACA,yBAAyB;GAC1B,CAAC;;;;;;;;;;;;;;;;;;CAmBJ,OAAO,qBACL,KACA,EACE,gBACA,uBACA,YACA,kBACA,UACA,yBACA,wBAcqB;EACvB,MAAM,EAAE,kBAAkB,eAAe,iBAAiB,YAAY,EAAE;AACxE,MAAI,iBAAiB,CAAC,iBACpB,OAAM,IAAI,MACR,2GACD;EAEH,MAAM,eAAe,WACnB,gBACA,sBACD,CAAC,KAAK,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,OAAO;EAgB3C,MAAM,eAAe,IAAI,mBAdY,EAAE,OAAO;GAC5C,aAAa,EACV,QAAQ,CACR,UAAU,CACV,SAAS,8DAA4D;GACxE,aAAa,EACV,OAAO,EACN,OAAO,EACJ,QAAQ,CACR,SAAS,uDAAuD,EACpE,CAAC,CACD,SAAS,oCAAoC;GACjD,CAI6B,CAAC;EAE/B,MAAM,kBAAkB,aAAa,KAAK,KAAK;EAS/C,MAAM,eAAe,IAAI,eAAe;GACtC,UATqB,mBACrB,2CACE,aAAa,sBAAsB,EAAE,oBAAoB,GAAG,CAAC,CAC9D,EACD,EACE,cAAc,iBACf,CAGuB;GACxB,gBAAgB,CAAC,QAAQ;GACzB;GACD,CAAC;EAEF,MAAM,cAAc,eAAe,QAAQ,KAAK,aAAa;EAE7D,MAAM,oBAAoB,WAExB,gBAAgB,YAHF,oBAAoB,WAAW,UAAU,KAAK,CAGxB,CAAC,QACpC,KAAK,CAAC,MAAM,WAAW,YAAY;GAClC,MAAM,MAEF,wBAAwB,EAAE;AAC9B,OAAI,OACF,KAAI,SAAS;AAEf,OAAI,QAAQ,iBAAiB,QAAQ,KAAK,WAAW,IAAI;AACzD,UAAO;KAET,EAAE,CACH;EAED,IAAI;AACJ,MAAI,aACF,iBAAgB;WACP,iBACT,iBAAgB,iBAAiB,QAAQ,KAAK,kBAAkB;GAC9D,GAAG;GACH,QAAQ;GACT,CAAC;MAOF,iBAAgB,IAAI,kBAAkB;GACpC;GACA,QAAA,IANiB,eAAe;IAChC,UAFqB,iBAAiB,QAAQ,SAAS,QAE/B;IACxB,gBAAgB,CAAC,WAAW,QAAQ;IACrC,CAGO;GACN,WAAW;GACZ,CAAC;AAGJ,SAAO,IAAI,sBAAsB;GAC/B,GAAG;GACH;GACA;GACA,cAAc;GACf,CAAC;;CAGJ,aAAqB;AACnB,SAAO"}
1
+ {"version":3,"file":"multi_retrieval_qa.js","names":[],"sources":["../../../src/chains/router/multi_retrieval_qa.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { BaseRetrieverInterface } from \"@langchain/core/retrievers\";\nimport { interpolateFString, PromptTemplate } from \"@langchain/core/prompts\";\nimport { MultiRouteChain, MultiRouteChainInput } from \"./multi_route.js\";\nimport { BaseChain } from \"../../chains/base.js\";\nimport { LLMRouterChain } from \"./llm_router.js\";\nimport {\n ConversationChain,\n DEFAULT_TEMPLATE,\n} from \"../../chains/conversation.js\";\nimport { STRUCTURED_MULTI_RETRIEVAL_ROUTER_TEMPLATE } from \"./multi_retrieval_prompt.js\";\nimport { zipEntries } from \"./utils.js\";\nimport {\n RetrievalQAChain,\n RetrievalQAChainInput,\n} from \"../../chains/retrieval_qa.js\";\nimport { RouterOutputParser } from \"../../output_parsers/router.js\";\n\n/**\n * A type that represents the default values for the MultiRetrievalQAChain\n * class. It includes optional properties for the default retriever,\n * default prompt, and default chain.\n */\nexport type MultiRetrievalDefaults = {\n defaultRetriever?: BaseRetrieverInterface;\n defaultPrompt?: PromptTemplate;\n defaultChain?: BaseChain;\n};\n\n/**\n * A class that represents a multi-retrieval question answering chain in\n * the LangChain framework. It extends the MultiRouteChain class and\n * provides additional functionality specific to multi-retrieval QA\n * chains.\n * @example\n * ```typescript\n * const multiRetrievalQAChain = MultiRetrievalQAChain.fromLLMAndRetrievers(\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * {\n * retrieverNames: [\"aqua teen\", \"mst3k\", \"animaniacs\"],\n * retrieverDescriptions: [\n * \"Good for answering questions about Aqua Teen Hunger Force theme song\",\n * \"Good for answering questions about Mystery Science Theater 3000 theme song\",\n * \"Good for answering questions about Animaniacs theme song\",\n * ],\n * retrievers: [\n * new MemoryVectorStore().asRetriever(3),\n * new MemoryVectorStore().asRetriever(3),\n * new MemoryVectorStore().asRetriever(3),\n * ],\n * retrievalQAChainOpts: {\n * returnSourceDocuments: true,\n * },\n * },\n * );\n *\n * const result = await multiRetrievalQAChain.call({\n * input:\n * \"In the Aqua Teen Hunger Force theme song, who calls himself the mike rula?\",\n * });\n *\n * console.log(result.sourceDocuments, result.text);\n * ```\n */\nexport class MultiRetrievalQAChain extends MultiRouteChain {\n get outputKeys(): string[] {\n return [\"result\"];\n }\n\n /**\n * @deprecated Use `fromRetrieversAndPrompts` instead\n */\n static fromRetrievers(\n llm: BaseLanguageModelInterface,\n retrieverNames: string[],\n retrieverDescriptions: string[],\n retrievers: BaseRetrieverInterface[],\n retrieverPrompts?: PromptTemplate[],\n defaults?: MultiRetrievalDefaults,\n options?: Omit<MultiRouteChainInput, \"defaultChain\">\n ) {\n return MultiRetrievalQAChain.fromLLMAndRetrievers(llm, {\n retrieverNames,\n retrieverDescriptions,\n retrievers,\n retrieverPrompts,\n defaults,\n multiRetrievalChainOpts: options,\n });\n }\n\n /**\n * A static method that creates an instance of MultiRetrievalQAChain from\n * a BaseLanguageModel and a set of retrievers. It takes in optional\n * parameters for the retriever names, descriptions, prompts, defaults,\n * and additional options. It is an alternative method to fromRetrievers\n * and provides more flexibility in configuring the underlying chains.\n * @param llm A BaseLanguageModel instance.\n * @param retrieverNames An array of retriever names.\n * @param retrieverDescriptions An array of retriever descriptions.\n * @param retrievers An array of BaseRetrieverInterface instances.\n * @param retrieverPrompts An optional array of PromptTemplate instances for the retrievers.\n * @param defaults An optional MultiRetrievalDefaults instance.\n * @param multiRetrievalChainOpts Additional optional parameters for the multi-retrieval chain.\n * @param retrievalQAChainOpts Additional optional parameters for the retrieval QA chain.\n * @returns A new instance of MultiRetrievalQAChain.\n */\n static fromLLMAndRetrievers(\n llm: BaseLanguageModelInterface,\n {\n retrieverNames,\n retrieverDescriptions,\n retrievers,\n retrieverPrompts,\n defaults,\n multiRetrievalChainOpts,\n retrievalQAChainOpts,\n }: {\n retrieverNames: string[];\n retrieverDescriptions: string[];\n retrievers: BaseRetrieverInterface[];\n retrieverPrompts?: PromptTemplate[];\n defaults?: MultiRetrievalDefaults;\n multiRetrievalChainOpts?: Omit<MultiRouteChainInput, \"defaultChain\">;\n retrievalQAChainOpts?: Partial<\n Omit<RetrievalQAChainInput, \"retriever\" | \"combineDocumentsChain\">\n > & {\n prompt?: PromptTemplate;\n };\n }\n ): MultiRetrievalQAChain {\n const { defaultRetriever, defaultPrompt, defaultChain } = defaults ?? {};\n if (defaultPrompt && !defaultRetriever) {\n throw new Error(\n \"`default_retriever` must be specified if `default_prompt` is \\nprovided. Received only `default_prompt`.\"\n );\n }\n const destinations = zipEntries<[string, string]>(\n retrieverNames,\n retrieverDescriptions\n ).map(([name, desc]) => `${name}: ${desc}`);\n\n const structuredOutputParserSchema = z.object({\n destination: z\n .string()\n .optional()\n .describe('name of the question answering system to use or \"DEFAULT\"'),\n next_inputs: z\n .object({\n query: z\n .string()\n .describe(\"a potentially modified version of the original input\"),\n })\n .describe(\"input to be fed to the next model\"),\n });\n\n const outputParser = new RouterOutputParser<\n typeof structuredOutputParserSchema\n >(structuredOutputParserSchema);\n\n const destinationsStr = destinations.join(\"\\n\");\n const routerTemplate = interpolateFString(\n STRUCTURED_MULTI_RETRIEVAL_ROUTER_TEMPLATE(\n outputParser.getFormatInstructions({ interpolationDepth: 4 })\n ),\n {\n destinations: destinationsStr,\n }\n );\n const routerPrompt = new PromptTemplate({\n template: routerTemplate,\n inputVariables: [\"input\"],\n outputParser,\n });\n\n const routerChain = LLMRouterChain.fromLLM(llm, routerPrompt);\n const prompts = retrieverPrompts ?? retrievers.map(() => null);\n const destinationChains = zipEntries<\n [string, BaseRetrieverInterface, PromptTemplate | null]\n >(retrieverNames, retrievers, prompts).reduce(\n (acc, [name, retriever, prompt]) => {\n const opt: Partial<RetrievalQAChainInput> & {\n prompt?: PromptTemplate;\n } = retrievalQAChainOpts ?? {};\n if (prompt) {\n opt.prompt = prompt;\n }\n acc[name] = RetrievalQAChain.fromLLM(llm, retriever, opt);\n return acc;\n },\n {} as { [name: string]: RetrievalQAChain }\n );\n\n let _defaultChain;\n if (defaultChain) {\n _defaultChain = defaultChain;\n } else if (defaultRetriever) {\n _defaultChain = RetrievalQAChain.fromLLM(llm, defaultRetriever, {\n ...retrievalQAChainOpts,\n prompt: defaultPrompt,\n });\n } else {\n const promptTemplate = DEFAULT_TEMPLATE.replace(\"input\", \"query\");\n const prompt = new PromptTemplate({\n template: promptTemplate,\n inputVariables: [\"history\", \"query\"],\n });\n _defaultChain = new ConversationChain({\n llm,\n prompt,\n outputKey: \"result\",\n });\n }\n\n return new MultiRetrievalQAChain({\n ...multiRetrievalChainOpts,\n routerChain,\n destinationChains,\n defaultChain: _defaultChain,\n });\n }\n\n _chainType(): string {\n return \"multi_retrieval_qa_chain\";\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,IAAa,wBAAb,MAAa,8BAA8B,gBAAgB;CACzD,IAAI,aAAuB;EACzB,OAAO,CAAC,QAAQ;CAClB;;;;CAKA,OAAO,eACL,KACA,gBACA,uBACA,YACA,kBACA,UACA,SACA;EACA,OAAO,sBAAsB,qBAAqB,KAAK;GACrD;GACA;GACA;GACA;GACA;GACA,yBAAyB;EAC3B,CAAC;CACH;;;;;;;;;;;;;;;;;CAkBA,OAAO,qBACL,KACA,EACE,gBACA,uBACA,YACA,kBACA,UACA,yBACA,wBAcqB;EACvB,MAAM,EAAE,kBAAkB,eAAe,iBAAiB,YAAY,CAAC;EACvE,IAAI,iBAAiB,CAAC,kBACpB,MAAM,IAAI,MACR,0GACF;EAEF,MAAM,eAAe,WACnB,gBACA,qBACF,CAAC,CAAC,KAAK,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,MAAM;EAgB1C,MAAM,eAAe,IAAI,mBAdY,EAAE,OAAO;GAC5C,aAAa,EACV,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SAAS,6DAA2D;GACvE,aAAa,EACV,OAAO,EACN,OAAO,EACJ,OAAO,CAAC,CACR,SAAS,sDAAsD,EACpE,CAAC,CAAC,CACD,SAAS,mCAAmC;EACjD,CAI6B,CAAC;EAE9B,MAAM,kBAAkB,aAAa,KAAK,IAAI;EAS9C,MAAM,eAAe,IAAI,eAAe;GACtC,UATqB,mBACrB,2CACE,aAAa,sBAAsB,EAAE,oBAAoB,EAAE,CAAC,CAC9D,GACA,EACE,cAAc,gBAChB,CAGuB;GACvB,gBAAgB,CAAC,OAAO;GACxB;EACF,CAAC;EAED,MAAM,cAAc,eAAe,QAAQ,KAAK,YAAY;EAE5D,MAAM,oBAAoB,WAExB,gBAAgB,YAHF,oBAAoB,WAAW,UAAU,IAAI,CAGxB,CAAC,CAAC,QACpC,KAAK,CAAC,MAAM,WAAW,YAAY;GAClC,MAAM,MAEF,wBAAwB,CAAC;GAC7B,IAAI,QACF,IAAI,SAAS;GAEf,IAAI,QAAQ,iBAAiB,QAAQ,KAAK,WAAW,GAAG;GACxD,OAAO;EACT,GACA,CAAC,CACH;EAEA,IAAI;EACJ,IAAI,cACF,gBAAgB;OACX,IAAI,kBACT,gBAAgB,iBAAiB,QAAQ,KAAK,kBAAkB;GAC9D,GAAG;GACH,QAAQ;EACV,CAAC;OAOD,gBAAgB,IAAI,kBAAkB;GACpC;GACA,QAAA,IANiB,eAAe;IAChC,UAFqB,iBAAiB,QAAQ,SAAS,OAEhC;IACvB,gBAAgB,CAAC,WAAW,OAAO;GACrC,CAGO;GACL,WAAW;EACb,CAAC;EAGH,OAAO,IAAI,sBAAsB;GAC/B,GAAG;GACH;GACA;GACA,cAAc;EAChB,CAAC;CACH;CAEA,aAAqB;EACnB,OAAO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"multi_route.cjs","names":["BaseChain"],"sources":["../../../src/chains/router/multi_route.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n CallbackManagerForChainRun,\n Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\n\n/**\n * A type that represents the inputs for the MultiRouteChain. It is a\n * recursive type that can contain nested objects, arrays, strings, and\n * numbers.\n */\ntype Inputs = {\n [key: string]: Inputs | Inputs[] | string | string[] | number | number[];\n};\n\n/**\n * An interface that represents the route returned by the RouterChain. It\n * includes optional fields for the destination and nextInputs.\n */\nexport interface Route {\n destination?: string;\n nextInputs: { [key: string]: Inputs };\n}\n\n/**\n * An interface that extends the ChainInputs interface and adds additional\n * properties for the routerChain, destinationChains, defaultChain, and\n * silentErrors. It represents the input expected by the MultiRouteChain\n * class.\n */\nexport interface MultiRouteChainInput extends ChainInputs {\n routerChain: RouterChain;\n destinationChains: { [name: string]: BaseChain };\n defaultChain: BaseChain;\n silentErrors?: boolean;\n}\n\n/**\n * A class that represents a router chain. It\n * extends the BaseChain class and provides functionality for routing\n * inputs to different chains.\n */\nexport abstract class RouterChain extends BaseChain {\n get outputKeys(): string[] {\n return [\"destination\", \"next_inputs\"];\n }\n\n async route(inputs: ChainValues, callbacks?: Callbacks): Promise<Route> {\n const result = await this.call(inputs, callbacks);\n return {\n destination: result.destination,\n nextInputs: result.next_inputs,\n };\n }\n}\n\n/**\n * A class that represents a multi-route chain.\n * It extends the BaseChain class and provides functionality for routing\n * inputs to different chains based on a router chain.\n */\nexport class MultiRouteChain extends BaseChain {\n static lc_name() {\n return \"MultiRouteChain\";\n }\n\n routerChain: RouterChain;\n\n destinationChains: { [name: string]: BaseChain };\n\n defaultChain: BaseChain;\n\n silentErrors = false;\n\n constructor(fields: MultiRouteChainInput) {\n super(fields);\n this.routerChain = fields.routerChain;\n this.destinationChains = fields.destinationChains;\n this.defaultChain = fields.defaultChain;\n this.silentErrors = fields.silentErrors ?? this.silentErrors;\n }\n\n get inputKeys(): string[] {\n return this.routerChain.inputKeys;\n }\n\n get outputKeys(): string[] {\n return [];\n }\n\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const { destination, nextInputs } = await this.routerChain.route(\n values,\n runManager?.getChild()\n );\n await runManager?.handleText(\n `${destination}: ${JSON.stringify(nextInputs)}`\n );\n if (!destination) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n if (destination in this.destinationChains) {\n return this.destinationChains[destination]\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in ${destination} chain: ${err}`);\n });\n }\n if (this.silentErrors) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n throw new Error(\n `Destination ${destination} not found in destination chains with keys ${Object.keys(\n this.destinationChains\n )}`\n );\n }\n\n _chainType(): string {\n return \"multi_route_chain\";\n }\n}\n"],"mappings":";;;;;;;AA2CA,IAAsB,cAAtB,cAA0CA,aAAAA,UAAU;CAClD,IAAI,aAAuB;AACzB,SAAO,CAAC,eAAe,cAAc;;CAGvC,MAAM,MAAM,QAAqB,WAAuC;EACtE,MAAM,SAAS,MAAM,KAAK,KAAK,QAAQ,UAAU;AACjD,SAAO;GACL,aAAa,OAAO;GACpB,YAAY,OAAO;GACpB;;;;;;;;AASL,IAAa,kBAAb,cAAqCA,aAAAA,UAAU;CAC7C,OAAO,UAAU;AACf,SAAO;;CAGT;CAEA;CAEA;CAEA,eAAe;CAEf,YAAY,QAA8B;AACxC,QAAM,OAAO;AACb,OAAK,cAAc,OAAO;AAC1B,OAAK,oBAAoB,OAAO;AAChC,OAAK,eAAe,OAAO;AAC3B,OAAK,eAAe,OAAO,gBAAgB,KAAK;;CAGlD,IAAI,YAAsB;AACxB,SAAO,KAAK,YAAY;;CAG1B,IAAI,aAAuB;AACzB,SAAO,EAAE;;CAGX,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,EAAE,aAAa,eAAe,MAAM,KAAK,YAAY,MACzD,QACA,YAAY,UAAU,CACvB;AACD,QAAM,YAAY,WAChB,GAAG,YAAY,IAAI,KAAK,UAAU,WAAW,GAC9C;AACD,MAAI,CAAC,YACH,QAAO,KAAK,aACT,KAAK,YAAY,YAAY,UAAU,CAAC,CACxC,OAAO,QAAQ;AACd,SAAM,IAAI,MAAM,2BAA2B,MAAM;IACjD;AAEN,MAAI,eAAe,KAAK,kBACtB,QAAO,KAAK,kBAAkB,aAC3B,KAAK,YAAY,YAAY,UAAU,CAAC,CACxC,OAAO,QAAQ;AACd,SAAM,IAAI,MAAM,YAAY,YAAY,UAAU,MAAM;IACxD;AAEN,MAAI,KAAK,aACP,QAAO,KAAK,aACT,KAAK,YAAY,YAAY,UAAU,CAAC,CACxC,OAAO,QAAQ;AACd,SAAM,IAAI,MAAM,2BAA2B,MAAM;IACjD;AAEN,QAAM,IAAI,MACR,eAAe,YAAY,6CAA6C,OAAO,KAC7E,KAAK,kBACN,GACF;;CAGH,aAAqB;AACnB,SAAO"}
1
+ {"version":3,"file":"multi_route.cjs","names":["BaseChain"],"sources":["../../../src/chains/router/multi_route.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n CallbackManagerForChainRun,\n Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\n\n/**\n * A type that represents the inputs for the MultiRouteChain. It is a\n * recursive type that can contain nested objects, arrays, strings, and\n * numbers.\n */\ntype Inputs = {\n [key: string]: Inputs | Inputs[] | string | string[] | number | number[];\n};\n\n/**\n * An interface that represents the route returned by the RouterChain. It\n * includes optional fields for the destination and nextInputs.\n */\nexport interface Route {\n destination?: string;\n nextInputs: { [key: string]: Inputs };\n}\n\n/**\n * An interface that extends the ChainInputs interface and adds additional\n * properties for the routerChain, destinationChains, defaultChain, and\n * silentErrors. It represents the input expected by the MultiRouteChain\n * class.\n */\nexport interface MultiRouteChainInput extends ChainInputs {\n routerChain: RouterChain;\n destinationChains: { [name: string]: BaseChain };\n defaultChain: BaseChain;\n silentErrors?: boolean;\n}\n\n/**\n * A class that represents a router chain. It\n * extends the BaseChain class and provides functionality for routing\n * inputs to different chains.\n */\nexport abstract class RouterChain extends BaseChain {\n get outputKeys(): string[] {\n return [\"destination\", \"next_inputs\"];\n }\n\n async route(inputs: ChainValues, callbacks?: Callbacks): Promise<Route> {\n const result = await this.call(inputs, callbacks);\n return {\n destination: result.destination,\n nextInputs: result.next_inputs,\n };\n }\n}\n\n/**\n * A class that represents a multi-route chain.\n * It extends the BaseChain class and provides functionality for routing\n * inputs to different chains based on a router chain.\n */\nexport class MultiRouteChain extends BaseChain {\n static lc_name() {\n return \"MultiRouteChain\";\n }\n\n routerChain: RouterChain;\n\n destinationChains: { [name: string]: BaseChain };\n\n defaultChain: BaseChain;\n\n silentErrors = false;\n\n constructor(fields: MultiRouteChainInput) {\n super(fields);\n this.routerChain = fields.routerChain;\n this.destinationChains = fields.destinationChains;\n this.defaultChain = fields.defaultChain;\n this.silentErrors = fields.silentErrors ?? this.silentErrors;\n }\n\n get inputKeys(): string[] {\n return this.routerChain.inputKeys;\n }\n\n get outputKeys(): string[] {\n return [];\n }\n\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const { destination, nextInputs } = await this.routerChain.route(\n values,\n runManager?.getChild()\n );\n await runManager?.handleText(\n `${destination}: ${JSON.stringify(nextInputs)}`\n );\n if (!destination) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n if (destination in this.destinationChains) {\n return this.destinationChains[destination]\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in ${destination} chain: ${err}`);\n });\n }\n if (this.silentErrors) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n throw new Error(\n `Destination ${destination} not found in destination chains with keys ${Object.keys(\n this.destinationChains\n )}`\n );\n }\n\n _chainType(): string {\n return \"multi_route_chain\";\n }\n}\n"],"mappings":";;;;;;;AA2CA,IAAsB,cAAtB,cAA0CA,aAAAA,UAAU;CAClD,IAAI,aAAuB;EACzB,OAAO,CAAC,eAAe,aAAa;CACtC;CAEA,MAAM,MAAM,QAAqB,WAAuC;EACtE,MAAM,SAAS,MAAM,KAAK,KAAK,QAAQ,SAAS;EAChD,OAAO;GACL,aAAa,OAAO;GACpB,YAAY,OAAO;EACrB;CACF;AACF;;;;;;AAOA,IAAa,kBAAb,cAAqCA,aAAAA,UAAU;CAC7C,OAAO,UAAU;EACf,OAAO;CACT;CAEA;CAEA;CAEA;CAEA,eAAe;CAEf,YAAY,QAA8B;EACxC,MAAM,MAAM;EACZ,KAAK,cAAc,OAAO;EAC1B,KAAK,oBAAoB,OAAO;EAChC,KAAK,eAAe,OAAO;EAC3B,KAAK,eAAe,OAAO,gBAAgB,KAAK;CAClD;CAEA,IAAI,YAAsB;EACxB,OAAO,KAAK,YAAY;CAC1B;CAEA,IAAI,aAAuB;EACzB,OAAO,CAAC;CACV;CAEA,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,EAAE,aAAa,eAAe,MAAM,KAAK,YAAY,MACzD,QACA,YAAY,SAAS,CACvB;EACA,MAAM,YAAY,WAChB,GAAG,YAAY,IAAI,KAAK,UAAU,UAAU,GAC9C;EACA,IAAI,CAAC,aACH,OAAO,KAAK,aACT,KAAK,YAAY,YAAY,SAAS,CAAC,CAAC,CACxC,OAAO,QAAQ;GACd,MAAM,IAAI,MAAM,2BAA2B,KAAK;EAClD,CAAC;EAEL,IAAI,eAAe,KAAK,mBACtB,OAAO,KAAK,kBAAkB,YAAY,CACvC,KAAK,YAAY,YAAY,SAAS,CAAC,CAAC,CACxC,OAAO,QAAQ;GACd,MAAM,IAAI,MAAM,YAAY,YAAY,UAAU,KAAK;EACzD,CAAC;EAEL,IAAI,KAAK,cACP,OAAO,KAAK,aACT,KAAK,YAAY,YAAY,SAAS,CAAC,CAAC,CACxC,OAAO,QAAQ;GACd,MAAM,IAAI,MAAM,2BAA2B,KAAK;EAClD,CAAC;EAEL,MAAM,IAAI,MACR,eAAe,YAAY,6CAA6C,OAAO,KAC7E,KAAK,iBACP,GACF;CACF;CAEA,aAAqB;EACnB,OAAO;CACT;AACF"}
@@ -1,7 +1,6 @@
1
1
  import { BaseChain, ChainInputs } from "../base.cjs";
2
2
  import { ChainValues } from "@langchain/core/utils/types";
3
3
  import { CallbackManagerForChainRun, Callbacks } from "@langchain/core/callbacks/manager";
4
-
5
4
  //#region src/chains/router/multi_route.d.ts
6
5
  /**
7
6
  * A type that represents the inputs for the MultiRouteChain. It is a
@@ -64,5 +63,5 @@ declare class MultiRouteChain extends BaseChain {
64
63
  _chainType(): string;
65
64
  }
66
65
  //#endregion
67
- export { MultiRouteChain, MultiRouteChainInput, RouterChain };
66
+ export { MultiRouteChain, MultiRouteChainInput, Route, RouterChain };
68
67
  //# sourceMappingURL=multi_route.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi_route.d.cts","names":[],"sources":["../../../src/chains/router/multi_route.ts"],"mappings":";;;;;;;AAK8D;;;KAOzD,MAAA;EAAA,CACF,GAAA,WAAc,MAAA,GAAS,MAAA;AAAA;;;;AAO1B;UAAiB,KAAA;EACf,WAAA;EACA,UAAA;IAAA,CAAe,GAAA,WAAc,MAAA;EAAA;AAAA;;;;AAS/B;;;UAAiB,oBAAA,SAA6B,WAAA;EAC5C,WAAA,EAAa,WAAA;EACb,iBAAA;IAAA,CAAsB,IAAA,WAAe,SAAA;EAAA;EACrC,YAAA,EAAc,SAAA;EACd,YAAA;AAAA;;;;;;uBAQoB,WAAA,SAAoB,SAAA;EAAA,IACpC,UAAA,CAAA;EAIE,KAAA,CAAM,MAAA,EAAQ,WAAA,EAAa,SAAA,GAAY,SAAA,GAAY,OAAA,CAAQ,KAAA;AAAA;AALnE;;;;;AAAA,cAmBa,eAAA,SAAwB,SAAA;EAAA,OAC5B,OAAA,CAAA;EAIP,WAAA,EAAa,WAAA;EAEb,iBAAA;IAAA,CAAsB,IAAA,WAAe,SAAA;EAAA;EAErC,YAAA,EAAc,SAAA;EAEd,YAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,oBAAA;EAAA,IAQhB,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIE,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAoCX,UAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"multi_route.d.cts","names":[],"sources":["../../../src/chains/router/multi_route.ts"],"mappings":";;;;;;;;;KAYK;GACF,cAAc,SAAS;;;;;;UAOT;EACf;EACA;KAAe,cAAc;;;;;;;;;UASd,6BAA6B;EAC5C,aAAa;EACb;KAAsB,eAAe;;EACrC,cAAc;EACd;;;;;;;uBAQoB,oBAAoB;MACpC;EAIE,MAAM,QAAQ,aAAa,YAAY,YAAY,QAAQ;;;;;;;cActD,wBAAwB;SAC5B;EAIP,aAAa;EAEb;KAAsB,eAAe;;EAErC,cAAc;EAEd;EAEA,YAAY,QAAQ;MAQhB;MAIA;EAIE,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAoCX"}
@@ -1,7 +1,6 @@
1
1
  import { BaseChain, ChainInputs } from "../base.js";
2
2
  import { CallbackManagerForChainRun, Callbacks } from "@langchain/core/callbacks/manager";
3
3
  import { ChainValues } from "@langchain/core/utils/types";
4
-
5
4
  //#region src/chains/router/multi_route.d.ts
6
5
  /**
7
6
  * A type that represents the inputs for the MultiRouteChain. It is a
@@ -64,5 +63,5 @@ declare class MultiRouteChain extends BaseChain {
64
63
  _chainType(): string;
65
64
  }
66
65
  //#endregion
67
- export { MultiRouteChain, MultiRouteChainInput, RouterChain };
66
+ export { MultiRouteChain, MultiRouteChainInput, Route, RouterChain };
68
67
  //# sourceMappingURL=multi_route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi_route.d.ts","names":[],"sources":["../../../src/chains/router/multi_route.ts"],"mappings":";;;;;;;AAK8D;;;KAOzD,MAAA;EAAA,CACF,GAAA,WAAc,MAAA,GAAS,MAAA;AAAA;;;;AAO1B;UAAiB,KAAA;EACf,WAAA;EACA,UAAA;IAAA,CAAe,GAAA,WAAc,MAAA;EAAA;AAAA;;;;AAS/B;;;UAAiB,oBAAA,SAA6B,WAAA;EAC5C,WAAA,EAAa,WAAA;EACb,iBAAA;IAAA,CAAsB,IAAA,WAAe,SAAA;EAAA;EACrC,YAAA,EAAc,SAAA;EACd,YAAA;AAAA;;;;;;uBAQoB,WAAA,SAAoB,SAAA;EAAA,IACpC,UAAA,CAAA;EAIE,KAAA,CAAM,MAAA,EAAQ,WAAA,EAAa,SAAA,GAAY,SAAA,GAAY,OAAA,CAAQ,KAAA;AAAA;AALnE;;;;;AAAA,cAmBa,eAAA,SAAwB,SAAA;EAAA,OAC5B,OAAA,CAAA;EAIP,WAAA,EAAa,WAAA;EAEb,iBAAA;IAAA,CAAsB,IAAA,WAAe,SAAA;EAAA;EAErC,YAAA,EAAc,SAAA;EAEd,YAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,oBAAA;EAAA,IAQhB,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIE,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAoCX,UAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"multi_route.d.ts","names":[],"sources":["../../../src/chains/router/multi_route.ts"],"mappings":";;;;;;;;;KAYK;GACF,cAAc,SAAS;;;;;;UAOT;EACf;EACA;KAAe,cAAc;;;;;;;;;UASd,6BAA6B;EAC5C,aAAa;EACb;KAAsB,eAAe;;EACrC,cAAc;EACd;;;;;;;uBAQoB,oBAAoB;MACpC;EAIE,MAAM,QAAQ,aAAa,YAAY,YAAY,QAAQ;;;;;;;cActD,wBAAwB;SAC5B;EAIP,aAAa;EAEb;KAAsB,eAAe;;EAErC,cAAc;EAEd;EAEA,YAAY,QAAQ;MAQhB;MAIA;EAIE,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAoCX"}
@@ -1 +1 @@
1
- {"version":3,"file":"multi_route.js","names":[],"sources":["../../../src/chains/router/multi_route.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n CallbackManagerForChainRun,\n Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\n\n/**\n * A type that represents the inputs for the MultiRouteChain. It is a\n * recursive type that can contain nested objects, arrays, strings, and\n * numbers.\n */\ntype Inputs = {\n [key: string]: Inputs | Inputs[] | string | string[] | number | number[];\n};\n\n/**\n * An interface that represents the route returned by the RouterChain. It\n * includes optional fields for the destination and nextInputs.\n */\nexport interface Route {\n destination?: string;\n nextInputs: { [key: string]: Inputs };\n}\n\n/**\n * An interface that extends the ChainInputs interface and adds additional\n * properties for the routerChain, destinationChains, defaultChain, and\n * silentErrors. It represents the input expected by the MultiRouteChain\n * class.\n */\nexport interface MultiRouteChainInput extends ChainInputs {\n routerChain: RouterChain;\n destinationChains: { [name: string]: BaseChain };\n defaultChain: BaseChain;\n silentErrors?: boolean;\n}\n\n/**\n * A class that represents a router chain. It\n * extends the BaseChain class and provides functionality for routing\n * inputs to different chains.\n */\nexport abstract class RouterChain extends BaseChain {\n get outputKeys(): string[] {\n return [\"destination\", \"next_inputs\"];\n }\n\n async route(inputs: ChainValues, callbacks?: Callbacks): Promise<Route> {\n const result = await this.call(inputs, callbacks);\n return {\n destination: result.destination,\n nextInputs: result.next_inputs,\n };\n }\n}\n\n/**\n * A class that represents a multi-route chain.\n * It extends the BaseChain class and provides functionality for routing\n * inputs to different chains based on a router chain.\n */\nexport class MultiRouteChain extends BaseChain {\n static lc_name() {\n return \"MultiRouteChain\";\n }\n\n routerChain: RouterChain;\n\n destinationChains: { [name: string]: BaseChain };\n\n defaultChain: BaseChain;\n\n silentErrors = false;\n\n constructor(fields: MultiRouteChainInput) {\n super(fields);\n this.routerChain = fields.routerChain;\n this.destinationChains = fields.destinationChains;\n this.defaultChain = fields.defaultChain;\n this.silentErrors = fields.silentErrors ?? this.silentErrors;\n }\n\n get inputKeys(): string[] {\n return this.routerChain.inputKeys;\n }\n\n get outputKeys(): string[] {\n return [];\n }\n\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const { destination, nextInputs } = await this.routerChain.route(\n values,\n runManager?.getChild()\n );\n await runManager?.handleText(\n `${destination}: ${JSON.stringify(nextInputs)}`\n );\n if (!destination) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n if (destination in this.destinationChains) {\n return this.destinationChains[destination]\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in ${destination} chain: ${err}`);\n });\n }\n if (this.silentErrors) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n throw new Error(\n `Destination ${destination} not found in destination chains with keys ${Object.keys(\n this.destinationChains\n )}`\n );\n }\n\n _chainType(): string {\n return \"multi_route_chain\";\n }\n}\n"],"mappings":";;;;;;;AA2CA,IAAsB,cAAtB,cAA0C,UAAU;CAClD,IAAI,aAAuB;AACzB,SAAO,CAAC,eAAe,cAAc;;CAGvC,MAAM,MAAM,QAAqB,WAAuC;EACtE,MAAM,SAAS,MAAM,KAAK,KAAK,QAAQ,UAAU;AACjD,SAAO;GACL,aAAa,OAAO;GACpB,YAAY,OAAO;GACpB;;;;;;;;AASL,IAAa,kBAAb,cAAqC,UAAU;CAC7C,OAAO,UAAU;AACf,SAAO;;CAGT;CAEA;CAEA;CAEA,eAAe;CAEf,YAAY,QAA8B;AACxC,QAAM,OAAO;AACb,OAAK,cAAc,OAAO;AAC1B,OAAK,oBAAoB,OAAO;AAChC,OAAK,eAAe,OAAO;AAC3B,OAAK,eAAe,OAAO,gBAAgB,KAAK;;CAGlD,IAAI,YAAsB;AACxB,SAAO,KAAK,YAAY;;CAG1B,IAAI,aAAuB;AACzB,SAAO,EAAE;;CAGX,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,EAAE,aAAa,eAAe,MAAM,KAAK,YAAY,MACzD,QACA,YAAY,UAAU,CACvB;AACD,QAAM,YAAY,WAChB,GAAG,YAAY,IAAI,KAAK,UAAU,WAAW,GAC9C;AACD,MAAI,CAAC,YACH,QAAO,KAAK,aACT,KAAK,YAAY,YAAY,UAAU,CAAC,CACxC,OAAO,QAAQ;AACd,SAAM,IAAI,MAAM,2BAA2B,MAAM;IACjD;AAEN,MAAI,eAAe,KAAK,kBACtB,QAAO,KAAK,kBAAkB,aAC3B,KAAK,YAAY,YAAY,UAAU,CAAC,CACxC,OAAO,QAAQ;AACd,SAAM,IAAI,MAAM,YAAY,YAAY,UAAU,MAAM;IACxD;AAEN,MAAI,KAAK,aACP,QAAO,KAAK,aACT,KAAK,YAAY,YAAY,UAAU,CAAC,CACxC,OAAO,QAAQ;AACd,SAAM,IAAI,MAAM,2BAA2B,MAAM;IACjD;AAEN,QAAM,IAAI,MACR,eAAe,YAAY,6CAA6C,OAAO,KAC7E,KAAK,kBACN,GACF;;CAGH,aAAqB;AACnB,SAAO"}
1
+ {"version":3,"file":"multi_route.js","names":[],"sources":["../../../src/chains/router/multi_route.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n CallbackManagerForChainRun,\n Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\n\n/**\n * A type that represents the inputs for the MultiRouteChain. It is a\n * recursive type that can contain nested objects, arrays, strings, and\n * numbers.\n */\ntype Inputs = {\n [key: string]: Inputs | Inputs[] | string | string[] | number | number[];\n};\n\n/**\n * An interface that represents the route returned by the RouterChain. It\n * includes optional fields for the destination and nextInputs.\n */\nexport interface Route {\n destination?: string;\n nextInputs: { [key: string]: Inputs };\n}\n\n/**\n * An interface that extends the ChainInputs interface and adds additional\n * properties for the routerChain, destinationChains, defaultChain, and\n * silentErrors. It represents the input expected by the MultiRouteChain\n * class.\n */\nexport interface MultiRouteChainInput extends ChainInputs {\n routerChain: RouterChain;\n destinationChains: { [name: string]: BaseChain };\n defaultChain: BaseChain;\n silentErrors?: boolean;\n}\n\n/**\n * A class that represents a router chain. It\n * extends the BaseChain class and provides functionality for routing\n * inputs to different chains.\n */\nexport abstract class RouterChain extends BaseChain {\n get outputKeys(): string[] {\n return [\"destination\", \"next_inputs\"];\n }\n\n async route(inputs: ChainValues, callbacks?: Callbacks): Promise<Route> {\n const result = await this.call(inputs, callbacks);\n return {\n destination: result.destination,\n nextInputs: result.next_inputs,\n };\n }\n}\n\n/**\n * A class that represents a multi-route chain.\n * It extends the BaseChain class and provides functionality for routing\n * inputs to different chains based on a router chain.\n */\nexport class MultiRouteChain extends BaseChain {\n static lc_name() {\n return \"MultiRouteChain\";\n }\n\n routerChain: RouterChain;\n\n destinationChains: { [name: string]: BaseChain };\n\n defaultChain: BaseChain;\n\n silentErrors = false;\n\n constructor(fields: MultiRouteChainInput) {\n super(fields);\n this.routerChain = fields.routerChain;\n this.destinationChains = fields.destinationChains;\n this.defaultChain = fields.defaultChain;\n this.silentErrors = fields.silentErrors ?? this.silentErrors;\n }\n\n get inputKeys(): string[] {\n return this.routerChain.inputKeys;\n }\n\n get outputKeys(): string[] {\n return [];\n }\n\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const { destination, nextInputs } = await this.routerChain.route(\n values,\n runManager?.getChild()\n );\n await runManager?.handleText(\n `${destination}: ${JSON.stringify(nextInputs)}`\n );\n if (!destination) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n if (destination in this.destinationChains) {\n return this.destinationChains[destination]\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in ${destination} chain: ${err}`);\n });\n }\n if (this.silentErrors) {\n return this.defaultChain\n .call(nextInputs, runManager?.getChild())\n .catch((err) => {\n throw new Error(`Error in default chain: ${err}`);\n });\n }\n throw new Error(\n `Destination ${destination} not found in destination chains with keys ${Object.keys(\n this.destinationChains\n )}`\n );\n }\n\n _chainType(): string {\n return \"multi_route_chain\";\n }\n}\n"],"mappings":";;;;;;;AA2CA,IAAsB,cAAtB,cAA0C,UAAU;CAClD,IAAI,aAAuB;EACzB,OAAO,CAAC,eAAe,aAAa;CACtC;CAEA,MAAM,MAAM,QAAqB,WAAuC;EACtE,MAAM,SAAS,MAAM,KAAK,KAAK,QAAQ,SAAS;EAChD,OAAO;GACL,aAAa,OAAO;GACpB,YAAY,OAAO;EACrB;CACF;AACF;;;;;;AAOA,IAAa,kBAAb,cAAqC,UAAU;CAC7C,OAAO,UAAU;EACf,OAAO;CACT;CAEA;CAEA;CAEA;CAEA,eAAe;CAEf,YAAY,QAA8B;EACxC,MAAM,MAAM;EACZ,KAAK,cAAc,OAAO;EAC1B,KAAK,oBAAoB,OAAO;EAChC,KAAK,eAAe,OAAO;EAC3B,KAAK,eAAe,OAAO,gBAAgB,KAAK;CAClD;CAEA,IAAI,YAAsB;EACxB,OAAO,KAAK,YAAY;CAC1B;CAEA,IAAI,aAAuB;EACzB,OAAO,CAAC;CACV;CAEA,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,EAAE,aAAa,eAAe,MAAM,KAAK,YAAY,MACzD,QACA,YAAY,SAAS,CACvB;EACA,MAAM,YAAY,WAChB,GAAG,YAAY,IAAI,KAAK,UAAU,UAAU,GAC9C;EACA,IAAI,CAAC,aACH,OAAO,KAAK,aACT,KAAK,YAAY,YAAY,SAAS,CAAC,CAAC,CACxC,OAAO,QAAQ;GACd,MAAM,IAAI,MAAM,2BAA2B,KAAK;EAClD,CAAC;EAEL,IAAI,eAAe,KAAK,mBACtB,OAAO,KAAK,kBAAkB,YAAY,CACvC,KAAK,YAAY,YAAY,SAAS,CAAC,CAAC,CACxC,OAAO,QAAQ;GACd,MAAM,IAAI,MAAM,YAAY,YAAY,UAAU,KAAK;EACzD,CAAC;EAEL,IAAI,KAAK,cACP,OAAO,KAAK,aACT,KAAK,YAAY,YAAY,SAAS,CAAC,CAAC,CACxC,OAAO,QAAQ;GACd,MAAM,IAAI,MAAM,2BAA2B,KAAK;EAClD,CAAC;EAEL,MAAM,IAAI,MACR,eAAe,YAAY,6CAA6C,OAAO,KAC7E,KAAK,iBACP,GACF;CACF;CAEA,aAAqB;EACnB,OAAO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":[],"sources":["../../../src/chains/router/utils.ts"],"sourcesContent":["// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport function zipEntries<T extends any[]>(\n ...arrays: {\n [P in keyof T]: T[P][];\n }\n): T[] {\n // Check for empty input\n if (arrays.length === 0) {\n return [];\n }\n\n // Find the length of the first input array\n const firstArrayLength = arrays[0].length;\n\n // Ensure all input arrays have the same length\n for (const array of arrays) {\n if (array.length !== firstArrayLength) {\n throw new Error(\"All input arrays must have the same length.\");\n }\n }\n\n // Create an empty array to store the zipped arrays\n const zipped: T[] = [];\n\n // Iterate through each element of the first input array\n for (let i = 0; i < firstArrayLength; i += 1) {\n // Create an array to store the zipped elements at the current index\n const zippedElement: T[keyof T][] = [];\n\n // Iterate through each input array\n for (const array of arrays) {\n // Add the element at the current index to the zipped element array\n zippedElement.push(array[i]);\n }\n\n // Add the zipped element array to the zipped array\n zipped.push(zippedElement as T);\n }\n\n return zipped;\n}\n"],"mappings":";AACA,SAAgB,WACd,GAAG,QAGE;AAEL,KAAI,OAAO,WAAW,EACpB,QAAO,EAAE;CAIX,MAAM,mBAAmB,OAAO,GAAG;AAGnC,MAAK,MAAM,SAAS,OAClB,KAAI,MAAM,WAAW,iBACnB,OAAM,IAAI,MAAM,8CAA8C;CAKlE,MAAM,SAAc,EAAE;AAGtB,MAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,KAAK,GAAG;EAE5C,MAAM,gBAA8B,EAAE;AAGtC,OAAK,MAAM,SAAS,OAElB,eAAc,KAAK,MAAM,GAAG;AAI9B,SAAO,KAAK,cAAmB;;AAGjC,QAAO"}
1
+ {"version":3,"file":"utils.cjs","names":[],"sources":["../../../src/chains/router/utils.ts"],"sourcesContent":["// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport function zipEntries<T extends any[]>(\n ...arrays: {\n [P in keyof T]: T[P][];\n }\n): T[] {\n // Check for empty input\n if (arrays.length === 0) {\n return [];\n }\n\n // Find the length of the first input array\n const firstArrayLength = arrays[0].length;\n\n // Ensure all input arrays have the same length\n for (const array of arrays) {\n if (array.length !== firstArrayLength) {\n throw new Error(\"All input arrays must have the same length.\");\n }\n }\n\n // Create an empty array to store the zipped arrays\n const zipped: T[] = [];\n\n // Iterate through each element of the first input array\n for (let i = 0; i < firstArrayLength; i += 1) {\n // Create an array to store the zipped elements at the current index\n const zippedElement: T[keyof T][] = [];\n\n // Iterate through each input array\n for (const array of arrays) {\n // Add the element at the current index to the zipped element array\n zippedElement.push(array[i]);\n }\n\n // Add the zipped element array to the zipped array\n zipped.push(zippedElement as T);\n }\n\n return zipped;\n}\n"],"mappings":";AACA,SAAgB,WACd,GAAG,QAGE;CAEL,IAAI,OAAO,WAAW,GACpB,OAAO,CAAC;CAIV,MAAM,mBAAmB,OAAO,EAAE,CAAC;CAGnC,KAAK,MAAM,SAAS,QAClB,IAAI,MAAM,WAAW,kBACnB,MAAM,IAAI,MAAM,6CAA6C;CAKjE,MAAM,SAAc,CAAC;CAGrB,KAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,KAAK,GAAG;EAE5C,MAAM,gBAA8B,CAAC;EAGrC,KAAK,MAAM,SAAS,QAElB,cAAc,KAAK,MAAM,EAAE;EAI7B,OAAO,KAAK,aAAkB;CAChC;CAEA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../src/chains/router/utils.ts"],"sourcesContent":["// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport function zipEntries<T extends any[]>(\n ...arrays: {\n [P in keyof T]: T[P][];\n }\n): T[] {\n // Check for empty input\n if (arrays.length === 0) {\n return [];\n }\n\n // Find the length of the first input array\n const firstArrayLength = arrays[0].length;\n\n // Ensure all input arrays have the same length\n for (const array of arrays) {\n if (array.length !== firstArrayLength) {\n throw new Error(\"All input arrays must have the same length.\");\n }\n }\n\n // Create an empty array to store the zipped arrays\n const zipped: T[] = [];\n\n // Iterate through each element of the first input array\n for (let i = 0; i < firstArrayLength; i += 1) {\n // Create an array to store the zipped elements at the current index\n const zippedElement: T[keyof T][] = [];\n\n // Iterate through each input array\n for (const array of arrays) {\n // Add the element at the current index to the zipped element array\n zippedElement.push(array[i]);\n }\n\n // Add the zipped element array to the zipped array\n zipped.push(zippedElement as T);\n }\n\n return zipped;\n}\n"],"mappings":";AACA,SAAgB,WACd,GAAG,QAGE;AAEL,KAAI,OAAO,WAAW,EACpB,QAAO,EAAE;CAIX,MAAM,mBAAmB,OAAO,GAAG;AAGnC,MAAK,MAAM,SAAS,OAClB,KAAI,MAAM,WAAW,iBACnB,OAAM,IAAI,MAAM,8CAA8C;CAKlE,MAAM,SAAc,EAAE;AAGtB,MAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,KAAK,GAAG;EAE5C,MAAM,gBAA8B,EAAE;AAGtC,OAAK,MAAM,SAAS,OAElB,eAAc,KAAK,MAAM,GAAG;AAI9B,SAAO,KAAK,cAAmB;;AAGjC,QAAO"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../src/chains/router/utils.ts"],"sourcesContent":["// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport function zipEntries<T extends any[]>(\n ...arrays: {\n [P in keyof T]: T[P][];\n }\n): T[] {\n // Check for empty input\n if (arrays.length === 0) {\n return [];\n }\n\n // Find the length of the first input array\n const firstArrayLength = arrays[0].length;\n\n // Ensure all input arrays have the same length\n for (const array of arrays) {\n if (array.length !== firstArrayLength) {\n throw new Error(\"All input arrays must have the same length.\");\n }\n }\n\n // Create an empty array to store the zipped arrays\n const zipped: T[] = [];\n\n // Iterate through each element of the first input array\n for (let i = 0; i < firstArrayLength; i += 1) {\n // Create an array to store the zipped elements at the current index\n const zippedElement: T[keyof T][] = [];\n\n // Iterate through each input array\n for (const array of arrays) {\n // Add the element at the current index to the zipped element array\n zippedElement.push(array[i]);\n }\n\n // Add the zipped element array to the zipped array\n zipped.push(zippedElement as T);\n }\n\n return zipped;\n}\n"],"mappings":";AACA,SAAgB,WACd,GAAG,QAGE;CAEL,IAAI,OAAO,WAAW,GACpB,OAAO,CAAC;CAIV,MAAM,mBAAmB,OAAO,EAAE,CAAC;CAGnC,KAAK,MAAM,SAAS,QAClB,IAAI,MAAM,WAAW,kBACnB,MAAM,IAAI,MAAM,6CAA6C;CAKjE,MAAM,SAAc,CAAC;CAGrB,KAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,KAAK,GAAG;EAE5C,MAAM,gBAA8B,CAAC;EAGrC,KAAK,MAAM,SAAS,QAElB,cAAc,KAAK,MAAM,EAAE;EAI7B,OAAO,KAAK,aAAkB;CAChC;CAEA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"sequential_chain.cjs","names":["BaseChain","intersection","union","difference"],"sources":["../../src/chains/sequential_chain.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport {\n SerializedBaseChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n} from \"./serde.js\";\nimport { intersection, union, difference } from \"../util/set.js\";\n\nfunction formatSet(input: Set<string>) {\n return Array.from(input)\n .map((i) => `\"${i}\"`)\n .join(\", \");\n}\n\n/**\n * Interface for the input parameters of the SequentialChain class.\n */\nexport interface SequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: BaseChain[];\n /** Defines which variables should be passed as initial input to the first chain. */\n inputVariables: string[];\n /** Which variables should be returned as a result of executing the chain. If not specified, output of the last of the chains is used. */\n outputVariables?: string[];\n /** Whether or not to return all intermediate outputs and variables (excluding initial input variables). */\n returnAll?: boolean;\n}\n\n/**\n * Chain where the outputs of one chain feed directly into next.\n * @example\n * ```typescript\n * const promptTemplate = new PromptTemplate({\n * template: `You are a playwright. Given the title of play and the era it is set in, it is your job to write a synopsis for that title.\n * Title: {title}\n * Era: {era}\n * Playwright: This is a synopsis for the above play:`,\n * inputVariables: [\"title\", \"era\"],\n * });\n\n * const reviewPromptTemplate = new PromptTemplate({\n * template: `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n * \n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`,\n * inputVariables: [\"synopsis\"],\n * });\n\n * const overallChain = new SequentialChain({\n * chains: [\n * new LLMChain({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: promptTemplate,\n * outputKey: \"synopsis\",\n * }),\n * new LLMChain({\n * llm: new OpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: reviewPromptTemplate,\n * outputKey: \"review\",\n * }),\n * ],\n * inputVariables: [\"era\", \"title\"],\n * outputVariables: [\"synopsis\", \"review\"],\n * verbose: true,\n * });\n\n * const chainExecutionResult = await overallChain.call({\n * title: \"Tragedy at sunset on the beach\",\n * era: \"Victorian England\",\n * });\n * console.log(chainExecutionResult);\n * ```\n */\nexport class SequentialChain extends BaseChain implements SequentialChainInput {\n static lc_name() {\n return \"SequentialChain\";\n }\n\n chains: BaseChain[];\n\n inputVariables: string[];\n\n outputVariables: string[];\n\n returnAll?: boolean | undefined;\n\n get inputKeys() {\n return this.inputVariables;\n }\n\n get outputKeys(): string[] {\n return this.outputVariables;\n }\n\n constructor(fields: SequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.inputVariables = fields.inputVariables;\n this.outputVariables = fields.outputVariables ?? [];\n if (this.outputVariables.length > 0 && fields.returnAll) {\n throw new Error(\n \"Either specify variables to return using `outputVariables` or use `returnAll` param. Cannot apply both conditions at the same time.\"\n );\n }\n this.returnAll = fields.returnAll ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n if (this.chains.length === 0) {\n throw new Error(\"Sequential chain must have at least one chain.\");\n }\n\n const memoryKeys = this.memory?.memoryKeys ?? [];\n const inputKeysSet = new Set(this.inputKeys);\n const memoryKeysSet = new Set(memoryKeys);\n const keysIntersection = intersection(inputKeysSet, memoryKeysSet);\n if (keysIntersection.size > 0) {\n throw new Error(\n `The following keys: ${formatSet(\n keysIntersection\n )} are overlapping between memory and input keys of the chain variables. This can lead to unexpected behaviour. Please use input and memory keys that don't overlap.`\n );\n }\n\n const availableKeys = union(inputKeysSet, memoryKeysSet);\n for (const chain of this.chains) {\n let missingKeys = difference(new Set(chain.inputKeys), availableKeys);\n\n if (chain.memory) {\n missingKeys = difference(missingKeys, new Set(chain.memory.memoryKeys));\n }\n\n if (missingKeys.size > 0) {\n throw new Error(\n `Missing variables for chain \"${chain._chainType()}\": ${formatSet(\n missingKeys\n )}. Only got the following variables: ${formatSet(availableKeys)}.`\n );\n }\n const outputKeysSet = new Set(chain.outputKeys);\n const overlappingOutputKeys = intersection(availableKeys, outputKeysSet);\n if (overlappingOutputKeys.size > 0) {\n throw new Error(\n `The following output variables for chain \"${chain._chainType()}\" are overlapping: ${formatSet(\n overlappingOutputKeys\n )}. This can lead to unexpected behaviour.`\n );\n }\n\n for (const outputKey of outputKeysSet) {\n availableKeys.add(outputKey);\n }\n }\n\n if (this.outputVariables.length === 0) {\n if (this.returnAll) {\n const outputKeys = difference(availableKeys, inputKeysSet);\n this.outputVariables = Array.from(outputKeys);\n } else {\n this.outputVariables = this.chains[this.chains.length - 1].outputKeys;\n }\n } else {\n const missingKeys = difference(\n new Set(this.outputVariables),\n new Set(availableKeys)\n );\n if (missingKeys.size > 0) {\n throw new Error(\n `The following output variables were expected to be in the final chain output but were not found: ${formatSet(\n missingKeys\n )}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: ChainValues = {};\n const allChainValues: ChainValues = values;\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = await chain.call(\n allChainValues,\n runManager?.getChild(`step_${i}`)\n );\n for (const key of Object.keys(input)) {\n allChainValues[key] = input[key];\n }\n }\n const output: ChainValues = {};\n for (const key of this.outputVariables) {\n output[key] = allChainValues[key];\n }\n\n return output;\n }\n\n _chainType() {\n return \"sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSequentialChain) {\n const chains: BaseChain[] = [];\n const inputVariables: string[] = data.input_variables;\n const outputVariables: string[] = data.output_variables;\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SequentialChain({ chains, inputVariables, outputVariables });\n }\n\n serialize(): SerializedSequentialChain {\n const chains: SerializedBaseChain[] = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n input_variables: this.inputVariables,\n output_variables: this.outputVariables,\n chains,\n };\n }\n}\n\n/**\n * Interface for the input parameters of the SimpleSequentialChain class.\n */\nexport interface SimpleSequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: Array<BaseChain>;\n /** Whether or not to trim the intermediate outputs. */\n trimOutputs?: boolean;\n}\n\n/**\n * Simple chain where a single string output of one chain is fed directly into the next.\n * @augments BaseChain\n * @augments SimpleSequentialChainInput\n *\n * @example\n * ```ts\n * import { SimpleSequentialChain, LLMChain } from \"@langchain/classic/chains\";\n * import { OpenAI } from \"langchain/llms/openai\";\n * import { PromptTemplate } from \"langchain/prompts\";\n *\n * // This is an LLMChain to write a synopsis given a title of a play.\n * const llm = new OpenAI({ temperature: 0 });\n * const template = `You are a playwright. Given the title of play, it is your job to write a synopsis for that title.\n *\n * Title: {title}\n * Playwright: This is a synopsis for the above play:`\n * const promptTemplate = new PromptTemplate({ template, inputVariables: [\"title\"] });\n * const synopsisChain = new LLMChain({ llm, prompt: promptTemplate });\n *\n *\n * // This is an LLMChain to write a review of a play given a synopsis.\n * const reviewLLM = new OpenAI({ temperature: 0 })\n * const reviewTemplate = `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n *\n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`\n * const reviewPromptTemplate = new PromptTemplate({ template: reviewTemplate, inputVariables: [\"synopsis\"] });\n * const reviewChain = new LLMChain({ llm: reviewLLM, prompt: reviewPromptTemplate });\n *\n * const overallChain = new SimpleSequentialChain({chains: [synopsisChain, reviewChain], verbose:true})\n * const review = await overallChain.run(\"Tragedy at sunset on the beach\")\n * // the variable review contains resulting play review.\n * ```\n */\nexport class SimpleSequentialChain\n extends BaseChain\n implements SimpleSequentialChainInput\n{\n static lc_name() {\n return \"SimpleSequentialChain\";\n }\n\n chains: Array<BaseChain>;\n\n inputKey = \"input\";\n\n outputKey = \"output\";\n\n trimOutputs: boolean;\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys(): string[] {\n return [this.outputKey];\n }\n\n constructor(fields: SimpleSequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.trimOutputs = fields.trimOutputs ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n for (const chain of this.chains) {\n if (\n chain.inputKeys.filter((k) => !chain.memory?.memoryKeys.includes(k))\n .length !== 1\n ) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one input, got ${\n chain.inputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n if (chain.outputKeys.length !== 1) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one output, got ${\n chain.outputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: string = values[this.inputKey];\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = (\n await chain.call(\n { [chain.inputKeys[0]]: input, signal: values.signal },\n runManager?.getChild(`step_${i}`)\n )\n )[chain.outputKeys[0]];\n if (this.trimOutputs) {\n input = input.trim();\n }\n await runManager?.handleText(input);\n }\n return { [this.outputKey]: input };\n }\n\n _chainType() {\n return \"simple_sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSimpleSequentialChain) {\n const chains: Array<BaseChain> = [];\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SimpleSequentialChain({ chains });\n }\n\n serialize(): SerializedSimpleSequentialChain {\n const chains: Array<SerializedBaseChain> = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n chains,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sequential_chain.cjs","names":["BaseChain","intersection","union","difference"],"sources":["../../src/chains/sequential_chain.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport {\n SerializedBaseChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n} from \"./serde.js\";\nimport { intersection, union, difference } from \"../util/set.js\";\n\nfunction formatSet(input: Set<string>) {\n return Array.from(input)\n .map((i) => `\"${i}\"`)\n .join(\", \");\n}\n\n/**\n * Interface for the input parameters of the SequentialChain class.\n */\nexport interface SequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: BaseChain[];\n /** Defines which variables should be passed as initial input to the first chain. */\n inputVariables: string[];\n /** Which variables should be returned as a result of executing the chain. If not specified, output of the last of the chains is used. */\n outputVariables?: string[];\n /** Whether or not to return all intermediate outputs and variables (excluding initial input variables). */\n returnAll?: boolean;\n}\n\n/**\n * Chain where the outputs of one chain feed directly into next.\n * @example\n * ```typescript\n * const promptTemplate = new PromptTemplate({\n * template: `You are a playwright. Given the title of play and the era it is set in, it is your job to write a synopsis for that title.\n * Title: {title}\n * Era: {era}\n * Playwright: This is a synopsis for the above play:`,\n * inputVariables: [\"title\", \"era\"],\n * });\n\n * const reviewPromptTemplate = new PromptTemplate({\n * template: `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n * \n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`,\n * inputVariables: [\"synopsis\"],\n * });\n\n * const overallChain = new SequentialChain({\n * chains: [\n * new LLMChain({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: promptTemplate,\n * outputKey: \"synopsis\",\n * }),\n * new LLMChain({\n * llm: new OpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: reviewPromptTemplate,\n * outputKey: \"review\",\n * }),\n * ],\n * inputVariables: [\"era\", \"title\"],\n * outputVariables: [\"synopsis\", \"review\"],\n * verbose: true,\n * });\n\n * const chainExecutionResult = await overallChain.call({\n * title: \"Tragedy at sunset on the beach\",\n * era: \"Victorian England\",\n * });\n * console.log(chainExecutionResult);\n * ```\n */\nexport class SequentialChain extends BaseChain implements SequentialChainInput {\n static lc_name() {\n return \"SequentialChain\";\n }\n\n chains: BaseChain[];\n\n inputVariables: string[];\n\n outputVariables: string[];\n\n returnAll?: boolean | undefined;\n\n get inputKeys() {\n return this.inputVariables;\n }\n\n get outputKeys(): string[] {\n return this.outputVariables;\n }\n\n constructor(fields: SequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.inputVariables = fields.inputVariables;\n this.outputVariables = fields.outputVariables ?? [];\n if (this.outputVariables.length > 0 && fields.returnAll) {\n throw new Error(\n \"Either specify variables to return using `outputVariables` or use `returnAll` param. Cannot apply both conditions at the same time.\"\n );\n }\n this.returnAll = fields.returnAll ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n if (this.chains.length === 0) {\n throw new Error(\"Sequential chain must have at least one chain.\");\n }\n\n const memoryKeys = this.memory?.memoryKeys ?? [];\n const inputKeysSet = new Set(this.inputKeys);\n const memoryKeysSet = new Set(memoryKeys);\n const keysIntersection = intersection(inputKeysSet, memoryKeysSet);\n if (keysIntersection.size > 0) {\n throw new Error(\n `The following keys: ${formatSet(\n keysIntersection\n )} are overlapping between memory and input keys of the chain variables. This can lead to unexpected behaviour. Please use input and memory keys that don't overlap.`\n );\n }\n\n const availableKeys = union(inputKeysSet, memoryKeysSet);\n for (const chain of this.chains) {\n let missingKeys = difference(new Set(chain.inputKeys), availableKeys);\n\n if (chain.memory) {\n missingKeys = difference(missingKeys, new Set(chain.memory.memoryKeys));\n }\n\n if (missingKeys.size > 0) {\n throw new Error(\n `Missing variables for chain \"${chain._chainType()}\": ${formatSet(\n missingKeys\n )}. Only got the following variables: ${formatSet(availableKeys)}.`\n );\n }\n const outputKeysSet = new Set(chain.outputKeys);\n const overlappingOutputKeys = intersection(availableKeys, outputKeysSet);\n if (overlappingOutputKeys.size > 0) {\n throw new Error(\n `The following output variables for chain \"${chain._chainType()}\" are overlapping: ${formatSet(\n overlappingOutputKeys\n )}. This can lead to unexpected behaviour.`\n );\n }\n\n for (const outputKey of outputKeysSet) {\n availableKeys.add(outputKey);\n }\n }\n\n if (this.outputVariables.length === 0) {\n if (this.returnAll) {\n const outputKeys = difference(availableKeys, inputKeysSet);\n this.outputVariables = Array.from(outputKeys);\n } else {\n this.outputVariables = this.chains[this.chains.length - 1].outputKeys;\n }\n } else {\n const missingKeys = difference(\n new Set(this.outputVariables),\n new Set(availableKeys)\n );\n if (missingKeys.size > 0) {\n throw new Error(\n `The following output variables were expected to be in the final chain output but were not found: ${formatSet(\n missingKeys\n )}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: ChainValues = {};\n const allChainValues: ChainValues = values;\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = await chain.call(\n allChainValues,\n runManager?.getChild(`step_${i}`)\n );\n for (const key of Object.keys(input)) {\n allChainValues[key] = input[key];\n }\n }\n const output: ChainValues = {};\n for (const key of this.outputVariables) {\n output[key] = allChainValues[key];\n }\n\n return output;\n }\n\n _chainType() {\n return \"sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSequentialChain) {\n const chains: BaseChain[] = [];\n const inputVariables: string[] = data.input_variables;\n const outputVariables: string[] = data.output_variables;\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SequentialChain({ chains, inputVariables, outputVariables });\n }\n\n serialize(): SerializedSequentialChain {\n const chains: SerializedBaseChain[] = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n input_variables: this.inputVariables,\n output_variables: this.outputVariables,\n chains,\n };\n }\n}\n\n/**\n * Interface for the input parameters of the SimpleSequentialChain class.\n */\nexport interface SimpleSequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: Array<BaseChain>;\n /** Whether or not to trim the intermediate outputs. */\n trimOutputs?: boolean;\n}\n\n/**\n * Simple chain where a single string output of one chain is fed directly into the next.\n * @augments BaseChain\n * @augments SimpleSequentialChainInput\n *\n * @example\n * ```ts\n * import { SimpleSequentialChain, LLMChain } from \"@langchain/classic/chains\";\n * import { OpenAI } from \"langchain/llms/openai\";\n * import { PromptTemplate } from \"langchain/prompts\";\n *\n * // This is an LLMChain to write a synopsis given a title of a play.\n * const llm = new OpenAI({ temperature: 0 });\n * const template = `You are a playwright. Given the title of play, it is your job to write a synopsis for that title.\n *\n * Title: {title}\n * Playwright: This is a synopsis for the above play:`\n * const promptTemplate = new PromptTemplate({ template, inputVariables: [\"title\"] });\n * const synopsisChain = new LLMChain({ llm, prompt: promptTemplate });\n *\n *\n * // This is an LLMChain to write a review of a play given a synopsis.\n * const reviewLLM = new OpenAI({ temperature: 0 })\n * const reviewTemplate = `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n *\n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`\n * const reviewPromptTemplate = new PromptTemplate({ template: reviewTemplate, inputVariables: [\"synopsis\"] });\n * const reviewChain = new LLMChain({ llm: reviewLLM, prompt: reviewPromptTemplate });\n *\n * const overallChain = new SimpleSequentialChain({chains: [synopsisChain, reviewChain], verbose:true})\n * const review = await overallChain.run(\"Tragedy at sunset on the beach\")\n * // the variable review contains resulting play review.\n * ```\n */\nexport class SimpleSequentialChain\n extends BaseChain\n implements SimpleSequentialChainInput\n{\n static lc_name() {\n return \"SimpleSequentialChain\";\n }\n\n chains: Array<BaseChain>;\n\n inputKey = \"input\";\n\n outputKey = \"output\";\n\n trimOutputs: boolean;\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys(): string[] {\n return [this.outputKey];\n }\n\n constructor(fields: SimpleSequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.trimOutputs = fields.trimOutputs ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n for (const chain of this.chains) {\n if (\n chain.inputKeys.filter((k) => !chain.memory?.memoryKeys.includes(k))\n .length !== 1\n ) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one input, got ${\n chain.inputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n if (chain.outputKeys.length !== 1) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one output, got ${\n chain.outputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: string = values[this.inputKey];\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = (\n await chain.call(\n { [chain.inputKeys[0]]: input, signal: values.signal },\n runManager?.getChild(`step_${i}`)\n )\n )[chain.outputKeys[0]];\n if (this.trimOutputs) {\n input = input.trim();\n }\n await runManager?.handleText(input);\n }\n return { [this.outputKey]: input };\n }\n\n _chainType() {\n return \"simple_sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSimpleSequentialChain) {\n const chains: Array<BaseChain> = [];\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SimpleSequentialChain({ chains });\n }\n\n serialize(): SerializedSimpleSequentialChain {\n const chains: Array<SerializedBaseChain> = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n chains,\n };\n }\n}\n"],"mappings":"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"}
@@ -2,7 +2,6 @@ import { SerializedSequentialChain, SerializedSimpleSequentialChain } from "./se
2
2
  import { BaseChain, ChainInputs } from "./base.cjs";
3
3
  import { ChainValues } from "@langchain/core/utils/types";
4
4
  import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
5
-
6
5
  //#region src/chains/sequential_chain.d.ts
7
6
  /**
8
7
  * Interface for the input parameters of the SequentialChain class.
@@ -28,7 +27,6 @@ interface SequentialChainInput extends ChainInputs {
28
27
  * Playwright: This is a synopsis for the above play:`,
29
28
  * inputVariables: ["title", "era"],
30
29
  * });
31
-
32
30
  * const reviewPromptTemplate = new PromptTemplate({
33
31
  * template: `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.
34
32
  *
@@ -37,7 +35,6 @@ interface SequentialChainInput extends ChainInputs {
37
35
  * Review from a New York Times play critic of the above play:`,
38
36
  * inputVariables: ["synopsis"],
39
37
  * });
40
-
41
38
  * const overallChain = new SequentialChain({
42
39
  * chains: [
43
40
  * new LLMChain({
@@ -55,7 +52,6 @@ interface SequentialChainInput extends ChainInputs {
55
52
  * outputVariables: ["synopsis", "review"],
56
53
  * verbose: true,
57
54
  * });
58
-
59
55
  * const chainExecutionResult = await overallChain.call({
60
56
  * title: "Tragedy at sunset on the beach",
61
57
  * era: "Victorian England",
@@ -1 +1 @@
1
- {"version":3,"file":"sequential_chain.d.cts","names":[],"sources":["../../src/chains/sequential_chain.ts"],"mappings":";;;;;;;;AAmBA;UAAiB,oBAAA,SAA6B,WAAA;;EAE5C,MAAA,EAAQ,SAAA;EAFoC;EAI5C,cAAA;EAFQ;EAIR,eAAA;EAAA;EAEA,SAAA;AAAA;;AAiDF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAa,eAAA,SAAwB,SAAA,YAAqB,oBAAA;EAAA,OACjD,OAAA,CAAA;EAIP,MAAA,EAAQ,SAAA;EAER,cAAA;EAEA,eAAA;EAEA,SAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,oBAAA;EA+IyC;EAhI7D,eAAA,CAAA;EAgIkD;EA1D5C,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAsBX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,yBAAA,GAAyB,OAAA,CAAA,eAAA;EAYxD,SAAA,CAAA,GAAa,yBAAA;AAAA;;AA4Df;;UA3CiB,0BAAA,SAAmC,WAAA;EAmDpC;EAjDd,MAAA,EAAQ,KAAA,CAAM,SAAA;EAiEM;EA/DpB,WAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuCW,qBAAA,SACH,SAAA,YACG,0BAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,MAAA,EAAQ,KAAA,CAAM,SAAA;EAEd,QAAA;EAEA,SAAA;EAEA,WAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,0BAAA;;EAQpB,eAAA,CAAA;;EAuBM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAmBX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,+BAAA,GAA+B,OAAA,CAAA,qBAAA;EAU9D,SAAA,CAAA,GAAa,+BAAA;AAAA"}
1
+ {"version":3,"file":"sequential_chain.d.cts","names":[],"sources":["../../src/chains/sequential_chain.ts"],"mappings":";;;;;;;;UAmBiB,6BAA6B;;EAE5C,QAAQ;;EAER;;EAEA;;EAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDW,wBAAwB,qBAAqB;SACjD;EAIP,QAAQ;EAER;EAEA;EAEA;MAEI;MAIA;EAIJ,YAAY,QAAQ;;EAepB;;EAsEM,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAsBX;SAIa,YAAY,MAAM,4BAAyB,QAAA;EAYxD,aAAa;;;;;UAiBE,mCAAmC;;EAElD,QAAQ,MAAM;;EAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuCW,8BACH,qBACG;SAEJ;EAIP,QAAQ,MAAM;EAEd;EAEA;EAEA;MAEI;MAIA;EAIJ,YAAY,QAAQ;;EAQpB;;EAuBM,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAmBX;SAIa,YAAY,MAAM,kCAA+B,QAAA;EAU9D,aAAa"}
@@ -2,7 +2,6 @@ import { SerializedSequentialChain, SerializedSimpleSequentialChain } from "./se
2
2
  import { BaseChain, ChainInputs } from "./base.js";
3
3
  import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
4
4
  import { ChainValues } from "@langchain/core/utils/types";
5
-
6
5
  //#region src/chains/sequential_chain.d.ts
7
6
  /**
8
7
  * Interface for the input parameters of the SequentialChain class.
@@ -28,7 +27,6 @@ interface SequentialChainInput extends ChainInputs {
28
27
  * Playwright: This is a synopsis for the above play:`,
29
28
  * inputVariables: ["title", "era"],
30
29
  * });
31
-
32
30
  * const reviewPromptTemplate = new PromptTemplate({
33
31
  * template: `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.
34
32
  *
@@ -37,7 +35,6 @@ interface SequentialChainInput extends ChainInputs {
37
35
  * Review from a New York Times play critic of the above play:`,
38
36
  * inputVariables: ["synopsis"],
39
37
  * });
40
-
41
38
  * const overallChain = new SequentialChain({
42
39
  * chains: [
43
40
  * new LLMChain({
@@ -55,7 +52,6 @@ interface SequentialChainInput extends ChainInputs {
55
52
  * outputVariables: ["synopsis", "review"],
56
53
  * verbose: true,
57
54
  * });
58
-
59
55
  * const chainExecutionResult = await overallChain.call({
60
56
  * title: "Tragedy at sunset on the beach",
61
57
  * era: "Victorian England",
@@ -1 +1 @@
1
- {"version":3,"file":"sequential_chain.d.ts","names":[],"sources":["../../src/chains/sequential_chain.ts"],"mappings":";;;;;;;;AAmBA;UAAiB,oBAAA,SAA6B,WAAA;;EAE5C,MAAA,EAAQ,SAAA;EAFoC;EAI5C,cAAA;EAFQ;EAIR,eAAA;EAAA;EAEA,SAAA;AAAA;;AAiDF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAa,eAAA,SAAwB,SAAA,YAAqB,oBAAA;EAAA,OACjD,OAAA,CAAA;EAIP,MAAA,EAAQ,SAAA;EAER,cAAA;EAEA,eAAA;EAEA,SAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,oBAAA;EA+IyC;EAhI7D,eAAA,CAAA;EAgIkD;EA1D5C,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAsBX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,yBAAA,GAAyB,OAAA,CAAA,eAAA;EAYxD,SAAA,CAAA,GAAa,yBAAA;AAAA;;AA4Df;;UA3CiB,0BAAA,SAAmC,WAAA;EAmDpC;EAjDd,MAAA,EAAQ,KAAA,CAAM,SAAA;EAiEM;EA/DpB,WAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuCW,qBAAA,SACH,SAAA,YACG,0BAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,MAAA,EAAQ,KAAA,CAAM,SAAA;EAEd,QAAA;EAEA,SAAA;EAEA,WAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,0BAAA;;EAQpB,eAAA,CAAA;;EAuBM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAmBX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,+BAAA,GAA+B,OAAA,CAAA,qBAAA;EAU9D,SAAA,CAAA,GAAa,+BAAA;AAAA"}
1
+ {"version":3,"file":"sequential_chain.d.ts","names":[],"sources":["../../src/chains/sequential_chain.ts"],"mappings":";;;;;;;;UAmBiB,6BAA6B;;EAE5C,QAAQ;;EAER;;EAEA;;EAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDW,wBAAwB,qBAAqB;SACjD;EAIP,QAAQ;EAER;EAEA;EAEA;MAEI;MAIA;EAIJ,YAAY,QAAQ;;EAepB;;EAsEM,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAsBX;SAIa,YAAY,MAAM,4BAAyB,QAAA;EAYxD,aAAa;;;;;UAiBE,mCAAmC;;EAElD,QAAQ,MAAM;;EAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuCW,8BACH,qBACG;SAEJ;EAIP,QAAQ,MAAM;EAEd;EAEA;EAEA;MAEI;MAIA;EAIJ,YAAY,QAAQ;;EAQpB;;EAuBM,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAmBX;SAIa,YAAY,MAAM,kCAA+B,QAAA;EAU9D,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"sequential_chain.js","names":[],"sources":["../../src/chains/sequential_chain.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport {\n SerializedBaseChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n} from \"./serde.js\";\nimport { intersection, union, difference } from \"../util/set.js\";\n\nfunction formatSet(input: Set<string>) {\n return Array.from(input)\n .map((i) => `\"${i}\"`)\n .join(\", \");\n}\n\n/**\n * Interface for the input parameters of the SequentialChain class.\n */\nexport interface SequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: BaseChain[];\n /** Defines which variables should be passed as initial input to the first chain. */\n inputVariables: string[];\n /** Which variables should be returned as a result of executing the chain. If not specified, output of the last of the chains is used. */\n outputVariables?: string[];\n /** Whether or not to return all intermediate outputs and variables (excluding initial input variables). */\n returnAll?: boolean;\n}\n\n/**\n * Chain where the outputs of one chain feed directly into next.\n * @example\n * ```typescript\n * const promptTemplate = new PromptTemplate({\n * template: `You are a playwright. Given the title of play and the era it is set in, it is your job to write a synopsis for that title.\n * Title: {title}\n * Era: {era}\n * Playwright: This is a synopsis for the above play:`,\n * inputVariables: [\"title\", \"era\"],\n * });\n\n * const reviewPromptTemplate = new PromptTemplate({\n * template: `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n * \n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`,\n * inputVariables: [\"synopsis\"],\n * });\n\n * const overallChain = new SequentialChain({\n * chains: [\n * new LLMChain({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: promptTemplate,\n * outputKey: \"synopsis\",\n * }),\n * new LLMChain({\n * llm: new OpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: reviewPromptTemplate,\n * outputKey: \"review\",\n * }),\n * ],\n * inputVariables: [\"era\", \"title\"],\n * outputVariables: [\"synopsis\", \"review\"],\n * verbose: true,\n * });\n\n * const chainExecutionResult = await overallChain.call({\n * title: \"Tragedy at sunset on the beach\",\n * era: \"Victorian England\",\n * });\n * console.log(chainExecutionResult);\n * ```\n */\nexport class SequentialChain extends BaseChain implements SequentialChainInput {\n static lc_name() {\n return \"SequentialChain\";\n }\n\n chains: BaseChain[];\n\n inputVariables: string[];\n\n outputVariables: string[];\n\n returnAll?: boolean | undefined;\n\n get inputKeys() {\n return this.inputVariables;\n }\n\n get outputKeys(): string[] {\n return this.outputVariables;\n }\n\n constructor(fields: SequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.inputVariables = fields.inputVariables;\n this.outputVariables = fields.outputVariables ?? [];\n if (this.outputVariables.length > 0 && fields.returnAll) {\n throw new Error(\n \"Either specify variables to return using `outputVariables` or use `returnAll` param. Cannot apply both conditions at the same time.\"\n );\n }\n this.returnAll = fields.returnAll ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n if (this.chains.length === 0) {\n throw new Error(\"Sequential chain must have at least one chain.\");\n }\n\n const memoryKeys = this.memory?.memoryKeys ?? [];\n const inputKeysSet = new Set(this.inputKeys);\n const memoryKeysSet = new Set(memoryKeys);\n const keysIntersection = intersection(inputKeysSet, memoryKeysSet);\n if (keysIntersection.size > 0) {\n throw new Error(\n `The following keys: ${formatSet(\n keysIntersection\n )} are overlapping between memory and input keys of the chain variables. This can lead to unexpected behaviour. Please use input and memory keys that don't overlap.`\n );\n }\n\n const availableKeys = union(inputKeysSet, memoryKeysSet);\n for (const chain of this.chains) {\n let missingKeys = difference(new Set(chain.inputKeys), availableKeys);\n\n if (chain.memory) {\n missingKeys = difference(missingKeys, new Set(chain.memory.memoryKeys));\n }\n\n if (missingKeys.size > 0) {\n throw new Error(\n `Missing variables for chain \"${chain._chainType()}\": ${formatSet(\n missingKeys\n )}. Only got the following variables: ${formatSet(availableKeys)}.`\n );\n }\n const outputKeysSet = new Set(chain.outputKeys);\n const overlappingOutputKeys = intersection(availableKeys, outputKeysSet);\n if (overlappingOutputKeys.size > 0) {\n throw new Error(\n `The following output variables for chain \"${chain._chainType()}\" are overlapping: ${formatSet(\n overlappingOutputKeys\n )}. This can lead to unexpected behaviour.`\n );\n }\n\n for (const outputKey of outputKeysSet) {\n availableKeys.add(outputKey);\n }\n }\n\n if (this.outputVariables.length === 0) {\n if (this.returnAll) {\n const outputKeys = difference(availableKeys, inputKeysSet);\n this.outputVariables = Array.from(outputKeys);\n } else {\n this.outputVariables = this.chains[this.chains.length - 1].outputKeys;\n }\n } else {\n const missingKeys = difference(\n new Set(this.outputVariables),\n new Set(availableKeys)\n );\n if (missingKeys.size > 0) {\n throw new Error(\n `The following output variables were expected to be in the final chain output but were not found: ${formatSet(\n missingKeys\n )}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: ChainValues = {};\n const allChainValues: ChainValues = values;\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = await chain.call(\n allChainValues,\n runManager?.getChild(`step_${i}`)\n );\n for (const key of Object.keys(input)) {\n allChainValues[key] = input[key];\n }\n }\n const output: ChainValues = {};\n for (const key of this.outputVariables) {\n output[key] = allChainValues[key];\n }\n\n return output;\n }\n\n _chainType() {\n return \"sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSequentialChain) {\n const chains: BaseChain[] = [];\n const inputVariables: string[] = data.input_variables;\n const outputVariables: string[] = data.output_variables;\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SequentialChain({ chains, inputVariables, outputVariables });\n }\n\n serialize(): SerializedSequentialChain {\n const chains: SerializedBaseChain[] = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n input_variables: this.inputVariables,\n output_variables: this.outputVariables,\n chains,\n };\n }\n}\n\n/**\n * Interface for the input parameters of the SimpleSequentialChain class.\n */\nexport interface SimpleSequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: Array<BaseChain>;\n /** Whether or not to trim the intermediate outputs. */\n trimOutputs?: boolean;\n}\n\n/**\n * Simple chain where a single string output of one chain is fed directly into the next.\n * @augments BaseChain\n * @augments SimpleSequentialChainInput\n *\n * @example\n * ```ts\n * import { SimpleSequentialChain, LLMChain } from \"@langchain/classic/chains\";\n * import { OpenAI } from \"langchain/llms/openai\";\n * import { PromptTemplate } from \"langchain/prompts\";\n *\n * // This is an LLMChain to write a synopsis given a title of a play.\n * const llm = new OpenAI({ temperature: 0 });\n * const template = `You are a playwright. Given the title of play, it is your job to write a synopsis for that title.\n *\n * Title: {title}\n * Playwright: This is a synopsis for the above play:`\n * const promptTemplate = new PromptTemplate({ template, inputVariables: [\"title\"] });\n * const synopsisChain = new LLMChain({ llm, prompt: promptTemplate });\n *\n *\n * // This is an LLMChain to write a review of a play given a synopsis.\n * const reviewLLM = new OpenAI({ temperature: 0 })\n * const reviewTemplate = `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n *\n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`\n * const reviewPromptTemplate = new PromptTemplate({ template: reviewTemplate, inputVariables: [\"synopsis\"] });\n * const reviewChain = new LLMChain({ llm: reviewLLM, prompt: reviewPromptTemplate });\n *\n * const overallChain = new SimpleSequentialChain({chains: [synopsisChain, reviewChain], verbose:true})\n * const review = await overallChain.run(\"Tragedy at sunset on the beach\")\n * // the variable review contains resulting play review.\n * ```\n */\nexport class SimpleSequentialChain\n extends BaseChain\n implements SimpleSequentialChainInput\n{\n static lc_name() {\n return \"SimpleSequentialChain\";\n }\n\n chains: Array<BaseChain>;\n\n inputKey = \"input\";\n\n outputKey = \"output\";\n\n trimOutputs: boolean;\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys(): string[] {\n return [this.outputKey];\n }\n\n constructor(fields: SimpleSequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.trimOutputs = fields.trimOutputs ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n for (const chain of this.chains) {\n if (\n chain.inputKeys.filter((k) => !chain.memory?.memoryKeys.includes(k))\n .length !== 1\n ) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one input, got ${\n chain.inputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n if (chain.outputKeys.length !== 1) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one output, got ${\n chain.outputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: string = values[this.inputKey];\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = (\n await chain.call(\n { [chain.inputKeys[0]]: input, signal: values.signal },\n runManager?.getChild(`step_${i}`)\n )\n )[chain.outputKeys[0]];\n if (this.trimOutputs) {\n input = input.trim();\n }\n await runManager?.handleText(input);\n }\n return { [this.outputKey]: input };\n }\n\n _chainType() {\n return \"simple_sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSimpleSequentialChain) {\n const chains: Array<BaseChain> = [];\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SimpleSequentialChain({ chains });\n }\n\n serialize(): SerializedSimpleSequentialChain {\n const chains: Array<SerializedBaseChain> = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n chains,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sequential_chain.js","names":[],"sources":["../../src/chains/sequential_chain.ts"],"sourcesContent":["import { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport {\n SerializedBaseChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n} from \"./serde.js\";\nimport { intersection, union, difference } from \"../util/set.js\";\n\nfunction formatSet(input: Set<string>) {\n return Array.from(input)\n .map((i) => `\"${i}\"`)\n .join(\", \");\n}\n\n/**\n * Interface for the input parameters of the SequentialChain class.\n */\nexport interface SequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: BaseChain[];\n /** Defines which variables should be passed as initial input to the first chain. */\n inputVariables: string[];\n /** Which variables should be returned as a result of executing the chain. If not specified, output of the last of the chains is used. */\n outputVariables?: string[];\n /** Whether or not to return all intermediate outputs and variables (excluding initial input variables). */\n returnAll?: boolean;\n}\n\n/**\n * Chain where the outputs of one chain feed directly into next.\n * @example\n * ```typescript\n * const promptTemplate = new PromptTemplate({\n * template: `You are a playwright. Given the title of play and the era it is set in, it is your job to write a synopsis for that title.\n * Title: {title}\n * Era: {era}\n * Playwright: This is a synopsis for the above play:`,\n * inputVariables: [\"title\", \"era\"],\n * });\n\n * const reviewPromptTemplate = new PromptTemplate({\n * template: `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n * \n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`,\n * inputVariables: [\"synopsis\"],\n * });\n\n * const overallChain = new SequentialChain({\n * chains: [\n * new LLMChain({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: promptTemplate,\n * outputKey: \"synopsis\",\n * }),\n * new LLMChain({\n * llm: new OpenAI({ model: \"gpt-4o-mini\", temperature: 0 }),\n * prompt: reviewPromptTemplate,\n * outputKey: \"review\",\n * }),\n * ],\n * inputVariables: [\"era\", \"title\"],\n * outputVariables: [\"synopsis\", \"review\"],\n * verbose: true,\n * });\n\n * const chainExecutionResult = await overallChain.call({\n * title: \"Tragedy at sunset on the beach\",\n * era: \"Victorian England\",\n * });\n * console.log(chainExecutionResult);\n * ```\n */\nexport class SequentialChain extends BaseChain implements SequentialChainInput {\n static lc_name() {\n return \"SequentialChain\";\n }\n\n chains: BaseChain[];\n\n inputVariables: string[];\n\n outputVariables: string[];\n\n returnAll?: boolean | undefined;\n\n get inputKeys() {\n return this.inputVariables;\n }\n\n get outputKeys(): string[] {\n return this.outputVariables;\n }\n\n constructor(fields: SequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.inputVariables = fields.inputVariables;\n this.outputVariables = fields.outputVariables ?? [];\n if (this.outputVariables.length > 0 && fields.returnAll) {\n throw new Error(\n \"Either specify variables to return using `outputVariables` or use `returnAll` param. Cannot apply both conditions at the same time.\"\n );\n }\n this.returnAll = fields.returnAll ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n if (this.chains.length === 0) {\n throw new Error(\"Sequential chain must have at least one chain.\");\n }\n\n const memoryKeys = this.memory?.memoryKeys ?? [];\n const inputKeysSet = new Set(this.inputKeys);\n const memoryKeysSet = new Set(memoryKeys);\n const keysIntersection = intersection(inputKeysSet, memoryKeysSet);\n if (keysIntersection.size > 0) {\n throw new Error(\n `The following keys: ${formatSet(\n keysIntersection\n )} are overlapping between memory and input keys of the chain variables. This can lead to unexpected behaviour. Please use input and memory keys that don't overlap.`\n );\n }\n\n const availableKeys = union(inputKeysSet, memoryKeysSet);\n for (const chain of this.chains) {\n let missingKeys = difference(new Set(chain.inputKeys), availableKeys);\n\n if (chain.memory) {\n missingKeys = difference(missingKeys, new Set(chain.memory.memoryKeys));\n }\n\n if (missingKeys.size > 0) {\n throw new Error(\n `Missing variables for chain \"${chain._chainType()}\": ${formatSet(\n missingKeys\n )}. Only got the following variables: ${formatSet(availableKeys)}.`\n );\n }\n const outputKeysSet = new Set(chain.outputKeys);\n const overlappingOutputKeys = intersection(availableKeys, outputKeysSet);\n if (overlappingOutputKeys.size > 0) {\n throw new Error(\n `The following output variables for chain \"${chain._chainType()}\" are overlapping: ${formatSet(\n overlappingOutputKeys\n )}. This can lead to unexpected behaviour.`\n );\n }\n\n for (const outputKey of outputKeysSet) {\n availableKeys.add(outputKey);\n }\n }\n\n if (this.outputVariables.length === 0) {\n if (this.returnAll) {\n const outputKeys = difference(availableKeys, inputKeysSet);\n this.outputVariables = Array.from(outputKeys);\n } else {\n this.outputVariables = this.chains[this.chains.length - 1].outputKeys;\n }\n } else {\n const missingKeys = difference(\n new Set(this.outputVariables),\n new Set(availableKeys)\n );\n if (missingKeys.size > 0) {\n throw new Error(\n `The following output variables were expected to be in the final chain output but were not found: ${formatSet(\n missingKeys\n )}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: ChainValues = {};\n const allChainValues: ChainValues = values;\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = await chain.call(\n allChainValues,\n runManager?.getChild(`step_${i}`)\n );\n for (const key of Object.keys(input)) {\n allChainValues[key] = input[key];\n }\n }\n const output: ChainValues = {};\n for (const key of this.outputVariables) {\n output[key] = allChainValues[key];\n }\n\n return output;\n }\n\n _chainType() {\n return \"sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSequentialChain) {\n const chains: BaseChain[] = [];\n const inputVariables: string[] = data.input_variables;\n const outputVariables: string[] = data.output_variables;\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SequentialChain({ chains, inputVariables, outputVariables });\n }\n\n serialize(): SerializedSequentialChain {\n const chains: SerializedBaseChain[] = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n input_variables: this.inputVariables,\n output_variables: this.outputVariables,\n chains,\n };\n }\n}\n\n/**\n * Interface for the input parameters of the SimpleSequentialChain class.\n */\nexport interface SimpleSequentialChainInput extends ChainInputs {\n /** Array of chains to run as a sequence. The chains are run in order they appear in the array. */\n chains: Array<BaseChain>;\n /** Whether or not to trim the intermediate outputs. */\n trimOutputs?: boolean;\n}\n\n/**\n * Simple chain where a single string output of one chain is fed directly into the next.\n * @augments BaseChain\n * @augments SimpleSequentialChainInput\n *\n * @example\n * ```ts\n * import { SimpleSequentialChain, LLMChain } from \"@langchain/classic/chains\";\n * import { OpenAI } from \"langchain/llms/openai\";\n * import { PromptTemplate } from \"langchain/prompts\";\n *\n * // This is an LLMChain to write a synopsis given a title of a play.\n * const llm = new OpenAI({ temperature: 0 });\n * const template = `You are a playwright. Given the title of play, it is your job to write a synopsis for that title.\n *\n * Title: {title}\n * Playwright: This is a synopsis for the above play:`\n * const promptTemplate = new PromptTemplate({ template, inputVariables: [\"title\"] });\n * const synopsisChain = new LLMChain({ llm, prompt: promptTemplate });\n *\n *\n * // This is an LLMChain to write a review of a play given a synopsis.\n * const reviewLLM = new OpenAI({ temperature: 0 })\n * const reviewTemplate = `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.\n *\n * Play Synopsis:\n * {synopsis}\n * Review from a New York Times play critic of the above play:`\n * const reviewPromptTemplate = new PromptTemplate({ template: reviewTemplate, inputVariables: [\"synopsis\"] });\n * const reviewChain = new LLMChain({ llm: reviewLLM, prompt: reviewPromptTemplate });\n *\n * const overallChain = new SimpleSequentialChain({chains: [synopsisChain, reviewChain], verbose:true})\n * const review = await overallChain.run(\"Tragedy at sunset on the beach\")\n * // the variable review contains resulting play review.\n * ```\n */\nexport class SimpleSequentialChain\n extends BaseChain\n implements SimpleSequentialChainInput\n{\n static lc_name() {\n return \"SimpleSequentialChain\";\n }\n\n chains: Array<BaseChain>;\n\n inputKey = \"input\";\n\n outputKey = \"output\";\n\n trimOutputs: boolean;\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys(): string[] {\n return [this.outputKey];\n }\n\n constructor(fields: SimpleSequentialChainInput) {\n super(fields);\n this.chains = fields.chains;\n this.trimOutputs = fields.trimOutputs ?? false;\n this._validateChains();\n }\n\n /** @ignore */\n _validateChains() {\n for (const chain of this.chains) {\n if (\n chain.inputKeys.filter((k) => !chain.memory?.memoryKeys.includes(k))\n .length !== 1\n ) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one input, got ${\n chain.inputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n if (chain.outputKeys.length !== 1) {\n throw new Error(\n `Chains used in SimpleSequentialChain should all have one output, got ${\n chain.outputKeys.length\n } for ${chain._chainType()}.`\n );\n }\n }\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n let input: string = values[this.inputKey];\n let i = 0;\n for (const chain of this.chains) {\n i += 1;\n input = (\n await chain.call(\n { [chain.inputKeys[0]]: input, signal: values.signal },\n runManager?.getChild(`step_${i}`)\n )\n )[chain.outputKeys[0]];\n if (this.trimOutputs) {\n input = input.trim();\n }\n await runManager?.handleText(input);\n }\n return { [this.outputKey]: input };\n }\n\n _chainType() {\n return \"simple_sequential_chain\" as const;\n }\n\n static async deserialize(data: SerializedSimpleSequentialChain) {\n const chains: Array<BaseChain> = [];\n const serializedChains = data.chains;\n for (const serializedChain of serializedChains) {\n const deserializedChain = await BaseChain.deserialize(serializedChain);\n chains.push(deserializedChain);\n }\n return new SimpleSequentialChain({ chains });\n }\n\n serialize(): SerializedSimpleSequentialChain {\n const chains: Array<SerializedBaseChain> = [];\n for (const chain of this.chains) {\n chains.push(chain.serialize());\n }\n return {\n _type: this._chainType(),\n chains,\n };\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { SerializedLLM } from "@langchain/core/language_models/llms";
2
2
  import { SerializedBasePromptTemplate } from "@langchain/core/prompts";
3
-
4
3
  //#region src/chains/serde.d.ts
5
4
  /**
6
5
  * Represents the serialized form of an LLMChain. It includes properties
@@ -151,5 +150,5 @@ type SerializedConstitutionalChain = {
151
150
  */
152
151
  type SerializedBaseChain = SerializedLLMChain | SerializedSequentialChain | SerializedSimpleSequentialChain | SerializedVectorDBQAChain | SerializedAPIChain | SerializedStuffDocumentsChain | SerializedChatVectorDBQAChain | SerializedMapReduceDocumentsChain | SerializedAnalyzeDocumentChain | SerializedRefineDocumentsChain | SerializedConstitutionalChain;
153
152
  //#endregion
154
- export { SerializedAPIChain, SerializedAnalyzeDocumentChain, SerializedBaseChain, SerializedChatVectorDBQAChain, SerializedConstitutionalPrinciple, SerializedLLMChain, SerializedMapReduceDocumentsChain, SerializedRefineDocumentsChain, SerializedSequentialChain, SerializedSimpleSequentialChain, SerializedStuffDocumentsChain, SerializedVectorDBQAChain };
153
+ export { SerializedAPIChain, SerializedAnalyzeDocumentChain, SerializedBaseChain, SerializedChatVectorDBQAChain, SerializedConstitutionalChain, SerializedConstitutionalPrinciple, SerializedLLMChain, SerializedMapReduceDocumentsChain, SerializedRefineDocumentsChain, SerializedSequentialChain, SerializedSimpleSequentialChain, SerializedStuffDocumentsChain, SerializedVectorDBQAChain };
155
154
  //# sourceMappingURL=serde.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serde.d.cts","names":[],"sources":["../../src/chains/serde.ts"],"mappings":";;;;;;AASA;;;;KAAY,kBAAA;EACV,KAAA;EACA,GAAA,GAAM,aAAA;EACN,MAAA,GAAS,4BAAA;AAAA;;;AAUX;;;;;KAAY,yBAAA;EACV,KAAA;EACA,eAAA;EACA,gBAAA;EACA,MAAA,EAAQ,mBAAA;AAAA;AASV;;;;;;AAAA,KAAY,+BAAA;EACV,KAAA;EACA,MAAA,EAAQ,KAAA,CAAM,mBAAA;AAAA;AAShB;;;;;;AAAA,KAAY,yBAAA;EACV,KAAA;EACA,CAAA;EACA,uBAAA,EAAyB,mBAAA;AAAA;;;;;;;;KAUf,kBAAA;EACV,KAAA;EACA,iBAAA,EAAmB,kBAAA;EACnB,gBAAA,EAAkB,kBAAA;EAClB,QAAA;AAAA;;;;;;;KASU,6BAAA;EACV,KAAA;EACA,SAAA,GAAY,kBAAA;AAAA;;;;;;;;KAUF,6BAAA;EACV,KAAA;EACA,CAAA;EACA,uBAAA,EAAyB,mBAAA;EACzB,kBAAA,EAAoB,kBAAA;AAAA;;;;;;;;KAUV,iCAAA;EACV,KAAA;EACA,SAAA,GAAY,kBAAA;EACZ,sBAAA,GAAyB,6BAAA;AAAA;;;;;;;KASf,8BAAA;EACV,KAAA;EACA,SAAA,GAAY,kBAAA;EACZ,gBAAA,GAAmB,kBAAA;AAAA;;;;;AAqBrB;;KAZY,8BAAA;EACV,KAAA;EACA,sBAAA,GAAyB,mBAAA;AAAA;;;;;AAwB3B;;;KAdY,iCAAA;EACV,KAAA;EACA,eAAA;EACA,eAAA;EACA,IAAA;AAAA;;;;;;;;KAUU,6BAAA;EACV,KAAA;EACA,KAAA,GAAQ,kBAAA;EACR,aAAA,GAAgB,mBAAA;EAChB,aAAA,GAAgB,mBAAA;EAChB,uBAAA,GAA0B,iCAAA;AAAA;;;;;;;KAShB,mBAAA,GACR,kBAAA,GACA,yBAAA,GACA,+BAAA,GACA,yBAAA,GACA,kBAAA,GACA,6BAAA,GACA,6BAAA,GACA,iCAAA,GACA,8BAAA,GACA,8BAAA,GACA,6BAAA"}
1
+ {"version":3,"file":"serde.d.cts","names":[],"sources":["../../src/chains/serde.ts"],"mappings":";;;;;;;;;KASY;EACV;EACA,MAAM;EACN,SAAS;;;;;;;;;KAUC;EACV;EACA;EACA;EACA,QAAQ;;;;;;;;KASE;EACV;EACA,QAAQ,MAAM;;;;;;;;KASJ;EACV;EACA;EACA,yBAAyB;;;;;;;;;KAUf;EACV;EACA,mBAAmB;EACnB,kBAAkB;EAClB;;;;;;;;KASU;EACV;EACA,YAAY;;;;;;;;;KAUF;EACV;EACA;EACA,yBAAyB;EACzB,oBAAoB;;;;;;;;;KAUV;EACV;EACA,YAAY;EACZ,yBAAyB;;;;;;;;KASf;EACV;EACA,YAAY;EACZ,mBAAmB;;;;;;;;KAST;EACV;EACA,yBAAyB;;;;;;;;;KAUf;EACV;EACA;EACA;EACA;;;;;;;;;KAUU;EACV;EACA,QAAQ;EACR,gBAAgB;EAChB,gBAAgB;EAChB,0BAA0B;;;;;;;;KAShB,sBACR,qBACA,4BACA,kCACA,4BACA,qBACA,gCACA,gCACA,oCACA,iCACA,iCACA"}
@@ -1,6 +1,5 @@
1
1
  import { SerializedBasePromptTemplate } from "@langchain/core/prompts";
2
2
  import { SerializedLLM } from "@langchain/core/language_models/llms";
3
-
4
3
  //#region src/chains/serde.d.ts
5
4
  /**
6
5
  * Represents the serialized form of an LLMChain. It includes properties
@@ -151,5 +150,5 @@ type SerializedConstitutionalChain = {
151
150
  */
152
151
  type SerializedBaseChain = SerializedLLMChain | SerializedSequentialChain | SerializedSimpleSequentialChain | SerializedVectorDBQAChain | SerializedAPIChain | SerializedStuffDocumentsChain | SerializedChatVectorDBQAChain | SerializedMapReduceDocumentsChain | SerializedAnalyzeDocumentChain | SerializedRefineDocumentsChain | SerializedConstitutionalChain;
153
152
  //#endregion
154
- export { SerializedAPIChain, SerializedAnalyzeDocumentChain, SerializedBaseChain, SerializedChatVectorDBQAChain, SerializedConstitutionalPrinciple, SerializedLLMChain, SerializedMapReduceDocumentsChain, SerializedRefineDocumentsChain, SerializedSequentialChain, SerializedSimpleSequentialChain, SerializedStuffDocumentsChain, SerializedVectorDBQAChain };
153
+ export { SerializedAPIChain, SerializedAnalyzeDocumentChain, SerializedBaseChain, SerializedChatVectorDBQAChain, SerializedConstitutionalChain, SerializedConstitutionalPrinciple, SerializedLLMChain, SerializedMapReduceDocumentsChain, SerializedRefineDocumentsChain, SerializedSequentialChain, SerializedSimpleSequentialChain, SerializedStuffDocumentsChain, SerializedVectorDBQAChain };
155
154
  //# sourceMappingURL=serde.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serde.d.ts","names":[],"sources":["../../src/chains/serde.ts"],"mappings":";;;;;;AASA;;;;KAAY,kBAAA;EACV,KAAA;EACA,GAAA,GAAM,aAAA;EACN,MAAA,GAAS,4BAAA;AAAA;;;AAUX;;;;;KAAY,yBAAA;EACV,KAAA;EACA,eAAA;EACA,gBAAA;EACA,MAAA,EAAQ,mBAAA;AAAA;AASV;;;;;;AAAA,KAAY,+BAAA;EACV,KAAA;EACA,MAAA,EAAQ,KAAA,CAAM,mBAAA;AAAA;AAShB;;;;;;AAAA,KAAY,yBAAA;EACV,KAAA;EACA,CAAA;EACA,uBAAA,EAAyB,mBAAA;AAAA;;;;;;;;KAUf,kBAAA;EACV,KAAA;EACA,iBAAA,EAAmB,kBAAA;EACnB,gBAAA,EAAkB,kBAAA;EAClB,QAAA;AAAA;;;;;;;KASU,6BAAA;EACV,KAAA;EACA,SAAA,GAAY,kBAAA;AAAA;;;;;;;;KAUF,6BAAA;EACV,KAAA;EACA,CAAA;EACA,uBAAA,EAAyB,mBAAA;EACzB,kBAAA,EAAoB,kBAAA;AAAA;;;;;;;;KAUV,iCAAA;EACV,KAAA;EACA,SAAA,GAAY,kBAAA;EACZ,sBAAA,GAAyB,6BAAA;AAAA;;;;;;;KASf,8BAAA;EACV,KAAA;EACA,SAAA,GAAY,kBAAA;EACZ,gBAAA,GAAmB,kBAAA;AAAA;;;;;AAqBrB;;KAZY,8BAAA;EACV,KAAA;EACA,sBAAA,GAAyB,mBAAA;AAAA;;;;;AAwB3B;;;KAdY,iCAAA;EACV,KAAA;EACA,eAAA;EACA,eAAA;EACA,IAAA;AAAA;;;;;;;;KAUU,6BAAA;EACV,KAAA;EACA,KAAA,GAAQ,kBAAA;EACR,aAAA,GAAgB,mBAAA;EAChB,aAAA,GAAgB,mBAAA;EAChB,uBAAA,GAA0B,iCAAA;AAAA;;;;;;;KAShB,mBAAA,GACR,kBAAA,GACA,yBAAA,GACA,+BAAA,GACA,yBAAA,GACA,kBAAA,GACA,6BAAA,GACA,6BAAA,GACA,iCAAA,GACA,8BAAA,GACA,8BAAA,GACA,6BAAA"}
1
+ {"version":3,"file":"serde.d.ts","names":[],"sources":["../../src/chains/serde.ts"],"mappings":";;;;;;;;;KASY;EACV;EACA,MAAM;EACN,SAAS;;;;;;;;;KAUC;EACV;EACA;EACA;EACA,QAAQ;;;;;;;;KASE;EACV;EACA,QAAQ,MAAM;;;;;;;;KASJ;EACV;EACA;EACA,yBAAyB;;;;;;;;;KAUf;EACV;EACA,mBAAmB;EACnB,kBAAkB;EAClB;;;;;;;;KASU;EACV;EACA,YAAY;;;;;;;;;KAUF;EACV;EACA;EACA,yBAAyB;EACzB,oBAAoB;;;;;;;;;KAUV;EACV;EACA,YAAY;EACZ,yBAAyB;;;;;;;;KASf;EACV;EACA,YAAY;EACZ,mBAAmB;;;;;;;;KAST;EACV;EACA,yBAAyB;;;;;;;;;KAUf;EACV;EACA;EACA;EACA;;;;;;;;;KAUU;EACV;EACA,QAAQ;EACR,gBAAgB;EAChB,gBAAgB;EAChB,0BAA0B;;;;;;;;KAShB,sBACR,qBACA,4BACA,kCACA,4BACA,qBACA,gCACA,gCACA,oCACA,iCACA,iCACA"}
@@ -1,4 +1,3 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  const require_base = require("../base.cjs");
3
2
  const require_llm_chain = require("../llm_chain.cjs");
4
3
  const require_sql_db_prompt = require("./sql_db_prompt.cjs");
@@ -156,7 +155,7 @@ async function createSqlQueryChain({ llm, db, prompt, k = 5, dialect }) {
156
155
  if (prompt) promptToUse = prompt;
157
156
  else if (require_sql_db_prompt.SQL_PROMPTS_MAP[dialect]) promptToUse = require_sql_db_prompt.SQL_PROMPTS_MAP[dialect];
158
157
  else promptToUse = require_sql_db_prompt.DEFAULT_SQL_DATABASE_PROMPT;
159
- if (difference(new Set([
158
+ if (difference(/* @__PURE__ */ new Set([
160
159
  "input",
161
160
  "top_k",
162
161
  "table_info"