@langchain/classic 1.0.39 → 1.0.41

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 +0 -1
  21. package/dist/agents/chat/outputParser.d.cts.map +1 -1
  22. package/dist/agents/chat/outputParser.d.ts +0 -1
  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 +1 -2
  111. package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
  112. package/dist/agents/mrkl/outputParser.d.ts +1 -2
  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
@@ -1 +1 @@
1
- {"version":3,"file":"chat_vector_db_chain.cjs","names":["BaseChain","LLMChain","PromptTemplate","loadQAStuffChain"],"sources":["../../src/chains/chat_vector_db_chain.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { SerializedChatVectorDBQAChain } from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\nimport { loadQAStuffChain } from \"./question_answering/load.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nconst question_generator_template = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.\n\nChat History:\n{chat_history}\nFollow Up Input: {question}\nStandalone question:`;\n\nconst qa_template = `Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\n{context}\n\nQuestion: {question}\nHelpful Answer:`;\n\n/**\n * Interface for the input parameters of the ChatVectorDBQAChain class.\n */\nexport interface ChatVectorDBQAChainInput extends ChainInputs {\n vectorstore: VectorStoreInterface;\n combineDocumentsChain: BaseChain;\n questionGeneratorChain: LLMChain;\n returnSourceDocuments?: boolean;\n outputKey?: string;\n inputKey?: string;\n k?: number;\n}\n\n/** @deprecated use `ConversationalRetrievalQAChain` instead. */\nexport class ChatVectorDBQAChain\n extends BaseChain\n implements ChatVectorDBQAChainInput\n{\n k = 4;\n\n inputKey = \"question\";\n\n chatHistoryKey = \"chat_history\";\n\n get inputKeys() {\n return [this.inputKey, this.chatHistoryKey];\n }\n\n outputKey = \"result\";\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n vectorstore: VectorStoreInterface;\n\n combineDocumentsChain: BaseChain;\n\n questionGeneratorChain: LLMChain;\n\n returnSourceDocuments = false;\n\n constructor(fields: ChatVectorDBQAChainInput) {\n super(fields);\n this.vectorstore = fields.vectorstore;\n this.combineDocumentsChain = fields.combineDocumentsChain;\n this.questionGeneratorChain = fields.questionGeneratorChain;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.k = fields.k ?? this.k;\n this.returnSourceDocuments =\n fields.returnSourceDocuments ?? this.returnSourceDocuments;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Question key ${this.inputKey} not found.`);\n }\n if (!(this.chatHistoryKey in values)) {\n throw new Error(`chat history key ${this.inputKey} not found.`);\n }\n const question: string = values[this.inputKey];\n const chatHistory: string = values[this.chatHistoryKey];\n let newQuestion = question;\n if (chatHistory.length > 0) {\n const result = await this.questionGeneratorChain.call(\n {\n question,\n chat_history: chatHistory,\n },\n runManager?.getChild(\"question_generator\")\n );\n const keys = Object.keys(result);\n console.log(\"_call\", values, keys);\n if (keys.length === 1) {\n newQuestion = result[keys[0]];\n } else {\n throw new Error(\n \"Return from llm chain has multiple values, only single values supported.\"\n );\n }\n }\n const docs = await this.vectorstore.similaritySearch(\n newQuestion,\n this.k,\n undefined,\n runManager?.getChild(\"vectorstore\")\n );\n const inputs = {\n question: newQuestion,\n input_documents: docs,\n chat_history: chatHistory,\n };\n const result = await this.combineDocumentsChain.call(\n inputs,\n runManager?.getChild(\"combine_documents\")\n );\n if (this.returnSourceDocuments) {\n return {\n ...result,\n sourceDocuments: docs,\n };\n }\n return result;\n }\n\n _chainType() {\n return \"chat-vector-db\" as const;\n }\n\n static async deserialize(\n data: SerializedChatVectorDBQAChain,\n values: LoadValues\n ) {\n if (!(\"vectorstore\" in values)) {\n throw new Error(\n `Need to pass in a vectorstore to deserialize VectorDBQAChain`\n );\n }\n const { vectorstore } = values;\n\n return new ChatVectorDBQAChain({\n combineDocumentsChain: await BaseChain.deserialize(\n data.combine_documents_chain\n ),\n questionGeneratorChain: await LLMChain.deserialize(\n data.question_generator\n ),\n k: data.k,\n vectorstore,\n });\n }\n\n serialize(): SerializedChatVectorDBQAChain {\n return {\n _type: this._chainType(),\n combine_documents_chain: this.combineDocumentsChain.serialize(),\n question_generator: this.questionGeneratorChain.serialize(),\n k: this.k,\n };\n }\n\n /**\n * Creates an instance of ChatVectorDBQAChain using a BaseLanguageModel\n * and other options.\n * @param llm Instance of BaseLanguageModel used to generate a new question.\n * @param vectorstore Instance of VectorStore used for vector operations.\n * @param options (Optional) Additional options for creating the ChatVectorDBQAChain instance.\n * @returns New instance of ChatVectorDBQAChain.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n vectorstore: VectorStoreInterface,\n options: {\n inputKey?: string;\n outputKey?: string;\n k?: number;\n returnSourceDocuments?: boolean;\n questionGeneratorTemplate?: string;\n qaTemplate?: string;\n verbose?: boolean;\n } = {}\n ): ChatVectorDBQAChain {\n const { questionGeneratorTemplate, qaTemplate, verbose, ...rest } = options;\n const question_generator_prompt = PromptTemplate.fromTemplate(\n questionGeneratorTemplate || question_generator_template\n );\n const qa_prompt = PromptTemplate.fromTemplate(qaTemplate || qa_template);\n\n const qaChain = loadQAStuffChain(llm, { prompt: qa_prompt, verbose });\n const questionGeneratorChain = new LLMChain({\n prompt: question_generator_prompt,\n llm,\n verbose,\n });\n const instance = new this({\n vectorstore,\n combineDocumentsChain: qaChain,\n questionGeneratorChain,\n ...rest,\n });\n return instance;\n }\n}\n"],"mappings":";;;;;;AAaA,MAAM,8BAA8B;;;;;;AAOpC,MAAM,cAAc;;;;;;;AAqBpB,IAAa,sBAAb,MAAa,4BACHA,aAAAA,UAEV;CACE,IAAI;CAEJ,WAAW;CAEX,iBAAiB;CAEjB,IAAI,YAAY;AACd,SAAO,CAAC,KAAK,UAAU,KAAK,eAAe;;CAG7C,YAAY;CAEZ,IAAI,aAAa;AACf,SAAO,CAAC,KAAK,UAAU;;CAGzB;CAEA;CAEA;CAEA,wBAAwB;CAExB,YAAY,QAAkC;AAC5C,QAAM,OAAO;AACb,OAAK,cAAc,OAAO;AAC1B,OAAK,wBAAwB,OAAO;AACpC,OAAK,yBAAyB,OAAO;AACrC,OAAK,WAAW,OAAO,YAAY,KAAK;AACxC,OAAK,YAAY,OAAO,aAAa,KAAK;AAC1C,OAAK,IAAI,OAAO,KAAK,KAAK;AAC1B,OAAK,wBACH,OAAO,yBAAyB,KAAK;;;CAIzC,MAAM,MACJ,QACA,YACsB;AACtB,MAAI,EAAE,KAAK,YAAY,QACrB,OAAM,IAAI,MAAM,gBAAgB,KAAK,SAAS,aAAa;AAE7D,MAAI,EAAE,KAAK,kBAAkB,QAC3B,OAAM,IAAI,MAAM,oBAAoB,KAAK,SAAS,aAAa;EAEjE,MAAM,WAAmB,OAAO,KAAK;EACrC,MAAM,cAAsB,OAAO,KAAK;EACxC,IAAI,cAAc;AAClB,MAAI,YAAY,SAAS,GAAG;GAC1B,MAAM,SAAS,MAAM,KAAK,uBAAuB,KAC/C;IACE;IACA,cAAc;IACf,EACD,YAAY,SAAS,qBAAqB,CAC3C;GACD,MAAM,OAAO,OAAO,KAAK,OAAO;AAChC,WAAQ,IAAI,SAAS,QAAQ,KAAK;AAClC,OAAI,KAAK,WAAW,EAClB,eAAc,OAAO,KAAK;OAE1B,OAAM,IAAI,MACR,2EACD;;EAGL,MAAM,OAAO,MAAM,KAAK,YAAY,iBAClC,aACA,KAAK,GACL,KAAA,GACA,YAAY,SAAS,cAAc,CACpC;EACD,MAAM,SAAS;GACb,UAAU;GACV,iBAAiB;GACjB,cAAc;GACf;EACD,MAAM,SAAS,MAAM,KAAK,sBAAsB,KAC9C,QACA,YAAY,SAAS,oBAAoB,CAC1C;AACD,MAAI,KAAK,sBACP,QAAO;GACL,GAAG;GACH,iBAAiB;GAClB;AAEH,SAAO;;CAGT,aAAa;AACX,SAAO;;CAGT,aAAa,YACX,MACA,QACA;AACA,MAAI,EAAE,iBAAiB,QACrB,OAAM,IAAI,MACR,+DACD;EAEH,MAAM,EAAE,gBAAgB;AAExB,SAAO,IAAI,oBAAoB;GAC7B,uBAAuB,MAAMA,aAAAA,UAAU,YACrC,KAAK,wBACN;GACD,wBAAwB,MAAMC,kBAAAA,SAAS,YACrC,KAAK,mBACN;GACD,GAAG,KAAK;GACR;GACD,CAAC;;CAGJ,YAA2C;AACzC,SAAO;GACL,OAAO,KAAK,YAAY;GACxB,yBAAyB,KAAK,sBAAsB,WAAW;GAC/D,oBAAoB,KAAK,uBAAuB,WAAW;GAC3D,GAAG,KAAK;GACT;;;;;;;;;;CAWH,OAAO,QACL,KACA,aACA,UAQI,EAAE,EACe;EACrB,MAAM,EAAE,2BAA2B,YAAY,SAAS,GAAG,SAAS;EACpE,MAAM,4BAA4BC,wBAAAA,eAAe,aAC/C,6BAA6B,4BAC9B;EAGD,MAAM,UAAUC,aAAAA,iBAAiB,KAAK;GAAE,QAFtBD,wBAAAA,eAAe,aAAa,cAAc,YAEH;GAAE;GAAS,CAAC;EACrE,MAAM,yBAAyB,IAAID,kBAAAA,SAAS;GAC1C,QAAQ;GACR;GACA;GACD,CAAC;AAOF,SAAO,IANc,KAAK;GACxB;GACA,uBAAuB;GACvB;GACA,GAAG;GACJ,CACc"}
1
+ {"version":3,"file":"chat_vector_db_chain.cjs","names":["BaseChain","LLMChain","PromptTemplate","loadQAStuffChain"],"sources":["../../src/chains/chat_vector_db_chain.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { SerializedChatVectorDBQAChain } from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\nimport { loadQAStuffChain } from \"./question_answering/load.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nconst question_generator_template = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.\n\nChat History:\n{chat_history}\nFollow Up Input: {question}\nStandalone question:`;\n\nconst qa_template = `Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\n{context}\n\nQuestion: {question}\nHelpful Answer:`;\n\n/**\n * Interface for the input parameters of the ChatVectorDBQAChain class.\n */\nexport interface ChatVectorDBQAChainInput extends ChainInputs {\n vectorstore: VectorStoreInterface;\n combineDocumentsChain: BaseChain;\n questionGeneratorChain: LLMChain;\n returnSourceDocuments?: boolean;\n outputKey?: string;\n inputKey?: string;\n k?: number;\n}\n\n/** @deprecated use `ConversationalRetrievalQAChain` instead. */\nexport class ChatVectorDBQAChain\n extends BaseChain\n implements ChatVectorDBQAChainInput\n{\n k = 4;\n\n inputKey = \"question\";\n\n chatHistoryKey = \"chat_history\";\n\n get inputKeys() {\n return [this.inputKey, this.chatHistoryKey];\n }\n\n outputKey = \"result\";\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n vectorstore: VectorStoreInterface;\n\n combineDocumentsChain: BaseChain;\n\n questionGeneratorChain: LLMChain;\n\n returnSourceDocuments = false;\n\n constructor(fields: ChatVectorDBQAChainInput) {\n super(fields);\n this.vectorstore = fields.vectorstore;\n this.combineDocumentsChain = fields.combineDocumentsChain;\n this.questionGeneratorChain = fields.questionGeneratorChain;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.k = fields.k ?? this.k;\n this.returnSourceDocuments =\n fields.returnSourceDocuments ?? this.returnSourceDocuments;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Question key ${this.inputKey} not found.`);\n }\n if (!(this.chatHistoryKey in values)) {\n throw new Error(`chat history key ${this.inputKey} not found.`);\n }\n const question: string = values[this.inputKey];\n const chatHistory: string = values[this.chatHistoryKey];\n let newQuestion = question;\n if (chatHistory.length > 0) {\n const result = await this.questionGeneratorChain.call(\n {\n question,\n chat_history: chatHistory,\n },\n runManager?.getChild(\"question_generator\")\n );\n const keys = Object.keys(result);\n console.log(\"_call\", values, keys);\n if (keys.length === 1) {\n newQuestion = result[keys[0]];\n } else {\n throw new Error(\n \"Return from llm chain has multiple values, only single values supported.\"\n );\n }\n }\n const docs = await this.vectorstore.similaritySearch(\n newQuestion,\n this.k,\n undefined,\n runManager?.getChild(\"vectorstore\")\n );\n const inputs = {\n question: newQuestion,\n input_documents: docs,\n chat_history: chatHistory,\n };\n const result = await this.combineDocumentsChain.call(\n inputs,\n runManager?.getChild(\"combine_documents\")\n );\n if (this.returnSourceDocuments) {\n return {\n ...result,\n sourceDocuments: docs,\n };\n }\n return result;\n }\n\n _chainType() {\n return \"chat-vector-db\" as const;\n }\n\n static async deserialize(\n data: SerializedChatVectorDBQAChain,\n values: LoadValues\n ) {\n if (!(\"vectorstore\" in values)) {\n throw new Error(\n `Need to pass in a vectorstore to deserialize VectorDBQAChain`\n );\n }\n const { vectorstore } = values;\n\n return new ChatVectorDBQAChain({\n combineDocumentsChain: await BaseChain.deserialize(\n data.combine_documents_chain\n ),\n questionGeneratorChain: await LLMChain.deserialize(\n data.question_generator\n ),\n k: data.k,\n vectorstore,\n });\n }\n\n serialize(): SerializedChatVectorDBQAChain {\n return {\n _type: this._chainType(),\n combine_documents_chain: this.combineDocumentsChain.serialize(),\n question_generator: this.questionGeneratorChain.serialize(),\n k: this.k,\n };\n }\n\n /**\n * Creates an instance of ChatVectorDBQAChain using a BaseLanguageModel\n * and other options.\n * @param llm Instance of BaseLanguageModel used to generate a new question.\n * @param vectorstore Instance of VectorStore used for vector operations.\n * @param options (Optional) Additional options for creating the ChatVectorDBQAChain instance.\n * @returns New instance of ChatVectorDBQAChain.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n vectorstore: VectorStoreInterface,\n options: {\n inputKey?: string;\n outputKey?: string;\n k?: number;\n returnSourceDocuments?: boolean;\n questionGeneratorTemplate?: string;\n qaTemplate?: string;\n verbose?: boolean;\n } = {}\n ): ChatVectorDBQAChain {\n const { questionGeneratorTemplate, qaTemplate, verbose, ...rest } = options;\n const question_generator_prompt = PromptTemplate.fromTemplate(\n questionGeneratorTemplate || question_generator_template\n );\n const qa_prompt = PromptTemplate.fromTemplate(qaTemplate || qa_template);\n\n const qaChain = loadQAStuffChain(llm, { prompt: qa_prompt, verbose });\n const questionGeneratorChain = new LLMChain({\n prompt: question_generator_prompt,\n llm,\n verbose,\n });\n const instance = new this({\n vectorstore,\n combineDocumentsChain: qaChain,\n questionGeneratorChain,\n ...rest,\n });\n return instance;\n }\n}\n"],"mappings":"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"}
@@ -5,7 +5,6 @@ import { ChainValues } from "@langchain/core/utils/types";
5
5
  import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
6
6
  import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
7
7
  import { VectorStoreInterface } from "@langchain/core/vectorstores";
8
-
9
8
  //#region src/chains/chat_vector_db_chain.d.ts
10
9
  type LoadValues = Record<string, any>;
11
10
  /**
@@ -57,5 +56,5 @@ declare class ChatVectorDBQAChain extends BaseChain implements ChatVectorDBQACha
57
56
  }): ChatVectorDBQAChain;
58
57
  }
59
58
  //#endregion
60
- export { ChatVectorDBQAChain, ChatVectorDBQAChainInput };
59
+ export { ChatVectorDBQAChain, ChatVectorDBQAChainInput, LoadValues };
61
60
  //# sourceMappingURL=chat_vector_db_chain.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat_vector_db_chain.d.cts","names":[],"sources":["../../src/chains/chat_vector_db_chain.ts"],"mappings":";;;;;;;;;KAWY,UAAA,GAAa,MAAA;;AAAzB;;UAmBiB,wBAAA,SAAiC,WAAA;EAChD,WAAA,EAAa,oBAAA;EACb,qBAAA,EAAuB,SAAA;EACvB,sBAAA,EAAwB,QAAA;EACxB,qBAAA;EACA,SAAA;EACA,QAAA;EACA,CAAA;AAAA;;cAIW,mBAAA,SACH,SAAA,YACG,wBAAA;EAEX,CAAA;EAEA,QAAA;EAEA,cAAA;EAAA,IAEI,SAAA,CAAA;EAIJ,SAAA;EAAA,IAEI,UAAA,CAAA;EAIJ,WAAA,EAAa,oBAAA;EAEb,qBAAA,EAAuB,SAAA;EAEvB,sBAAA,EAAwB,QAAA;EAExB,qBAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,wBAAA;EAhCpB;EA6CM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAoDX,UAAA,CAAA;EAAA,OAIa,WAAA,CACX,IAAA,EAAM,6BAAA,EACN,MAAA,EAAQ,UAAA,GAAU,OAAA,CAAA,mBAAA;EAqBpB,SAAA,CAAA,GAAa,6BAAA;;;;;;;;;SAiBN,OAAA,CACL,GAAA,EAAK,0BAAA,EACL,WAAA,EAAa,oBAAA,EACb,OAAA;IACE,QAAA;IACA,SAAA;IACA,CAAA;IACA,qBAAA;IACA,yBAAA;IACA,UAAA;IACA,OAAA;EAAA,IAED,mBAAA;AAAA"}
1
+ {"version":3,"file":"chat_vector_db_chain.d.cts","names":[],"sources":["../../src/chains/chat_vector_db_chain.ts"],"mappings":";;;;;;;;KAWY,aAAa;;;;UAmBR,iCAAiC;EAChD,aAAa;EACb,uBAAuB;EACvB,wBAAwB;EACxB;EACA;EACA;EACA;;;cAIW,4BACH,qBACG;EAEX;EAEA;EAEA;MAEI;EAIJ;MAEI;EAIJ,aAAa;EAEb,uBAAuB;EAEvB,wBAAwB;EAExB;EAEA,YAAY,QAAQ;;EAad,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAoDX;SAIa,YACX,MAAM,+BACN,QAAQ,aAAU,QAAA;EAqBpB,aAAa;;;;;;;;;SAiBN,QACL,KAAK,4BACL,aAAa,sBACb;IACE;IACA;IACA;IACA;IACA;IACA;IACA;MAED"}
@@ -5,7 +5,6 @@ import { BaseLanguageModelInterface } from "@langchain/core/language_models/base
5
5
  import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
6
6
  import { ChainValues } from "@langchain/core/utils/types";
7
7
  import { VectorStoreInterface } from "@langchain/core/vectorstores";
8
-
9
8
  //#region src/chains/chat_vector_db_chain.d.ts
10
9
  type LoadValues = Record<string, any>;
11
10
  /**
@@ -57,5 +56,5 @@ declare class ChatVectorDBQAChain extends BaseChain implements ChatVectorDBQACha
57
56
  }): ChatVectorDBQAChain;
58
57
  }
59
58
  //#endregion
60
- export { ChatVectorDBQAChain, ChatVectorDBQAChainInput };
59
+ export { ChatVectorDBQAChain, ChatVectorDBQAChainInput, LoadValues };
61
60
  //# sourceMappingURL=chat_vector_db_chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat_vector_db_chain.d.ts","names":[],"sources":["../../src/chains/chat_vector_db_chain.ts"],"mappings":";;;;;;;;;KAWY,UAAA,GAAa,MAAA;;AAAzB;;UAmBiB,wBAAA,SAAiC,WAAA;EAChD,WAAA,EAAa,oBAAA;EACb,qBAAA,EAAuB,SAAA;EACvB,sBAAA,EAAwB,QAAA;EACxB,qBAAA;EACA,SAAA;EACA,QAAA;EACA,CAAA;AAAA;;cAIW,mBAAA,SACH,SAAA,YACG,wBAAA;EAEX,CAAA;EAEA,QAAA;EAEA,cAAA;EAAA,IAEI,SAAA,CAAA;EAIJ,SAAA;EAAA,IAEI,UAAA,CAAA;EAIJ,WAAA,EAAa,oBAAA;EAEb,qBAAA,EAAuB,SAAA;EAEvB,sBAAA,EAAwB,QAAA;EAExB,qBAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,wBAAA;EAhCpB;EA6CM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAoDX,UAAA,CAAA;EAAA,OAIa,WAAA,CACX,IAAA,EAAM,6BAAA,EACN,MAAA,EAAQ,UAAA,GAAU,OAAA,CAAA,mBAAA;EAqBpB,SAAA,CAAA,GAAa,6BAAA;;;;;;;;;SAiBN,OAAA,CACL,GAAA,EAAK,0BAAA,EACL,WAAA,EAAa,oBAAA,EACb,OAAA;IACE,QAAA;IACA,SAAA;IACA,CAAA;IACA,qBAAA;IACA,yBAAA;IACA,UAAA;IACA,OAAA;EAAA,IAED,mBAAA;AAAA"}
1
+ {"version":3,"file":"chat_vector_db_chain.d.ts","names":[],"sources":["../../src/chains/chat_vector_db_chain.ts"],"mappings":";;;;;;;;KAWY,aAAa;;;;UAmBR,iCAAiC;EAChD,aAAa;EACb,uBAAuB;EACvB,wBAAwB;EACxB;EACA;EACA;EACA;;;cAIW,4BACH,qBACG;EAEX;EAEA;EAEA;MAEI;EAIJ;MAEI;EAIJ,aAAa;EAEb,uBAAuB;EAEvB,wBAAwB;EAExB;EAEA,YAAY,QAAQ;;EAad,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAoDX;SAIa,YACX,MAAM,+BACN,QAAQ,aAAU,QAAA;EAqBpB,aAAa;;;;;;;;;SAiBN,QACL,KAAK,4BACL,aAAa,sBACb;IACE;IACA;IACA;IACA;IACA;IACA;IACA;MAED"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat_vector_db_chain.js","names":[],"sources":["../../src/chains/chat_vector_db_chain.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { SerializedChatVectorDBQAChain } from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\nimport { loadQAStuffChain } from \"./question_answering/load.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nconst question_generator_template = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.\n\nChat History:\n{chat_history}\nFollow Up Input: {question}\nStandalone question:`;\n\nconst qa_template = `Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\n{context}\n\nQuestion: {question}\nHelpful Answer:`;\n\n/**\n * Interface for the input parameters of the ChatVectorDBQAChain class.\n */\nexport interface ChatVectorDBQAChainInput extends ChainInputs {\n vectorstore: VectorStoreInterface;\n combineDocumentsChain: BaseChain;\n questionGeneratorChain: LLMChain;\n returnSourceDocuments?: boolean;\n outputKey?: string;\n inputKey?: string;\n k?: number;\n}\n\n/** @deprecated use `ConversationalRetrievalQAChain` instead. */\nexport class ChatVectorDBQAChain\n extends BaseChain\n implements ChatVectorDBQAChainInput\n{\n k = 4;\n\n inputKey = \"question\";\n\n chatHistoryKey = \"chat_history\";\n\n get inputKeys() {\n return [this.inputKey, this.chatHistoryKey];\n }\n\n outputKey = \"result\";\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n vectorstore: VectorStoreInterface;\n\n combineDocumentsChain: BaseChain;\n\n questionGeneratorChain: LLMChain;\n\n returnSourceDocuments = false;\n\n constructor(fields: ChatVectorDBQAChainInput) {\n super(fields);\n this.vectorstore = fields.vectorstore;\n this.combineDocumentsChain = fields.combineDocumentsChain;\n this.questionGeneratorChain = fields.questionGeneratorChain;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.k = fields.k ?? this.k;\n this.returnSourceDocuments =\n fields.returnSourceDocuments ?? this.returnSourceDocuments;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Question key ${this.inputKey} not found.`);\n }\n if (!(this.chatHistoryKey in values)) {\n throw new Error(`chat history key ${this.inputKey} not found.`);\n }\n const question: string = values[this.inputKey];\n const chatHistory: string = values[this.chatHistoryKey];\n let newQuestion = question;\n if (chatHistory.length > 0) {\n const result = await this.questionGeneratorChain.call(\n {\n question,\n chat_history: chatHistory,\n },\n runManager?.getChild(\"question_generator\")\n );\n const keys = Object.keys(result);\n console.log(\"_call\", values, keys);\n if (keys.length === 1) {\n newQuestion = result[keys[0]];\n } else {\n throw new Error(\n \"Return from llm chain has multiple values, only single values supported.\"\n );\n }\n }\n const docs = await this.vectorstore.similaritySearch(\n newQuestion,\n this.k,\n undefined,\n runManager?.getChild(\"vectorstore\")\n );\n const inputs = {\n question: newQuestion,\n input_documents: docs,\n chat_history: chatHistory,\n };\n const result = await this.combineDocumentsChain.call(\n inputs,\n runManager?.getChild(\"combine_documents\")\n );\n if (this.returnSourceDocuments) {\n return {\n ...result,\n sourceDocuments: docs,\n };\n }\n return result;\n }\n\n _chainType() {\n return \"chat-vector-db\" as const;\n }\n\n static async deserialize(\n data: SerializedChatVectorDBQAChain,\n values: LoadValues\n ) {\n if (!(\"vectorstore\" in values)) {\n throw new Error(\n `Need to pass in a vectorstore to deserialize VectorDBQAChain`\n );\n }\n const { vectorstore } = values;\n\n return new ChatVectorDBQAChain({\n combineDocumentsChain: await BaseChain.deserialize(\n data.combine_documents_chain\n ),\n questionGeneratorChain: await LLMChain.deserialize(\n data.question_generator\n ),\n k: data.k,\n vectorstore,\n });\n }\n\n serialize(): SerializedChatVectorDBQAChain {\n return {\n _type: this._chainType(),\n combine_documents_chain: this.combineDocumentsChain.serialize(),\n question_generator: this.questionGeneratorChain.serialize(),\n k: this.k,\n };\n }\n\n /**\n * Creates an instance of ChatVectorDBQAChain using a BaseLanguageModel\n * and other options.\n * @param llm Instance of BaseLanguageModel used to generate a new question.\n * @param vectorstore Instance of VectorStore used for vector operations.\n * @param options (Optional) Additional options for creating the ChatVectorDBQAChain instance.\n * @returns New instance of ChatVectorDBQAChain.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n vectorstore: VectorStoreInterface,\n options: {\n inputKey?: string;\n outputKey?: string;\n k?: number;\n returnSourceDocuments?: boolean;\n questionGeneratorTemplate?: string;\n qaTemplate?: string;\n verbose?: boolean;\n } = {}\n ): ChatVectorDBQAChain {\n const { questionGeneratorTemplate, qaTemplate, verbose, ...rest } = options;\n const question_generator_prompt = PromptTemplate.fromTemplate(\n questionGeneratorTemplate || question_generator_template\n );\n const qa_prompt = PromptTemplate.fromTemplate(qaTemplate || qa_template);\n\n const qaChain = loadQAStuffChain(llm, { prompt: qa_prompt, verbose });\n const questionGeneratorChain = new LLMChain({\n prompt: question_generator_prompt,\n llm,\n verbose,\n });\n const instance = new this({\n vectorstore,\n combineDocumentsChain: qaChain,\n questionGeneratorChain,\n ...rest,\n });\n return instance;\n }\n}\n"],"mappings":";;;;;AAaA,MAAM,8BAA8B;;;;;;AAOpC,MAAM,cAAc;;;;;;;AAqBpB,IAAa,sBAAb,MAAa,4BACH,UAEV;CACE,IAAI;CAEJ,WAAW;CAEX,iBAAiB;CAEjB,IAAI,YAAY;AACd,SAAO,CAAC,KAAK,UAAU,KAAK,eAAe;;CAG7C,YAAY;CAEZ,IAAI,aAAa;AACf,SAAO,CAAC,KAAK,UAAU;;CAGzB;CAEA;CAEA;CAEA,wBAAwB;CAExB,YAAY,QAAkC;AAC5C,QAAM,OAAO;AACb,OAAK,cAAc,OAAO;AAC1B,OAAK,wBAAwB,OAAO;AACpC,OAAK,yBAAyB,OAAO;AACrC,OAAK,WAAW,OAAO,YAAY,KAAK;AACxC,OAAK,YAAY,OAAO,aAAa,KAAK;AAC1C,OAAK,IAAI,OAAO,KAAK,KAAK;AAC1B,OAAK,wBACH,OAAO,yBAAyB,KAAK;;;CAIzC,MAAM,MACJ,QACA,YACsB;AACtB,MAAI,EAAE,KAAK,YAAY,QACrB,OAAM,IAAI,MAAM,gBAAgB,KAAK,SAAS,aAAa;AAE7D,MAAI,EAAE,KAAK,kBAAkB,QAC3B,OAAM,IAAI,MAAM,oBAAoB,KAAK,SAAS,aAAa;EAEjE,MAAM,WAAmB,OAAO,KAAK;EACrC,MAAM,cAAsB,OAAO,KAAK;EACxC,IAAI,cAAc;AAClB,MAAI,YAAY,SAAS,GAAG;GAC1B,MAAM,SAAS,MAAM,KAAK,uBAAuB,KAC/C;IACE;IACA,cAAc;IACf,EACD,YAAY,SAAS,qBAAqB,CAC3C;GACD,MAAM,OAAO,OAAO,KAAK,OAAO;AAChC,WAAQ,IAAI,SAAS,QAAQ,KAAK;AAClC,OAAI,KAAK,WAAW,EAClB,eAAc,OAAO,KAAK;OAE1B,OAAM,IAAI,MACR,2EACD;;EAGL,MAAM,OAAO,MAAM,KAAK,YAAY,iBAClC,aACA,KAAK,GACL,KAAA,GACA,YAAY,SAAS,cAAc,CACpC;EACD,MAAM,SAAS;GACb,UAAU;GACV,iBAAiB;GACjB,cAAc;GACf;EACD,MAAM,SAAS,MAAM,KAAK,sBAAsB,KAC9C,QACA,YAAY,SAAS,oBAAoB,CAC1C;AACD,MAAI,KAAK,sBACP,QAAO;GACL,GAAG;GACH,iBAAiB;GAClB;AAEH,SAAO;;CAGT,aAAa;AACX,SAAO;;CAGT,aAAa,YACX,MACA,QACA;AACA,MAAI,EAAE,iBAAiB,QACrB,OAAM,IAAI,MACR,+DACD;EAEH,MAAM,EAAE,gBAAgB;AAExB,SAAO,IAAI,oBAAoB;GAC7B,uBAAuB,MAAM,UAAU,YACrC,KAAK,wBACN;GACD,wBAAwB,MAAM,SAAS,YACrC,KAAK,mBACN;GACD,GAAG,KAAK;GACR;GACD,CAAC;;CAGJ,YAA2C;AACzC,SAAO;GACL,OAAO,KAAK,YAAY;GACxB,yBAAyB,KAAK,sBAAsB,WAAW;GAC/D,oBAAoB,KAAK,uBAAuB,WAAW;GAC3D,GAAG,KAAK;GACT;;;;;;;;;;CAWH,OAAO,QACL,KACA,aACA,UAQI,EAAE,EACe;EACrB,MAAM,EAAE,2BAA2B,YAAY,SAAS,GAAG,SAAS;EACpE,MAAM,4BAA4B,eAAe,aAC/C,6BAA6B,4BAC9B;EAGD,MAAM,UAAU,iBAAiB,KAAK;GAAE,QAFtB,eAAe,aAAa,cAAc,YAEH;GAAE;GAAS,CAAC;EACrE,MAAM,yBAAyB,IAAI,SAAS;GAC1C,QAAQ;GACR;GACA;GACD,CAAC;AAOF,SAAO,IANc,KAAK;GACxB;GACA,uBAAuB;GACvB;GACA,GAAG;GACJ,CACc"}
1
+ {"version":3,"file":"chat_vector_db_chain.js","names":[],"sources":["../../src/chains/chat_vector_db_chain.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { SerializedChatVectorDBQAChain } from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\nimport { loadQAStuffChain } from \"./question_answering/load.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nconst question_generator_template = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.\n\nChat History:\n{chat_history}\nFollow Up Input: {question}\nStandalone question:`;\n\nconst qa_template = `Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\n{context}\n\nQuestion: {question}\nHelpful Answer:`;\n\n/**\n * Interface for the input parameters of the ChatVectorDBQAChain class.\n */\nexport interface ChatVectorDBQAChainInput extends ChainInputs {\n vectorstore: VectorStoreInterface;\n combineDocumentsChain: BaseChain;\n questionGeneratorChain: LLMChain;\n returnSourceDocuments?: boolean;\n outputKey?: string;\n inputKey?: string;\n k?: number;\n}\n\n/** @deprecated use `ConversationalRetrievalQAChain` instead. */\nexport class ChatVectorDBQAChain\n extends BaseChain\n implements ChatVectorDBQAChainInput\n{\n k = 4;\n\n inputKey = \"question\";\n\n chatHistoryKey = \"chat_history\";\n\n get inputKeys() {\n return [this.inputKey, this.chatHistoryKey];\n }\n\n outputKey = \"result\";\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n vectorstore: VectorStoreInterface;\n\n combineDocumentsChain: BaseChain;\n\n questionGeneratorChain: LLMChain;\n\n returnSourceDocuments = false;\n\n constructor(fields: ChatVectorDBQAChainInput) {\n super(fields);\n this.vectorstore = fields.vectorstore;\n this.combineDocumentsChain = fields.combineDocumentsChain;\n this.questionGeneratorChain = fields.questionGeneratorChain;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.k = fields.k ?? this.k;\n this.returnSourceDocuments =\n fields.returnSourceDocuments ?? this.returnSourceDocuments;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Question key ${this.inputKey} not found.`);\n }\n if (!(this.chatHistoryKey in values)) {\n throw new Error(`chat history key ${this.inputKey} not found.`);\n }\n const question: string = values[this.inputKey];\n const chatHistory: string = values[this.chatHistoryKey];\n let newQuestion = question;\n if (chatHistory.length > 0) {\n const result = await this.questionGeneratorChain.call(\n {\n question,\n chat_history: chatHistory,\n },\n runManager?.getChild(\"question_generator\")\n );\n const keys = Object.keys(result);\n console.log(\"_call\", values, keys);\n if (keys.length === 1) {\n newQuestion = result[keys[0]];\n } else {\n throw new Error(\n \"Return from llm chain has multiple values, only single values supported.\"\n );\n }\n }\n const docs = await this.vectorstore.similaritySearch(\n newQuestion,\n this.k,\n undefined,\n runManager?.getChild(\"vectorstore\")\n );\n const inputs = {\n question: newQuestion,\n input_documents: docs,\n chat_history: chatHistory,\n };\n const result = await this.combineDocumentsChain.call(\n inputs,\n runManager?.getChild(\"combine_documents\")\n );\n if (this.returnSourceDocuments) {\n return {\n ...result,\n sourceDocuments: docs,\n };\n }\n return result;\n }\n\n _chainType() {\n return \"chat-vector-db\" as const;\n }\n\n static async deserialize(\n data: SerializedChatVectorDBQAChain,\n values: LoadValues\n ) {\n if (!(\"vectorstore\" in values)) {\n throw new Error(\n `Need to pass in a vectorstore to deserialize VectorDBQAChain`\n );\n }\n const { vectorstore } = values;\n\n return new ChatVectorDBQAChain({\n combineDocumentsChain: await BaseChain.deserialize(\n data.combine_documents_chain\n ),\n questionGeneratorChain: await LLMChain.deserialize(\n data.question_generator\n ),\n k: data.k,\n vectorstore,\n });\n }\n\n serialize(): SerializedChatVectorDBQAChain {\n return {\n _type: this._chainType(),\n combine_documents_chain: this.combineDocumentsChain.serialize(),\n question_generator: this.questionGeneratorChain.serialize(),\n k: this.k,\n };\n }\n\n /**\n * Creates an instance of ChatVectorDBQAChain using a BaseLanguageModel\n * and other options.\n * @param llm Instance of BaseLanguageModel used to generate a new question.\n * @param vectorstore Instance of VectorStore used for vector operations.\n * @param options (Optional) Additional options for creating the ChatVectorDBQAChain instance.\n * @returns New instance of ChatVectorDBQAChain.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n vectorstore: VectorStoreInterface,\n options: {\n inputKey?: string;\n outputKey?: string;\n k?: number;\n returnSourceDocuments?: boolean;\n questionGeneratorTemplate?: string;\n qaTemplate?: string;\n verbose?: boolean;\n } = {}\n ): ChatVectorDBQAChain {\n const { questionGeneratorTemplate, qaTemplate, verbose, ...rest } = options;\n const question_generator_prompt = PromptTemplate.fromTemplate(\n questionGeneratorTemplate || question_generator_template\n );\n const qa_prompt = PromptTemplate.fromTemplate(qaTemplate || qa_template);\n\n const qaChain = loadQAStuffChain(llm, { prompt: qa_prompt, verbose });\n const questionGeneratorChain = new LLMChain({\n prompt: question_generator_prompt,\n llm,\n verbose,\n });\n const instance = new this({\n vectorstore,\n combineDocumentsChain: qaChain,\n questionGeneratorChain,\n ...rest,\n });\n return instance;\n }\n}\n"],"mappings":";;;;;AAaA,MAAM,8BAA8B;;;;;;AAOpC,MAAM,cAAc;;;;;;;AAqBpB,IAAa,sBAAb,MAAa,4BACH,UAEV;CACE,IAAI;CAEJ,WAAW;CAEX,iBAAiB;CAEjB,IAAI,YAAY;EACd,OAAO,CAAC,KAAK,UAAU,KAAK,cAAc;CAC5C;CAEA,YAAY;CAEZ,IAAI,aAAa;EACf,OAAO,CAAC,KAAK,SAAS;CACxB;CAEA;CAEA;CAEA;CAEA,wBAAwB;CAExB,YAAY,QAAkC;EAC5C,MAAM,MAAM;EACZ,KAAK,cAAc,OAAO;EAC1B,KAAK,wBAAwB,OAAO;EACpC,KAAK,yBAAyB,OAAO;EACrC,KAAK,WAAW,OAAO,YAAY,KAAK;EACxC,KAAK,YAAY,OAAO,aAAa,KAAK;EAC1C,KAAK,IAAI,OAAO,KAAK,KAAK;EAC1B,KAAK,wBACH,OAAO,yBAAyB,KAAK;CACzC;;CAGA,MAAM,MACJ,QACA,YACsB;EACtB,IAAI,EAAE,KAAK,YAAY,SACrB,MAAM,IAAI,MAAM,gBAAgB,KAAK,SAAS,YAAY;EAE5D,IAAI,EAAE,KAAK,kBAAkB,SAC3B,MAAM,IAAI,MAAM,oBAAoB,KAAK,SAAS,YAAY;EAEhE,MAAM,WAAmB,OAAO,KAAK;EACrC,MAAM,cAAsB,OAAO,KAAK;EACxC,IAAI,cAAc;EAClB,IAAI,YAAY,SAAS,GAAG;GAC1B,MAAM,SAAS,MAAM,KAAK,uBAAuB,KAC/C;IACE;IACA,cAAc;GAChB,GACA,YAAY,SAAS,oBAAoB,CAC3C;GACA,MAAM,OAAO,OAAO,KAAK,MAAM;GAC/B,QAAQ,IAAI,SAAS,QAAQ,IAAI;GACjC,IAAI,KAAK,WAAW,GAClB,cAAc,OAAO,KAAK;QAE1B,MAAM,IAAI,MACR,0EACF;EAEJ;EACA,MAAM,OAAO,MAAM,KAAK,YAAY,iBAClC,aACA,KAAK,GACL,KAAA,GACA,YAAY,SAAS,aAAa,CACpC;EACA,MAAM,SAAS;GACb,UAAU;GACV,iBAAiB;GACjB,cAAc;EAChB;EACA,MAAM,SAAS,MAAM,KAAK,sBAAsB,KAC9C,QACA,YAAY,SAAS,mBAAmB,CAC1C;EACA,IAAI,KAAK,uBACP,OAAO;GACL,GAAG;GACH,iBAAiB;EACnB;EAEF,OAAO;CACT;CAEA,aAAa;EACX,OAAO;CACT;CAEA,aAAa,YACX,MACA,QACA;EACA,IAAI,EAAE,iBAAiB,SACrB,MAAM,IAAI,MACR,8DACF;EAEF,MAAM,EAAE,gBAAgB;EAExB,OAAO,IAAI,oBAAoB;GAC7B,uBAAuB,MAAM,UAAU,YACrC,KAAK,uBACP;GACA,wBAAwB,MAAM,SAAS,YACrC,KAAK,kBACP;GACA,GAAG,KAAK;GACR;EACF,CAAC;CACH;CAEA,YAA2C;EACzC,OAAO;GACL,OAAO,KAAK,WAAW;GACvB,yBAAyB,KAAK,sBAAsB,UAAU;GAC9D,oBAAoB,KAAK,uBAAuB,UAAU;GAC1D,GAAG,KAAK;EACV;CACF;;;;;;;;;CAUA,OAAO,QACL,KACA,aACA,UAQI,CAAC,GACgB;EACrB,MAAM,EAAE,2BAA2B,YAAY,SAAS,GAAG,SAAS;EACpE,MAAM,4BAA4B,eAAe,aAC/C,6BAA6B,2BAC/B;EAGA,MAAM,UAAU,iBAAiB,KAAK;GAAE,QAFtB,eAAe,aAAa,cAAc,WAEJ;GAAG;EAAQ,CAAC;EACpE,MAAM,yBAAyB,IAAI,SAAS;GAC1C,QAAQ;GACR;GACA;EACF,CAAC;EAOD,OAAO,IANc,KAAK;GACxB;GACA,uBAAuB;GACvB;GACA,GAAG;EACL,CACc;CAChB;AACF"}
@@ -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
  let _langchain_core_prompts = require("@langchain/core/prompts");
@@ -168,7 +167,7 @@ var RefineDocumentsChain = class RefineDocumentsChain extends require_base.BaseC
168
167
  }
169
168
  documentPrompt = this.defaultDocumentPrompt;
170
169
  get inputKeys() {
171
- return [...new Set([
170
+ return [.../* @__PURE__ */ new Set([
172
171
  this.inputKey,
173
172
  ...this.llmChain.inputKeys,
174
173
  ...this.refineLLMChain.inputKeys
@@ -1 +1 @@
1
- {"version":3,"file":"combine_docs_chain.cjs","names":["BaseChain","LLMChain","PromptTemplate"],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"combine_docs_chain.cjs","names":["BaseChain","LLMChain","PromptTemplate"],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
@@ -3,10 +3,8 @@ import { BaseChain, ChainInputs } from "./base.cjs";
3
3
  import { LLMChain } from "./llm_chain.cjs";
4
4
  import { ChainValues } from "@langchain/core/utils/types";
5
5
  import { BasePromptTemplate } from "@langchain/core/prompts";
6
- import * as _$_langchain_core_prompt_values0 from "@langchain/core/prompt_values";
7
6
  import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
8
7
  import { Document } from "@langchain/core/documents";
9
-
10
8
  //#region src/chains/combine_docs_chain.d.ts
11
9
  /**
12
10
  * Interface for the input properties of the StuffDocumentsChain class.
@@ -103,7 +101,7 @@ declare class RefineDocumentsChain extends BaseChain implements RefineDocumentsC
103
101
  initialResponseName: string;
104
102
  refineLLMChain: LLMChain;
105
103
  get defaultDocumentPrompt(): BasePromptTemplate;
106
- documentPrompt: BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
104
+ documentPrompt: BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
107
105
  get inputKeys(): string[];
108
106
  get outputKeys(): string[];
109
107
  constructor(fields: RefineDocumentsChainInput);
@@ -1 +1 @@
1
- {"version":3,"file":"combine_docs_chain.d.cts","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"mappings":";;;;;;;;;;;;;UAeiB,wBAAA,SAAiC,WAAA;EAAR;EAExC,QAAA,EAAU,QAAA;EACV,QAAA;EAHgD;EAKhD,oBAAA;AAAA;;;;;AAQF;cAAa,mBAAA,SACH,SAAA,YACG,wBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAMA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,wBAAA;EA0BT;EAjBX,WAAA,CAAY,MAAA,EAAQ,WAAA,GAAc,WAAA;EA6BH;EAfzB,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAQX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,6BAAA,GAA6B,OAAA,CAAA,mBAAA;EAU5D,SAAA,CAAA,GAAa,6BAAA;AAAA;;;;;UAYE,4BAAA,SAAqC,wBAAA;EA5EpD;EA8EA,SAAA;EA5EA;EA8EA,aAAA;EA1EI;EA4EJ,aAAA;EAlEA;EAoEA,oBAAA,EAAsB,mBAAA;EApEV;EAsEZ,uBAAA;AAAA;;;;;;cAQW,uBAAA,SACH,SAAA,YACG,4BAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAEA,uBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,SAAA;EAEA,aAAA;EAEA,aAAA;EAEA,oBAAA,EAAsB,mBAAA;EAEtB,WAAA,CAAY,MAAA,EAAQ,4BAAA;EA9DsB;EA4EpC,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAgFX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,iCAAA,GAAiC,OAAA,CAAA,uBAAA;EAiBhE,SAAA,CAAA,GAAa,iCAAA;AAAA;;;;UAYE,yBAAA,SAAkC,wBAAA;EACjD,cAAA,EAAgB,QAAA;EAChB,cAAA,GAAiB,kBAAA;EACjB,mBAAA;EACA,oBAAA;EACA,SAAA;AAAA;;;;;;cAQW,oBAAA,SACH,SAAA,YACG,yBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,SAAA;EAEA,oBAAA;EAEA,mBAAA;EAEA,cAAA,EAAgB,QAAA;EAAA,IAEZ,qBAAA,CAAA,GAAyB,kBAAA;EAO7B,cAAA,EAAc,kBAAA,MAPiC,gCAAA,CAOjC,wBAAA;EAAA,IAEV,SAAA,CAAA;EAAA,IAaA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,yBAAA;EAzNb;EAuOD,uBAAA,CAAwB,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,MAAA,oBAAuB,OAAA;IAAA;;EA/N1E;EAmPM,sBAAA,CAAuB,GAAA,EAAK,QAAA,EAAU,GAAA,WAAW,OAAA;IAAA;;EAvOvD;EA0PM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAmCX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,8BAAA,GAA8B,OAAA,CAAA,oBAAA;EAmB7D,SAAA,CAAA,GAAa,8BAAA;AAAA"}
1
+ {"version":3,"file":"combine_docs_chain.d.cts","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"mappings":";;;;;;;;;;;UAeiB,iCAAiC;;EAEhD,UAAU;EACV;;EAEA;;;;;;;cAQW,4BACH,qBACG;SAEJ;EAIP,UAAU;EAEV;EAEA;MAEI;MAMA;EAIJ,YAAY,QAAQ;;EASpB,YAAY,QAAQ,cAAc;;EAc5B,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAQX;SAIa,YAAY,MAAM,gCAA6B,QAAA;EAU5D,aAAa;;;;;;UAYE,qCAAqC;;EAEpD;;EAEA;;EAEA;;EAEA,sBAAsB;;EAEtB;;;;;;;cAQW,gCACH,qBACG;SAEJ;EAIP,UAAU;EAEV;EAEA;EAEA;MAEI;MAIA;EAIJ;EAEA;EAEA;EAEA,sBAAsB;EAEtB,YAAY,QAAQ;;EAcd,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAgFX;SAIa,YAAY,MAAM,oCAAiC,QAAA;EAiBhE,aAAa;;;;;UAYE,kCAAkC;EACjD,gBAAgB;EAChB,iBAAiB;EACjB;EACA;EACA;;;;;;;cAQW,6BACH,qBACG;SAEJ;EAIP,UAAU;EAEV;EAEA;EAEA;EAEA;EAEA,gBAAgB;MAEZ,yBAAyB;EAO7B,gBAAc,gEAAA;MAEV;MAaA;EAIJ,YAAY,QAAQ;;EAcd,wBAAwB,KAAK,UAAU,MAAM,0BAAuB;;;;EAoBpE,uBAAuB,KAAK,UAAU,cAAW;;;;EAmBjD,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAmCX;SAIa,YAAY,MAAM,iCAA8B,QAAA;EAmB7D,aAAa"}
@@ -5,8 +5,6 @@ import { BasePromptTemplate } from "@langchain/core/prompts";
5
5
  import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
6
6
  import { ChainValues } from "@langchain/core/utils/types";
7
7
  import { Document } from "@langchain/core/documents";
8
- import * as _$_langchain_core_prompt_values0 from "@langchain/core/prompt_values";
9
-
10
8
  //#region src/chains/combine_docs_chain.d.ts
11
9
  /**
12
10
  * Interface for the input properties of the StuffDocumentsChain class.
@@ -103,7 +101,7 @@ declare class RefineDocumentsChain extends BaseChain implements RefineDocumentsC
103
101
  initialResponseName: string;
104
102
  refineLLMChain: LLMChain;
105
103
  get defaultDocumentPrompt(): BasePromptTemplate;
106
- documentPrompt: BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
104
+ documentPrompt: BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
107
105
  get inputKeys(): string[];
108
106
  get outputKeys(): string[];
109
107
  constructor(fields: RefineDocumentsChainInput);
@@ -1 +1 @@
1
- {"version":3,"file":"combine_docs_chain.d.ts","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"mappings":";;;;;;;;;;;;;UAeiB,wBAAA,SAAiC,WAAA;EAAR;EAExC,QAAA,EAAU,QAAA;EACV,QAAA;EAHgD;EAKhD,oBAAA;AAAA;;;;;AAQF;cAAa,mBAAA,SACH,SAAA,YACG,wBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAMA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,wBAAA;EA0BT;EAjBX,WAAA,CAAY,MAAA,EAAQ,WAAA,GAAc,WAAA;EA6BH;EAfzB,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAQX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,6BAAA,GAA6B,OAAA,CAAA,mBAAA;EAU5D,SAAA,CAAA,GAAa,6BAAA;AAAA;;;;;UAYE,4BAAA,SAAqC,wBAAA;EA5EpD;EA8EA,SAAA;EA5EA;EA8EA,aAAA;EA1EI;EA4EJ,aAAA;EAlEA;EAoEA,oBAAA,EAAsB,mBAAA;EApEV;EAsEZ,uBAAA;AAAA;;;;;;cAQW,uBAAA,SACH,SAAA,YACG,4BAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAEA,uBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,SAAA;EAEA,aAAA;EAEA,aAAA;EAEA,oBAAA,EAAsB,mBAAA;EAEtB,WAAA,CAAY,MAAA,EAAQ,4BAAA;EA9DsB;EA4EpC,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAgFX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,iCAAA,GAAiC,OAAA,CAAA,uBAAA;EAiBhE,SAAA,CAAA,GAAa,iCAAA;AAAA;;;;UAYE,yBAAA,SAAkC,wBAAA;EACjD,cAAA,EAAgB,QAAA;EAChB,cAAA,GAAiB,kBAAA;EACjB,mBAAA;EACA,oBAAA;EACA,SAAA;AAAA;;;;;;cAQW,oBAAA,SACH,SAAA,YACG,yBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,SAAA;EAEA,oBAAA;EAEA,mBAAA;EAEA,cAAA,EAAgB,QAAA;EAAA,IAEZ,qBAAA,CAAA,GAAyB,kBAAA;EAO7B,cAAA,EAAc,kBAAA,MAPiC,gCAAA,CAOjC,wBAAA;EAAA,IAEV,SAAA,CAAA;EAAA,IAaA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,yBAAA;EAzNb;EAuOD,uBAAA,CAAwB,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,MAAA,oBAAuB,OAAA;IAAA;;EA/N1E;EAmPM,sBAAA,CAAuB,GAAA,EAAK,QAAA,EAAU,GAAA,WAAW,OAAA;IAAA;;EAvOvD;EA0PM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAmCX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,8BAAA,GAA8B,OAAA,CAAA,oBAAA;EAmB7D,SAAA,CAAA,GAAa,8BAAA;AAAA"}
1
+ {"version":3,"file":"combine_docs_chain.d.ts","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"mappings":";;;;;;;;;;;UAeiB,iCAAiC;;EAEhD,UAAU;EACV;;EAEA;;;;;;;cAQW,4BACH,qBACG;SAEJ;EAIP,UAAU;EAEV;EAEA;MAEI;MAMA;EAIJ,YAAY,QAAQ;;EASpB,YAAY,QAAQ,cAAc;;EAc5B,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAQX;SAIa,YAAY,MAAM,gCAA6B,QAAA;EAU5D,aAAa;;;;;;UAYE,qCAAqC;;EAEpD;;EAEA;;EAEA;;EAEA,sBAAsB;;EAEtB;;;;;;;cAQW,gCACH,qBACG;SAEJ;EAIP,UAAU;EAEV;EAEA;EAEA;MAEI;MAIA;EAIJ;EAEA;EAEA;EAEA,sBAAsB;EAEtB,YAAY,QAAQ;;EAcd,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAgFX;SAIa,YAAY,MAAM,oCAAiC,QAAA;EAiBhE,aAAa;;;;;UAYE,kCAAkC;EACjD,gBAAgB;EAChB,iBAAiB;EACjB;EACA;EACA;;;;;;;cAQW,6BACH,qBACG;SAEJ;EAIP,UAAU;EAEV;EAEA;EAEA;EAEA;EAEA,gBAAgB;MAEZ,yBAAyB;EAO7B,gBAAc,gEAAA;MAEV;MAaA;EAIJ,YAAY,QAAQ;;EAcd,wBAAwB,KAAK,UAAU,MAAM,0BAAuB;;;;EAoBpE,uBAAuB,KAAK,UAAU,cAAW;;;;EAmBjD,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAmCX;SAIa,YAAY,MAAM,iCAA8B,QAAA;EAmB7D,aAAa"}
@@ -167,7 +167,7 @@ var RefineDocumentsChain = class RefineDocumentsChain extends BaseChain {
167
167
  }
168
168
  documentPrompt = this.defaultDocumentPrompt;
169
169
  get inputKeys() {
170
- return [...new Set([
170
+ return [.../* @__PURE__ */ new Set([
171
171
  this.inputKey,
172
172
  ...this.llmChain.inputKeys,
173
173
  ...this.refineLLMChain.inputKeys
@@ -1 +1 @@
1
- {"version":3,"file":"combine_docs_chain.js","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"combine_docs_chain.js","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  let _langchain_core_prompts = require("@langchain/core/prompts");
3
2
  //#region src/chains/combine_documents/base.ts
4
3
  const DOCUMENTS_KEY = "context";
5
- const DEFAULT_DOCUMENT_PROMPT = /* @__PURE__ */ _langchain_core_prompts.PromptTemplate.fromTemplate("{page_content}");
4
+ const DEFAULT_DOCUMENT_PROMPT = /* #__PURE__ */ _langchain_core_prompts.PromptTemplate.fromTemplate("{page_content}");
6
5
  async function formatDocuments({ documentPrompt, documentSeparator, documents, config }) {
7
6
  if (documents == null || documents.length === 0) return "";
8
7
  return (await Promise.all(documents.map((document) => documentPrompt.withConfig({ runName: "document_formatter" }).invoke({
@@ -1 +1 @@
1
- {"version":3,"file":"base.cjs","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;;AAMA,MAAa,gBAAgB;AAG7B,MAAa,0BACK,wCAAA,eAAe,aAAa,iBAAiB;AAE/D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;AACD,KAAI,aAAa,QAAQ,UAAU,WAAW,EAC5C,QAAO;AAYT,SAAO,MAVqB,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,sBAAsB,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;EAAa,EAC5D,OACD,CACJ,CACF,EACoB,KAAK,kBAAkB"}
1
+ {"version":3,"file":"base.cjs","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;AAMA,MAAa,gBAAgB;AAG7B,MAAa,0BACK,wCAAA,eAAe,aAAa,gBAAgB;AAE9D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;CACD,IAAI,aAAa,QAAQ,UAAU,WAAW,GAC5C,OAAO;CAYT,QAAO,MAVqB,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;CAAY,GAC3D,MACF,CACJ,CACF,EAAA,CACqB,KAAK,iBAAiB;AAC7C"}
@@ -1,7 +1,7 @@
1
1
  import { PromptTemplate } from "@langchain/core/prompts";
2
2
  //#region src/chains/combine_documents/base.ts
3
3
  const DOCUMENTS_KEY = "context";
4
- const DEFAULT_DOCUMENT_PROMPT = /* @__PURE__ */ PromptTemplate.fromTemplate("{page_content}");
4
+ const DEFAULT_DOCUMENT_PROMPT = /* #__PURE__ */ PromptTemplate.fromTemplate("{page_content}");
5
5
  async function formatDocuments({ documentPrompt, documentSeparator, documents, config }) {
6
6
  if (documents == null || documents.length === 0) return "";
7
7
  return (await Promise.all(documents.map((document) => documentPrompt.withConfig({ runName: "document_formatter" }).invoke({
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;AAMA,MAAa,gBAAgB;AAG7B,MAAa,0BACK,+BAAe,aAAa,iBAAiB;AAE/D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;AACD,KAAI,aAAa,QAAQ,UAAU,WAAW,EAC5C,QAAO;AAYT,SAAO,MAVqB,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,sBAAsB,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;EAAa,EAC5D,OACD,CACJ,CACF,EACoB,KAAK,kBAAkB"}
1
+ {"version":3,"file":"base.js","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;AAMA,MAAa,gBAAgB;AAG7B,MAAa,0BACK,+BAAe,aAAa,gBAAgB;AAE9D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;CACD,IAAI,aAAa,QAAQ,UAAU,WAAW,GAC5C,OAAO;CAYT,QAAO,MAVqB,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;CAAY,GAC3D,MACF,CACJ,CACF,EAAA,CACqB,KAAK,iBAAiB;AAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"reduce.cjs","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\n\n/**\n * Splits a list of documents into sublists based on a maximum token limit.\n *\n * @param {Document[]} docs - The list of documents to be split.\n * @param {Function} lengthFunc - A function that calculates the number of tokens in a list of documents.\n * @param {number} tokenMax - The maximum number of tokens allowed in a sublist.\n *\n * @returns {Document[][]} - A list of document sublists, each sublist contains documents whose total number of tokens does not exceed the tokenMax.\n *\n * @throws {Error} - Throws an error if a single document has more tokens than the tokenMax.\n */\nexport function splitListOfDocs(\n docs: Document[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n lengthFunc: (...args: any[]) => any,\n tokenMax: number\n): Document[][] {\n const newResultDocList: Document[][] = [];\n let subResultDocs: Document[] = [];\n for (const doc of docs) {\n subResultDocs.push(doc);\n const numTokens = lengthFunc(subResultDocs);\n if (numTokens > tokenMax) {\n if (subResultDocs.length === 1) {\n throw new Error(\n \"A single document was longer than the context length, we cannot handle this.\"\n );\n }\n newResultDocList.push(subResultDocs.slice(0, -1));\n subResultDocs = subResultDocs.slice(-1);\n }\n }\n newResultDocList.push(subResultDocs);\n return newResultDocList;\n}\n\n/**\n * Collapses a list of documents into a single document.\n *\n * This function takes a list of documents and a function to combine the content of these documents.\n * It combines the content of the documents using the provided function and merges the metadata of all documents.\n * If a metadata key is present in multiple documents, the values are concatenated with a comma separator.\n *\n * @param {Document[]} docs - The list of documents to be collapsed.\n * @param {Function} combineDocumentFunc - A function that combines the content of a list of documents into a single string. This function should return a promise that resolves to the combined string.\n *\n * @returns {Promise<Document>} - A promise that resolves to a single document with combined content and merged metadata.\n *\n * @throws {Error} - Throws an error if the combineDocumentFunc does not return a promise or if the promise does not resolve to a string.\n */\nexport async function collapseDocs(\n docs: Document[],\n combineDocumentFunc: (docs: Document[]) => Promise<string>\n): Promise<Document> {\n const result = await combineDocumentFunc(docs);\n return { pageContent: result, metadata: collapseDocsMetadata(docs) };\n}\n\nfunction collapseDocsMetadata(docs: Document[]): Document[\"metadata\"] {\n const combinedMetadata: Record<string, string> = {};\n for (const key in docs[0].metadata) {\n if (key in docs[0].metadata) {\n combinedMetadata[key] = String(docs[0].metadata[key]);\n }\n }\n for (const doc of docs.slice(1)) {\n for (const key in doc.metadata) {\n if (key in combinedMetadata) {\n combinedMetadata[key] += `, ${doc.metadata[key]}`;\n } else {\n combinedMetadata[key] = String(doc.metadata[key]);\n }\n }\n }\n return combinedMetadata;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAaA,SAAgB,gBACd,MAEA,YACA,UACc;CACd,MAAM,mBAAiC,EAAE;CACzC,IAAI,gBAA4B,EAAE;AAClC,MAAK,MAAM,OAAO,MAAM;AACtB,gBAAc,KAAK,IAAI;AAEvB,MADkB,WAAW,cAChB,GAAG,UAAU;AACxB,OAAI,cAAc,WAAW,EAC3B,OAAM,IAAI,MACR,+EACD;AAEH,oBAAiB,KAAK,cAAc,MAAM,GAAG,GAAG,CAAC;AACjD,mBAAgB,cAAc,MAAM,GAAG;;;AAG3C,kBAAiB,KAAK,cAAc;AACpC,QAAO;;;;;;;;;;;;;;;;AAiBT,eAAsB,aACpB,MACA,qBACmB;AAEnB,QAAO;EAAE,aAAa,MADD,oBAAoB,KAAK;EAChB,UAAU,qBAAqB,KAAK;EAAE;;AAGtE,SAAS,qBAAqB,MAAwC;CACpE,MAAM,mBAA2C,EAAE;AACnD,MAAK,MAAM,OAAO,KAAK,GAAG,SACxB,KAAI,OAAO,KAAK,GAAG,SACjB,kBAAiB,OAAO,OAAO,KAAK,GAAG,SAAS,KAAK;AAGzD,MAAK,MAAM,OAAO,KAAK,MAAM,EAAE,CAC7B,MAAK,MAAM,OAAO,IAAI,SACpB,KAAI,OAAO,iBACT,kBAAiB,QAAQ,KAAK,IAAI,SAAS;KAE3C,kBAAiB,OAAO,OAAO,IAAI,SAAS,KAAK;AAIvD,QAAO"}
1
+ {"version":3,"file":"reduce.cjs","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\n\n/**\n * Splits a list of documents into sublists based on a maximum token limit.\n *\n * @param {Document[]} docs - The list of documents to be split.\n * @param {Function} lengthFunc - A function that calculates the number of tokens in a list of documents.\n * @param {number} tokenMax - The maximum number of tokens allowed in a sublist.\n *\n * @returns {Document[][]} - A list of document sublists, each sublist contains documents whose total number of tokens does not exceed the tokenMax.\n *\n * @throws {Error} - Throws an error if a single document has more tokens than the tokenMax.\n */\nexport function splitListOfDocs(\n docs: Document[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n lengthFunc: (...args: any[]) => any,\n tokenMax: number\n): Document[][] {\n const newResultDocList: Document[][] = [];\n let subResultDocs: Document[] = [];\n for (const doc of docs) {\n subResultDocs.push(doc);\n const numTokens = lengthFunc(subResultDocs);\n if (numTokens > tokenMax) {\n if (subResultDocs.length === 1) {\n throw new Error(\n \"A single document was longer than the context length, we cannot handle this.\"\n );\n }\n newResultDocList.push(subResultDocs.slice(0, -1));\n subResultDocs = subResultDocs.slice(-1);\n }\n }\n newResultDocList.push(subResultDocs);\n return newResultDocList;\n}\n\n/**\n * Collapses a list of documents into a single document.\n *\n * This function takes a list of documents and a function to combine the content of these documents.\n * It combines the content of the documents using the provided function and merges the metadata of all documents.\n * If a metadata key is present in multiple documents, the values are concatenated with a comma separator.\n *\n * @param {Document[]} docs - The list of documents to be collapsed.\n * @param {Function} combineDocumentFunc - A function that combines the content of a list of documents into a single string. This function should return a promise that resolves to the combined string.\n *\n * @returns {Promise<Document>} - A promise that resolves to a single document with combined content and merged metadata.\n *\n * @throws {Error} - Throws an error if the combineDocumentFunc does not return a promise or if the promise does not resolve to a string.\n */\nexport async function collapseDocs(\n docs: Document[],\n combineDocumentFunc: (docs: Document[]) => Promise<string>\n): Promise<Document> {\n const result = await combineDocumentFunc(docs);\n return { pageContent: result, metadata: collapseDocsMetadata(docs) };\n}\n\nfunction collapseDocsMetadata(docs: Document[]): Document[\"metadata\"] {\n const combinedMetadata: Record<string, string> = {};\n for (const key in docs[0].metadata) {\n if (key in docs[0].metadata) {\n combinedMetadata[key] = String(docs[0].metadata[key]);\n }\n }\n for (const doc of docs.slice(1)) {\n for (const key in doc.metadata) {\n if (key in combinedMetadata) {\n combinedMetadata[key] += `, ${doc.metadata[key]}`;\n } else {\n combinedMetadata[key] = String(doc.metadata[key]);\n }\n }\n }\n return combinedMetadata;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAaA,SAAgB,gBACd,MAEA,YACA,UACc;CACd,MAAM,mBAAiC,CAAC;CACxC,IAAI,gBAA4B,CAAC;CACjC,KAAK,MAAM,OAAO,MAAM;EACtB,cAAc,KAAK,GAAG;EAEtB,IADkB,WAAW,aACjB,IAAI,UAAU;GACxB,IAAI,cAAc,WAAW,GAC3B,MAAM,IAAI,MACR,8EACF;GAEF,iBAAiB,KAAK,cAAc,MAAM,GAAG,EAAE,CAAC;GAChD,gBAAgB,cAAc,MAAM,EAAE;EACxC;CACF;CACA,iBAAiB,KAAK,aAAa;CACnC,OAAO;AACT;;;;;;;;;;;;;;;AAgBA,eAAsB,aACpB,MACA,qBACmB;CAEnB,OAAO;EAAE,aAAa,MADD,oBAAoB,IAAI;EACf,UAAU,qBAAqB,IAAI;CAAE;AACrE;AAEA,SAAS,qBAAqB,MAAwC;CACpE,MAAM,mBAA2C,CAAC;CAClD,KAAK,MAAM,OAAO,KAAK,EAAE,CAAC,UACxB,IAAI,OAAO,KAAK,EAAE,CAAC,UACjB,iBAAiB,OAAO,OAAO,KAAK,EAAE,CAAC,SAAS,IAAI;CAGxD,KAAK,MAAM,OAAO,KAAK,MAAM,CAAC,GAC5B,KAAK,MAAM,OAAO,IAAI,UACpB,IAAI,OAAO,kBACT,iBAAiB,QAAQ,KAAK,IAAI,SAAS;MAE3C,iBAAiB,OAAO,OAAO,IAAI,SAAS,IAAI;CAItD,OAAO;AACT"}
@@ -1,5 +1,4 @@
1
1
  import { Document } from "@langchain/core/documents";
2
-
3
2
  //#region src/chains/combine_documents/reduce.d.ts
4
3
  /**
5
4
  * Splits a list of documents into sublists based on a maximum token limit.
@@ -1 +1 @@
1
- {"version":3,"file":"reduce.d.cts","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"mappings":";;;;;AAaA;;;;;;;;;iBAAgB,eAAA,CACd,IAAA,EAAM,QAAA,IAEN,UAAA,MAAgB,IAAA,iBAChB,QAAA,WACC,QAAA;;;AAkCH;;;;;;;;;;;;iBAAsB,YAAA,CACpB,IAAA,EAAM,QAAA,IACN,mBAAA,GAAsB,IAAA,EAAM,QAAA,OAAe,OAAA,WAC1C,OAAA,CAAQ,QAAA"}
1
+ {"version":3,"file":"reduce.d.cts","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"mappings":";;;;;;;;;;;;;iBAagB,gBACd,MAAM,YAEN,gBAAgB,qBAChB,mBACC;;;;;;;;;;;;;;;iBAkCmB,aACpB,MAAM,YACN,sBAAsB,MAAM,eAAe,kBAC1C,QAAQ"}
@@ -1,5 +1,4 @@
1
1
  import { Document } from "@langchain/core/documents";
2
-
3
2
  //#region src/chains/combine_documents/reduce.d.ts
4
3
  /**
5
4
  * Splits a list of documents into sublists based on a maximum token limit.
@@ -1 +1 @@
1
- {"version":3,"file":"reduce.d.ts","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"mappings":";;;;;AAaA;;;;;;;;;iBAAgB,eAAA,CACd,IAAA,EAAM,QAAA,IAEN,UAAA,MAAgB,IAAA,iBAChB,QAAA,WACC,QAAA;;;AAkCH;;;;;;;;;;;;iBAAsB,YAAA,CACpB,IAAA,EAAM,QAAA,IACN,mBAAA,GAAsB,IAAA,EAAM,QAAA,OAAe,OAAA,WAC1C,OAAA,CAAQ,QAAA"}
1
+ {"version":3,"file":"reduce.d.ts","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"mappings":";;;;;;;;;;;;;iBAagB,gBACd,MAAM,YAEN,gBAAgB,qBAChB,mBACC;;;;;;;;;;;;;;;iBAkCmB,aACpB,MAAM,YACN,sBAAsB,MAAM,eAAe,kBAC1C,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"reduce.js","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\n\n/**\n * Splits a list of documents into sublists based on a maximum token limit.\n *\n * @param {Document[]} docs - The list of documents to be split.\n * @param {Function} lengthFunc - A function that calculates the number of tokens in a list of documents.\n * @param {number} tokenMax - The maximum number of tokens allowed in a sublist.\n *\n * @returns {Document[][]} - A list of document sublists, each sublist contains documents whose total number of tokens does not exceed the tokenMax.\n *\n * @throws {Error} - Throws an error if a single document has more tokens than the tokenMax.\n */\nexport function splitListOfDocs(\n docs: Document[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n lengthFunc: (...args: any[]) => any,\n tokenMax: number\n): Document[][] {\n const newResultDocList: Document[][] = [];\n let subResultDocs: Document[] = [];\n for (const doc of docs) {\n subResultDocs.push(doc);\n const numTokens = lengthFunc(subResultDocs);\n if (numTokens > tokenMax) {\n if (subResultDocs.length === 1) {\n throw new Error(\n \"A single document was longer than the context length, we cannot handle this.\"\n );\n }\n newResultDocList.push(subResultDocs.slice(0, -1));\n subResultDocs = subResultDocs.slice(-1);\n }\n }\n newResultDocList.push(subResultDocs);\n return newResultDocList;\n}\n\n/**\n * Collapses a list of documents into a single document.\n *\n * This function takes a list of documents and a function to combine the content of these documents.\n * It combines the content of the documents using the provided function and merges the metadata of all documents.\n * If a metadata key is present in multiple documents, the values are concatenated with a comma separator.\n *\n * @param {Document[]} docs - The list of documents to be collapsed.\n * @param {Function} combineDocumentFunc - A function that combines the content of a list of documents into a single string. This function should return a promise that resolves to the combined string.\n *\n * @returns {Promise<Document>} - A promise that resolves to a single document with combined content and merged metadata.\n *\n * @throws {Error} - Throws an error if the combineDocumentFunc does not return a promise or if the promise does not resolve to a string.\n */\nexport async function collapseDocs(\n docs: Document[],\n combineDocumentFunc: (docs: Document[]) => Promise<string>\n): Promise<Document> {\n const result = await combineDocumentFunc(docs);\n return { pageContent: result, metadata: collapseDocsMetadata(docs) };\n}\n\nfunction collapseDocsMetadata(docs: Document[]): Document[\"metadata\"] {\n const combinedMetadata: Record<string, string> = {};\n for (const key in docs[0].metadata) {\n if (key in docs[0].metadata) {\n combinedMetadata[key] = String(docs[0].metadata[key]);\n }\n }\n for (const doc of docs.slice(1)) {\n for (const key in doc.metadata) {\n if (key in combinedMetadata) {\n combinedMetadata[key] += `, ${doc.metadata[key]}`;\n } else {\n combinedMetadata[key] = String(doc.metadata[key]);\n }\n }\n }\n return combinedMetadata;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAaA,SAAgB,gBACd,MAEA,YACA,UACc;CACd,MAAM,mBAAiC,EAAE;CACzC,IAAI,gBAA4B,EAAE;AAClC,MAAK,MAAM,OAAO,MAAM;AACtB,gBAAc,KAAK,IAAI;AAEvB,MADkB,WAAW,cAChB,GAAG,UAAU;AACxB,OAAI,cAAc,WAAW,EAC3B,OAAM,IAAI,MACR,+EACD;AAEH,oBAAiB,KAAK,cAAc,MAAM,GAAG,GAAG,CAAC;AACjD,mBAAgB,cAAc,MAAM,GAAG;;;AAG3C,kBAAiB,KAAK,cAAc;AACpC,QAAO;;;;;;;;;;;;;;;;AAiBT,eAAsB,aACpB,MACA,qBACmB;AAEnB,QAAO;EAAE,aAAa,MADD,oBAAoB,KAAK;EAChB,UAAU,qBAAqB,KAAK;EAAE;;AAGtE,SAAS,qBAAqB,MAAwC;CACpE,MAAM,mBAA2C,EAAE;AACnD,MAAK,MAAM,OAAO,KAAK,GAAG,SACxB,KAAI,OAAO,KAAK,GAAG,SACjB,kBAAiB,OAAO,OAAO,KAAK,GAAG,SAAS,KAAK;AAGzD,MAAK,MAAM,OAAO,KAAK,MAAM,EAAE,CAC7B,MAAK,MAAM,OAAO,IAAI,SACpB,KAAI,OAAO,iBACT,kBAAiB,QAAQ,KAAK,IAAI,SAAS;KAE3C,kBAAiB,OAAO,OAAO,IAAI,SAAS,KAAK;AAIvD,QAAO"}
1
+ {"version":3,"file":"reduce.js","names":[],"sources":["../../../src/chains/combine_documents/reduce.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\n\n/**\n * Splits a list of documents into sublists based on a maximum token limit.\n *\n * @param {Document[]} docs - The list of documents to be split.\n * @param {Function} lengthFunc - A function that calculates the number of tokens in a list of documents.\n * @param {number} tokenMax - The maximum number of tokens allowed in a sublist.\n *\n * @returns {Document[][]} - A list of document sublists, each sublist contains documents whose total number of tokens does not exceed the tokenMax.\n *\n * @throws {Error} - Throws an error if a single document has more tokens than the tokenMax.\n */\nexport function splitListOfDocs(\n docs: Document[],\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n lengthFunc: (...args: any[]) => any,\n tokenMax: number\n): Document[][] {\n const newResultDocList: Document[][] = [];\n let subResultDocs: Document[] = [];\n for (const doc of docs) {\n subResultDocs.push(doc);\n const numTokens = lengthFunc(subResultDocs);\n if (numTokens > tokenMax) {\n if (subResultDocs.length === 1) {\n throw new Error(\n \"A single document was longer than the context length, we cannot handle this.\"\n );\n }\n newResultDocList.push(subResultDocs.slice(0, -1));\n subResultDocs = subResultDocs.slice(-1);\n }\n }\n newResultDocList.push(subResultDocs);\n return newResultDocList;\n}\n\n/**\n * Collapses a list of documents into a single document.\n *\n * This function takes a list of documents and a function to combine the content of these documents.\n * It combines the content of the documents using the provided function and merges the metadata of all documents.\n * If a metadata key is present in multiple documents, the values are concatenated with a comma separator.\n *\n * @param {Document[]} docs - The list of documents to be collapsed.\n * @param {Function} combineDocumentFunc - A function that combines the content of a list of documents into a single string. This function should return a promise that resolves to the combined string.\n *\n * @returns {Promise<Document>} - A promise that resolves to a single document with combined content and merged metadata.\n *\n * @throws {Error} - Throws an error if the combineDocumentFunc does not return a promise or if the promise does not resolve to a string.\n */\nexport async function collapseDocs(\n docs: Document[],\n combineDocumentFunc: (docs: Document[]) => Promise<string>\n): Promise<Document> {\n const result = await combineDocumentFunc(docs);\n return { pageContent: result, metadata: collapseDocsMetadata(docs) };\n}\n\nfunction collapseDocsMetadata(docs: Document[]): Document[\"metadata\"] {\n const combinedMetadata: Record<string, string> = {};\n for (const key in docs[0].metadata) {\n if (key in docs[0].metadata) {\n combinedMetadata[key] = String(docs[0].metadata[key]);\n }\n }\n for (const doc of docs.slice(1)) {\n for (const key in doc.metadata) {\n if (key in combinedMetadata) {\n combinedMetadata[key] += `, ${doc.metadata[key]}`;\n } else {\n combinedMetadata[key] = String(doc.metadata[key]);\n }\n }\n }\n return combinedMetadata;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAaA,SAAgB,gBACd,MAEA,YACA,UACc;CACd,MAAM,mBAAiC,CAAC;CACxC,IAAI,gBAA4B,CAAC;CACjC,KAAK,MAAM,OAAO,MAAM;EACtB,cAAc,KAAK,GAAG;EAEtB,IADkB,WAAW,aACjB,IAAI,UAAU;GACxB,IAAI,cAAc,WAAW,GAC3B,MAAM,IAAI,MACR,8EACF;GAEF,iBAAiB,KAAK,cAAc,MAAM,GAAG,EAAE,CAAC;GAChD,gBAAgB,cAAc,MAAM,EAAE;EACxC;CACF;CACA,iBAAiB,KAAK,aAAa;CACnC,OAAO;AACT;;;;;;;;;;;;;;;AAgBA,eAAsB,aACpB,MACA,qBACmB;CAEnB,OAAO;EAAE,aAAa,MADD,oBAAoB,IAAI;EACf,UAAU,qBAAqB,IAAI;CAAE;AACrE;AAEA,SAAS,qBAAqB,MAAwC;CACpE,MAAM,mBAA2C,CAAC;CAClD,KAAK,MAAM,OAAO,KAAK,EAAE,CAAC,UACxB,IAAI,OAAO,KAAK,EAAE,CAAC,UACjB,iBAAiB,OAAO,OAAO,KAAK,EAAE,CAAC,SAAS,IAAI;CAGxD,KAAK,MAAM,OAAO,KAAK,MAAM,CAAC,GAC5B,KAAK,MAAM,OAAO,IAAI,UACpB,IAAI,OAAO,kBACT,iBAAiB,QAAQ,KAAK,IAAI,SAAS;MAE3C,iBAAiB,OAAO,OAAO,IAAI,SAAS,IAAI;CAItD,OAAO;AACT"}
@@ -1,4 +1,3 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  const require_base = require("./base.cjs");
3
2
  let _langchain_core_runnables = require("@langchain/core/runnables");
4
3
  let _langchain_core_output_parsers = require("@langchain/core/output_parsers");