@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":"types.d.ts","names":[],"sources":["../../../src/experimental/masking/types.ts"],"mappings":";;;;;AAKA;KAAY,mBAAA;EACV,YAAA,GAAe,kBAAA;EACf,mBAAA,GAAsB,YAAA;EACtB,cAAA,GAAiB,YAAA;EACjB,YAAA,GAAe,YAAA;EACf,kBAAA,GAAqB,YAAA;EACrB,gBAAA,GAAmB,YAAA;AAAA;;;;KAMT,cAAA;EACV,KAAA,EAAO,MAAA;EACP,WAAA;EACA,IAAA,IAAQ,KAAA;AAAA;AAAA,KAGE,YAAA,KACN,OAAA,aAAoB,OAAA,YACpB,OAAA;;;;KAKM,YAAA,IAAgB,KAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/experimental/masking/types.ts"],"mappings":";;;;;KAKY;EACV,eAAe;EACf,sBAAsB;EACtB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;EACrB,mBAAmB;;;;;KAMT;EACV,OAAO;EACP;EACA,QAAQ;;KAGE,iBACN,oBAAoB,mBACpB;;;;KAKM,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Runnable","OpenAIClient","StructuredTool","sleep"],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["Runnable","OpenAIClient","StructuredTool","sleep"],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
@@ -3,7 +3,6 @@ import { Runnable, RunnableConfig } from "@langchain/core/runnables";
3
3
  import { ToolDefinition } from "@langchain/core/language_models/base";
4
4
  import { StructuredTool, StructuredToolInterface } from "@langchain/core/tools";
5
5
  import { ClientOptions, OpenAIChatModelId, OpenAIClient } from "@langchain/openai";
6
-
7
6
  //#region src/experimental/openai_assistant/index.d.ts
8
7
  type ThreadMessage = any;
9
8
  type RequiredActionFunctionToolCall = any;
@@ -22,17 +21,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
22
21
  pollIntervalMs: number;
23
22
  asAgent?: AsAgent;
24
23
  constructor(fields: OpenAIAssistantRunnableInput<AsAgent>);
25
- static createAssistant<AsAgent extends boolean>({
26
- model,
27
- name,
28
- instructions,
29
- tools,
30
- client,
31
- clientOptions,
32
- asAgent,
33
- pollIntervalMs,
34
- fileIds
35
- }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
24
+ static createAssistant<AsAgent extends boolean>({ model, name, instructions, tools, client, clientOptions, asAgent, pollIntervalMs, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
36
25
  model: OpenAIChatModelId;
37
26
  name?: string;
38
27
  instructions?: string;
@@ -64,12 +53,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
64
53
  * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}
65
54
  * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}
66
55
  */
67
- modifyAssistant<AsAgent extends boolean>({
68
- model,
69
- name,
70
- instructions,
71
- fileIds
72
- }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
56
+ modifyAssistant<AsAgent extends boolean>({ model, name, instructions, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
73
57
  model?: OpenAIChatModelId;
74
58
  name?: string;
75
59
  instructions?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":";;;;;;;KAkBK,aAAA;AAAA,KAEA,8BAAA;AAAA,KAEA,gBAAA,wCACH,OAAA,gBACI,qBAAA,GAAwB,qBAAA,KACxB,aAAA,KAAkB,8BAAA;AAAA,KAEZ,4BAAA;EAGV,MAAA,GAAS,YAAA;EACT,aAAA,GAAgB,aAAA;EAChB,WAAA;EACA,cAAA;EACA,OAAA,GAAU,OAAA;AAAA;AAAA,cAGC,uBAAA,uDAGM,MAAA,gBAAsB,MAAA,uBAC/B,QAAA,CAAS,QAAA,EAAU,gBAAA,CAAiB,OAAA;EAC5C,YAAA;EAAA,QAEQ,MAAA;EAER,WAAA;EAEA,cAAA;EAEA,OAAA,GAAU,OAAA;EAEV,WAAA,CAAY,MAAA,EAAQ,4BAAA,CAA6B,OAAA;EAAA,OAOpC,eAAA,yBAAA,CAAA;IACX,KAAA;IACA,IAAA;IACA,YAAA;IACA,KAAA;IACA,MAAA;IACA,aAAA;IACA,OAAA;IACA,cAAA;IACA;EAAA,GACC,IAAA,CAAK,4BAAA,CAA6B,OAAA;IACnC,KAAA,EAAO,iBAAA;IACP,IAAA;IACA,YAAA;IACA,KAAA,GAAQ,cAAA,GAAiB,KAAA,CAAM,cAAA;IAC/B,OAAA;EAAA,IACD,OAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,MAAA;EA2BK,MAAA,CACJ,KAAA,EAAO,QAAA,EACP,QAAA,GAAW,cAAA,GACV,OAAA,CAAQ,gBAAA,CAAiB,OAAA;EAjFA;;;;;AAG9B;EAqIe,eAAA,CAAA,GAAe,OAAA,CAAA,YAAA,CAAA,IAAA,CAAA,gBAAA;;;EAjIZ;;;;;;EA2IH,YAAA,CAAA,GAAY,OAAA,CAAA,YAAA,CAAA,IAAA,CAAA,SAAA;;;EA1IzB;;;;;;EAoJa,eAAA,yBAAA,CAAA;IACX,KAAA;IACA,IAAA;IACA,YAAA;IACA;EAAA,GACC,IAAA,CAAK,4BAAA,CAA6B,OAAA;IACnC,KAAA,GAAQ,iBAAA;IACR,IAAA;IACA,YAAA;IACA,OAAA;EAAA,IACD,OAAA,CAAA,YAAA,CAAA,IAAA,CAAA,SAAA;;;UAUa,gBAAA;EAAA,QA8BA,UAAA;EAAA,QAiBA,mBAAA;EAAA,QAwBA,WAAA;EAAA,QAgBA,YAAA;AAAA;AAAA,iBAoEA,2BAAA,CACd,IAAA,EAAM,uBAAA,GACL,cAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":";;;;;;KAkBK;KAEA;KAEA,iBAAiB,uCACpB,uBACI,wBAAwB,0BACxB,kBAAkB;KAEZ,6BACV;EAEA,SAAS;EACT,gBAAgB;EAChB;EACA;EACA,UAAU;;cAGC,wBACX,qCAEA,iBAAiB,sBAAsB,6BAC/B,SAAS,UAAU,iBAAiB;EAC5C;UAEQ;EAER;EAEA;EAEA,UAAU;EAEV,YAAY,QAAQ,6BAA6B;SAOpC,gBAAgB,2BAC3B,OACA,MACA,cACA,OACA,QACA,eACA,SACA,gBACA,WACC,KAAK,6BAA6B;IACnC,OAAO;IACP;IACA;IACA,QAAQ,iBAAiB,MAAM;IAC/B;MACD,QAAA,wBAAA,SAAA;EA2BK,OACJ,OAAO,UACP,WAAW,iBACV,QAAQ,iBAAiB;;;;;;;EAuDf,mBAAe,QAAA,aAAA,KAAA;;;;;;;;;EAUf,gBAAY,QAAA,aAAA,KAAA;;;;;;;;;EAUZ,gBAAgB,2BAC3B,OACA,MACA,cACA,WACC,KAAK,6BAA6B;IACnC,QAAQ;IACR;IACA;IACA;MACD,QAAA,aAAA,KAAA;;;UAUa;UA8BA;UAiBA;UAwBA;UAgBA;;iBAoEA,4BACd,MAAM,0BACL"}
@@ -3,7 +3,6 @@ import { Runnable, RunnableConfig } from "@langchain/core/runnables";
3
3
  import { StructuredTool, StructuredToolInterface } from "@langchain/core/tools";
4
4
  import { ToolDefinition } from "@langchain/core/language_models/base";
5
5
  import { ClientOptions, OpenAIChatModelId, OpenAIClient } from "@langchain/openai";
6
-
7
6
  //#region src/experimental/openai_assistant/index.d.ts
8
7
  type ThreadMessage = any;
9
8
  type RequiredActionFunctionToolCall = any;
@@ -22,17 +21,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
22
21
  pollIntervalMs: number;
23
22
  asAgent?: AsAgent;
24
23
  constructor(fields: OpenAIAssistantRunnableInput<AsAgent>);
25
- static createAssistant<AsAgent extends boolean>({
26
- model,
27
- name,
28
- instructions,
29
- tools,
30
- client,
31
- clientOptions,
32
- asAgent,
33
- pollIntervalMs,
34
- fileIds
35
- }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
24
+ static createAssistant<AsAgent extends boolean>({ model, name, instructions, tools, client, clientOptions, asAgent, pollIntervalMs, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId"> & {
36
25
  model: OpenAIChatModelId;
37
26
  name?: string;
38
27
  instructions?: string;
@@ -64,12 +53,7 @@ declare class OpenAIAssistantRunnable<AsAgent extends boolean | undefined, RunIn
64
53
  * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}
65
54
  * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}
66
55
  */
67
- modifyAssistant<AsAgent extends boolean>({
68
- model,
69
- name,
70
- instructions,
71
- fileIds
72
- }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
56
+ modifyAssistant<AsAgent extends boolean>({ model, name, instructions, fileIds }: Omit<OpenAIAssistantRunnableInput<AsAgent>, "assistantId" | "tools"> & {
73
57
  model?: OpenAIChatModelId;
74
58
  name?: string;
75
59
  instructions?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":";;;;;;;KAkBK,aAAA;AAAA,KAEA,8BAAA;AAAA,KAEA,gBAAA,wCACH,OAAA,gBACI,qBAAA,GAAwB,qBAAA,KACxB,aAAA,KAAkB,8BAAA;AAAA,KAEZ,4BAAA;EAGV,MAAA,GAAS,YAAA;EACT,aAAA,GAAgB,aAAA;EAChB,WAAA;EACA,cAAA;EACA,OAAA,GAAU,OAAA;AAAA;AAAA,cAGC,uBAAA,uDAGM,MAAA,gBAAsB,MAAA,uBAC/B,QAAA,CAAS,QAAA,EAAU,gBAAA,CAAiB,OAAA;EAC5C,YAAA;EAAA,QAEQ,MAAA;EAER,WAAA;EAEA,cAAA;EAEA,OAAA,GAAU,OAAA;EAEV,WAAA,CAAY,MAAA,EAAQ,4BAAA,CAA6B,OAAA;EAAA,OAOpC,eAAA,yBAAA,CAAA;IACX,KAAA;IACA,IAAA;IACA,YAAA;IACA,KAAA;IACA,MAAA;IACA,aAAA;IACA,OAAA;IACA,cAAA;IACA;EAAA,GACC,IAAA,CAAK,4BAAA,CAA6B,OAAA;IACnC,KAAA,EAAO,iBAAA;IACP,IAAA;IACA,YAAA;IACA,KAAA,GAAQ,cAAA,GAAiB,KAAA,CAAM,cAAA;IAC/B,OAAA;EAAA,IACD,OAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,MAAA;EA2BK,MAAA,CACJ,KAAA,EAAO,QAAA,EACP,QAAA,GAAW,cAAA,GACV,OAAA,CAAQ,gBAAA,CAAiB,OAAA;EAjFA;;;;;AAG9B;EAqIe,eAAA,CAAA,GAAe,OAAA,CAAA,YAAA,CAAA,IAAA,CAAA,gBAAA;;;EAjIZ;;;;;;EA2IH,YAAA,CAAA,GAAY,OAAA,CAAA,YAAA,CAAA,IAAA,CAAA,SAAA;;;EA1IzB;;;;;;EAoJa,eAAA,yBAAA,CAAA;IACX,KAAA;IACA,IAAA;IACA,YAAA;IACA;EAAA,GACC,IAAA,CAAK,4BAAA,CAA6B,OAAA;IACnC,KAAA,GAAQ,iBAAA;IACR,IAAA;IACA,YAAA;IACA,OAAA;EAAA,IACD,OAAA,CAAA,YAAA,CAAA,IAAA,CAAA,SAAA;;;UAUa,gBAAA;EAAA,QA8BA,UAAA;EAAA,QAiBA,mBAAA;EAAA,QAwBA,WAAA;EAAA,QAgBA,YAAA;AAAA;AAAA,iBAoEA,2BAAA,CACd,IAAA,EAAM,uBAAA,GACL,cAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"mappings":";;;;;;KAkBK;KAEA;KAEA,iBAAiB,uCACpB,uBACI,wBAAwB,0BACxB,kBAAkB;KAEZ,6BACV;EAEA,SAAS;EACT,gBAAgB;EAChB;EACA;EACA,UAAU;;cAGC,wBACX,qCAEA,iBAAiB,sBAAsB,6BAC/B,SAAS,UAAU,iBAAiB;EAC5C;UAEQ;EAER;EAEA;EAEA,UAAU;EAEV,YAAY,QAAQ,6BAA6B;SAOpC,gBAAgB,2BAC3B,OACA,MACA,cACA,OACA,QACA,eACA,SACA,gBACA,WACC,KAAK,6BAA6B;IACnC,OAAO;IACP;IACA;IACA,QAAQ,iBAAiB,MAAM;IAC/B;MACD,QAAA,wBAAA,SAAA;EA2BK,OACJ,OAAO,UACP,WAAW,iBACV,QAAQ,iBAAiB;;;;;;;EAuDf,mBAAe,QAAA,aAAA,KAAA;;;;;;;;;EAUf,gBAAY,QAAA,aAAA,KAAA;;;;;;;;;EAUZ,gBAAgB,2BAC3B,OACA,MACA,cACA,WACC,KAAK,6BAA6B;IACnC,QAAQ;IACR;IACA;IACA;MACD,QAAA,aAAA,KAAA;;;UAUa;UA8BA;UAiBA;UAwBA;UAgBA;;iBAoEA,4BACd,MAAM,0BACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_assistant/index.ts"],"sourcesContent":["import {\n type ClientOptions,\n type OpenAIChatModelId,\n OpenAIClient,\n} from \"@langchain/openai\";\nimport { StructuredTool, StructuredToolInterface } from \"@langchain/core/tools\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport { isInteropZodSchema } from \"@langchain/core/utils/types\";\nimport { toJsonSchema } from \"@langchain/core/utils/json_schema\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { sleep } from \"../../util/time.js\";\nimport type {\n OpenAIAssistantFinish,\n OpenAIAssistantAction,\n OpenAIToolType,\n} from \"./schema.js\";\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype ThreadMessage = any;\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\ntype RequiredActionFunctionToolCall = any;\n\ntype ExtractRunOutput<AsAgent extends boolean | undefined> =\n AsAgent extends true\n ? OpenAIAssistantFinish | OpenAIAssistantAction[]\n : ThreadMessage[] | RequiredActionFunctionToolCall[];\n\nexport type OpenAIAssistantRunnableInput<\n AsAgent extends boolean | undefined = undefined,\n> = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n assistantId: string;\n pollIntervalMs?: number;\n asAgent?: AsAgent;\n};\n\nexport class OpenAIAssistantRunnable<\n AsAgent extends boolean | undefined,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends Record<string, any> = Record<string, any>,\n> extends Runnable<RunInput, ExtractRunOutput<AsAgent>> {\n lc_namespace = [\"langchain\", \"experimental\", \"openai_assistant\"];\n\n private client: OpenAIClient;\n\n assistantId: string;\n\n pollIntervalMs = 1000;\n\n asAgent?: AsAgent;\n\n constructor(fields: OpenAIAssistantRunnableInput<AsAgent>) {\n super(fields);\n this.client = fields.client ?? new OpenAIClient(fields?.clientOptions);\n this.assistantId = fields.assistantId;\n this.asAgent = fields.asAgent ?? this.asAgent;\n }\n\n static async createAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n tools,\n client,\n clientOptions,\n asAgent,\n pollIntervalMs,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\"> & {\n model: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n tools?: OpenAIToolType | Array<StructuredTool>;\n fileIds?: string[];\n }) {\n const formattedTools =\n tools?.map((tool) => {\n // oxlint-disable-next-line no-instanceof/no-instanceof\n if (tool instanceof StructuredTool) {\n return formatToOpenAIAssistantTool(tool);\n }\n return tool;\n }) ?? [];\n const oaiClient = client ?? new OpenAIClient(clientOptions);\n const assistant = await oaiClient.beta.assistants.create({\n name,\n instructions,\n tools: formattedTools,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n\n return new this({\n client: oaiClient,\n assistantId: assistant.id,\n asAgent,\n pollIntervalMs,\n });\n }\n\n async invoke(\n input: RunInput,\n _options?: RunnableConfig\n ): Promise<ExtractRunOutput<AsAgent>> {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run: any;\n if (this.asAgent && input.steps && input.steps.length > 0) {\n const parsedStepsInput = await this._parseStepsInput(input);\n run = await this.client.beta.threads.runs.submitToolOutputs(\n parsedStepsInput.runId,\n {\n thread_id: parsedStepsInput.threadId,\n tool_outputs: parsedStepsInput.toolOutputs,\n }\n );\n } else if (!(\"threadId\" in input)) {\n const thread = {\n messages: [\n {\n role: \"user\",\n content: input.content,\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n },\n ],\n metadata: input.threadMetadata,\n };\n run = await this._createThreadAndRun({\n ...input,\n thread,\n });\n } else if (!(\"runId\" in input)) {\n await this.client.beta.threads.messages.create(input.threadId, {\n content: input.content,\n role: \"user\",\n attachments: input.attachments,\n metadata: input.messagesMetadata,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n run = await this._createRun(input);\n } else {\n // Submitting tool outputs to an existing run, outside the AgentExecutor\n // framework.\n run = await this.client.beta.threads.runs.submitToolOutputs(input.runId, {\n thread_id: input.threadId,\n tool_outputs: input.toolOutputs,\n });\n }\n\n return this._getResponse(run.id, run.thread_id);\n }\n\n /**\n * Delete an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/deleteAssistant}\n * @returns {Promise<AssistantDeleted>}\n */\n public async deleteAssistant() {\n return await this.client.beta.assistants.delete(this.assistantId);\n }\n\n /**\n * Retrieves an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/getAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async getAssistant() {\n return await this.client.beta.assistants.retrieve(this.assistantId);\n }\n\n /**\n * Modifies an assistant.\n *\n * @link {https://platform.openai.com/docs/api-reference/assistants/modifyAssistant}\n * @returns {Promise<OpenAIClient.Beta.Assistants.Assistant>}\n */\n public async modifyAssistant<AsAgent extends boolean>({\n model,\n name,\n instructions,\n fileIds,\n }: Omit<OpenAIAssistantRunnableInput<AsAgent>, \"assistantId\" | \"tools\"> & {\n model?: OpenAIChatModelId;\n name?: string;\n instructions?: string;\n fileIds?: string[];\n }) {\n return await this.client.beta.assistants.update(this.assistantId, {\n name,\n instructions,\n model,\n file_ids: fileIds,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n } as any);\n }\n\n private async _parseStepsInput(input: RunInput): Promise<RunInput> {\n const {\n action: { runId, threadId },\n } = input.steps[input.steps.length - 1];\n const run = await this._waitForRun(runId, threadId);\n const toolCalls = run.required_action?.submit_tool_outputs.tool_calls;\n if (!toolCalls) {\n return input;\n }\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const toolOutputs = toolCalls.flatMap((toolCall: any) => {\n const matchedAction = (\n input.steps as {\n action: OpenAIAssistantAction;\n observation: string;\n }[]\n ).find((step) => step.action.toolCallId === toolCall.id);\n\n return matchedAction\n ? [\n {\n output: matchedAction.observation,\n tool_call_id: matchedAction.action.toolCallId,\n },\n ]\n : [];\n });\n return { toolOutputs, runId, threadId } as unknown as RunInput;\n }\n\n private async _createRun({\n instructions,\n model,\n tools,\n metadata,\n threadId,\n }: RunInput) {\n const run = this.client.beta.threads.runs.create(threadId, {\n assistant_id: this.assistantId,\n instructions,\n model,\n tools,\n metadata,\n });\n return run;\n }\n\n private async _createThreadAndRun(input: RunInput) {\n const params: Record<string, unknown> = [\n \"instructions\",\n \"model\",\n \"tools\",\n \"run_metadata\",\n ]\n .filter((key) => key in input)\n .reduce(\n (obj, key) => {\n const newObj = obj;\n newObj[key] = input[key];\n return newObj;\n },\n {} as Record<string, unknown>\n );\n const run = this.client.beta.threads.createAndRun({\n ...params,\n thread: input.thread,\n assistant_id: this.assistantId,\n });\n return run;\n }\n\n private async _waitForRun(runId: string, threadId: string) {\n let inProgress = true;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let run = {} as any;\n while (inProgress) {\n run = await this.client.beta.threads.runs.retrieve(runId, {\n thread_id: threadId,\n });\n inProgress = [\"in_progress\", \"queued\"].includes(run.status);\n if (inProgress) {\n await sleep(this.pollIntervalMs);\n }\n }\n return run;\n }\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<ExtractRunOutput<AsAgent>>;\n\n private async _getResponse(\n runId: string,\n threadId: string\n ): Promise<\n | OpenAIAssistantFinish\n | OpenAIAssistantAction[]\n | ThreadMessage[]\n | RequiredActionFunctionToolCall[]\n > {\n const run = await this._waitForRun(runId, threadId);\n if (run.status === \"completed\") {\n const messages = await this.client.beta.threads.messages.list(threadId, {\n order: \"desc\",\n });\n const newMessages = messages.data.filter((msg) => msg.run_id === runId);\n if (!this.asAgent) {\n return newMessages;\n }\n const answer = newMessages.flatMap((msg) => msg.content);\n if (answer.every((item) => item.type === \"text\")) {\n const answerString = answer\n .map((item) => item.type === \"text\" && item.text.value)\n .join(\"\\n\");\n return {\n returnValues: {\n output: answerString,\n runId,\n threadId,\n },\n log: \"\",\n runId,\n threadId,\n };\n }\n } else if (run.status === \"requires_action\") {\n if (!this.asAgent) {\n return run.required_action?.submit_tool_outputs.tool_calls ?? [];\n }\n const actions: OpenAIAssistantAction[] = [];\n run.required_action?.submit_tool_outputs.tool_calls.forEach(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (item: any) => {\n const functionCall = item.function;\n const args = JSON.parse(functionCall.arguments);\n actions.push({\n tool: functionCall.name,\n toolInput: args,\n toolCallId: item.id,\n log: \"\",\n runId,\n threadId,\n });\n }\n );\n return actions;\n }\n const runInfo = JSON.stringify(run, null, 2);\n throw new Error(\n `Unexpected run status ${run.status}.\\nFull run info:\\n\\n${runInfo}`\n );\n }\n}\n\nexport function formatToOpenAIAssistantTool(\n tool: StructuredToolInterface\n): ToolDefinition {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: isInteropZodSchema(tool.schema)\n ? toJsonSchema(tool.schema)\n : tool.schema,\n },\n };\n}\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { AgentAction, AgentFinish } from "@langchain/core/agents";
2
-
3
2
  //#region src/experimental/openai_assistant/schema.d.ts
4
3
  type OpenAIAssistantFinish = AgentFinish & {
5
4
  runId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":";;;KAEY,qBAAA,GAAwB,WAAA;EAClC,KAAA;EAEA,QAAA;AAAA;AAAA,KAGU,qBAAA,GAAwB,WAAA;EAClC,UAAA;EAEA,KAAA;EAEA,QAAA;AAAA;AAAA,KAIU,cAAA,GAAiB,KAAA"}
1
+ {"version":3,"file":"schema.d.cts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":";;KAEY,wBAAwB;EAClC;EAEA;;KAGU,wBAAwB;EAClC;EAEA;EAEA;;KAIU,iBAAiB"}
@@ -1,5 +1,4 @@
1
1
  import { AgentAction, AgentFinish } from "@langchain/core/agents";
2
-
3
2
  //#region src/experimental/openai_assistant/schema.d.ts
4
3
  type OpenAIAssistantFinish = AgentFinish & {
5
4
  runId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":";;;KAEY,qBAAA,GAAwB,WAAA;EAClC,KAAA;EAEA,QAAA;AAAA;AAAA,KAGU,qBAAA,GAAwB,WAAA;EAClC,UAAA;EAEA,KAAA;EAEA,QAAA;AAAA;AAAA,KAIU,cAAA,GAAiB,KAAA"}
1
+ {"version":3,"file":"schema.d.ts","names":[],"sources":["../../../src/experimental/openai_assistant/schema.ts"],"mappings":";;KAEY,wBAAwB;EAClC;EAEA;;KAGU,wBAAwB;EAClC;EAEA;EAEA;;KAIU,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Serializable","OpenAIClient"],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,cAAb,cAAiCA,kCAAAA,aAAa;CAC5C,eAAe,CAAC,aAAa,eAAe;CAE5C;CAEA,YAAY,QAA2B;AACrC,QAAM,OAAO;AACb,OAAK,YAAY,QAAQ,UAAU,IAAIC,kBAAAA,aAAa,QAAQ,cAAc;;;;;;;;;;;;;;CAe5E,MAAM,WAAW,EACf,MACA,SACA,WAGC;AACD,SAAO,KAAK,UAAU,MAAM,OAAO;GAAE;GAAM;GAAS,EAAE,QAAQ;;;;;;;;;;CAWhE,MAAM,WAAW,EACf,QACA,WAIC;AACD,SAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,QAAQ;;;;;;;;;;;CAYrD,MAAM,UAAU,OAGb;AACD,SAAO,KAAK,UAAU,MAAM,KAAK,OAAO,OAAO,OAAO,QAAQ;;;;;;;;;;;CAYhE,MAAM,aAAa,EACjB,QACA,WAIC;AACD,SAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,QAAQ;;;;;;;;;;;;;CAcvD,MAAM,oBAAoB,EACxB,QACA,WAIC;AACD,SAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,QAAQ"}
1
+ {"version":3,"file":"index.cjs","names":["Serializable","OpenAIClient"],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,cAAb,cAAiCA,kCAAAA,aAAa;CAC5C,eAAe,CAAC,aAAa,cAAc;CAE3C;CAEA,YAAY,QAA2B;EACrC,MAAM,MAAM;EACZ,KAAK,YAAY,QAAQ,UAAU,IAAIC,kBAAAA,aAAa,QAAQ,aAAa;CAC3E;;;;;;;;;;;;;CAcA,MAAM,WAAW,EACf,MACA,SACA,WAGC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO;GAAE;GAAM;EAAQ,GAAG,OAAO;CAC/D;;;;;;;;;CAUA,MAAM,WAAW,EACf,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,OAAO;CACpD;;;;;;;;;;CAWA,MAAM,UAAU,OAGb;EACD,OAAO,KAAK,UAAU,MAAM,KAAK,OAAO,OAAO,OAAO,OAAO;CAC/D;;;;;;;;;;CAWA,MAAM,aAAa,EACjB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;;;;;;;;;;;;CAaA,MAAM,oBAAoB,EACxB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;AACF"}
@@ -1,6 +1,5 @@
1
1
  import { Serializable } from "@langchain/core/load/serializable";
2
2
  import { ClientOptions, OpenAIClient } from "@langchain/openai";
3
-
4
3
  //#region src/experimental/openai_files/index.d.ts
5
4
  type OpenAIFilesInput = {
6
5
  client?: OpenAIClient;
@@ -22,11 +21,7 @@ declare class OpenAIFiles extends Serializable {
22
21
  * @param {OpenAIClient.RequestOptions | undefined} options
23
22
  * @returns {Promise<OpenAIClient.Files.FileObject>}
24
23
  */
25
- createFile({
26
- file,
27
- purpose,
28
- options
29
- }: OpenAIClient.FileCreateParams & {
24
+ createFile({ file, purpose, options }: OpenAIClient.FileCreateParams & {
30
25
  options?: OpenAIClient.RequestOptions;
31
26
  }): Promise<OpenAIClient.FileObject & {
32
27
  _request_id?: string | null;
@@ -39,10 +34,7 @@ declare class OpenAIFiles extends Serializable {
39
34
  * @param {OpenAIClient.RequestOptions | undefined} options
40
35
  * @returns {Promise<OpenAIClient.Files.FileDeleted>}
41
36
  */
42
- deleteFile({
43
- fileId,
44
- options
45
- }: {
37
+ deleteFile({ fileId, options }: {
46
38
  fileId: string;
47
39
  options?: OpenAIClient.RequestOptions;
48
40
  }): Promise<OpenAIClient.FileDeleted & {
@@ -70,10 +62,7 @@ declare class OpenAIFiles extends Serializable {
70
62
  * @param {OpenAIClient.RequestOptions | undefined} options
71
63
  * @returns {Promise<OpenAIClient.Files.FileObject>}
72
64
  */
73
- retrieveFile({
74
- fileId,
75
- options
76
- }: {
65
+ retrieveFile({ fileId, options }: {
77
66
  fileId: string;
78
67
  options?: OpenAIClient.RequestOptions;
79
68
  }): Promise<OpenAIClient.FileObject & {
@@ -90,10 +79,7 @@ declare class OpenAIFiles extends Serializable {
90
79
  * @param {OpenAIClient.RequestOptions | undefined} options
91
80
  * @returns {Promise<string>}
92
81
  */
93
- retrieveFileContent({
94
- fileId,
95
- options
96
- }: {
82
+ retrieveFileContent({ fileId, options }: {
97
83
  fileId: string;
98
84
  options?: OpenAIClient.RequestOptions;
99
85
  }): Promise<OpenAIClient.FileObject & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":";;;;KAGY,gBAAA;EACV,MAAA,GAAS,YAAA;EACT,aAAA,GAAgB,aAAA;AAAA;AAAA,cAGL,WAAA,SAAoB,YAAA;EAC/B,YAAA;EAAA,QAEQ,SAAA;EAER,WAAA,CAAY,MAAA,GAAS,gBAAA;EARrB;;;;AAGF;;;;;;;;EAsBQ,UAAA,CAAA;IACJ,IAAA;IACA,OAAA;IACA;EAAA,GACC,YAAA,CAAa,gBAAA;IACd,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,UAAA;;;EAiBW;;;;;;;;EALN,UAAA,CAAA;IACJ,MAAA;IACA;EAAA;IAEA,MAAA;IACA,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,WAAA;;;EAuDW;;;;;;;;;EA1CN,SAAA,CAAU,KAAA;IACd,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,cAAA;IAC3B,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,eAAA;EAvCC;;;;;;;;;EAoDI,YAAA,CAAA;IACJ,MAAA;IACA;EAAA;IAEA,MAAA;IACA,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,UAAA;;;EAzCK;;;;;;;;;;;EAwDA,mBAAA,CAAA;IACJ,MAAA;IACA;EAAA;IAEA,MAAA;IACA,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,UAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":";;;KAGY;EACV,SAAS;EACT,gBAAgB;;cAGL,oBAAoB;EAC/B;UAEQ;EAER,YAAY,SAAS;;;;;;;;;;;;;EAiBf,aACJ,MACA,SACA,WACC,aAAa;IACd,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;EAYK,aACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;EAaK,UAAU;IACd,QAAQ,aAAa,MAAM;IAC3B,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;EAaK,eACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;;;EAeK,sBACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA"}
@@ -1,6 +1,5 @@
1
1
  import { Serializable } from "@langchain/core/load/serializable";
2
2
  import { ClientOptions, OpenAIClient } from "@langchain/openai";
3
-
4
3
  //#region src/experimental/openai_files/index.d.ts
5
4
  type OpenAIFilesInput = {
6
5
  client?: OpenAIClient;
@@ -22,11 +21,7 @@ declare class OpenAIFiles extends Serializable {
22
21
  * @param {OpenAIClient.RequestOptions | undefined} options
23
22
  * @returns {Promise<OpenAIClient.Files.FileObject>}
24
23
  */
25
- createFile({
26
- file,
27
- purpose,
28
- options
29
- }: OpenAIClient.FileCreateParams & {
24
+ createFile({ file, purpose, options }: OpenAIClient.FileCreateParams & {
30
25
  options?: OpenAIClient.RequestOptions;
31
26
  }): Promise<OpenAIClient.FileObject & {
32
27
  _request_id?: string | null;
@@ -39,10 +34,7 @@ declare class OpenAIFiles extends Serializable {
39
34
  * @param {OpenAIClient.RequestOptions | undefined} options
40
35
  * @returns {Promise<OpenAIClient.Files.FileDeleted>}
41
36
  */
42
- deleteFile({
43
- fileId,
44
- options
45
- }: {
37
+ deleteFile({ fileId, options }: {
46
38
  fileId: string;
47
39
  options?: OpenAIClient.RequestOptions;
48
40
  }): Promise<OpenAIClient.FileDeleted & {
@@ -70,10 +62,7 @@ declare class OpenAIFiles extends Serializable {
70
62
  * @param {OpenAIClient.RequestOptions | undefined} options
71
63
  * @returns {Promise<OpenAIClient.Files.FileObject>}
72
64
  */
73
- retrieveFile({
74
- fileId,
75
- options
76
- }: {
65
+ retrieveFile({ fileId, options }: {
77
66
  fileId: string;
78
67
  options?: OpenAIClient.RequestOptions;
79
68
  }): Promise<OpenAIClient.FileObject & {
@@ -90,10 +79,7 @@ declare class OpenAIFiles extends Serializable {
90
79
  * @param {OpenAIClient.RequestOptions | undefined} options
91
80
  * @returns {Promise<string>}
92
81
  */
93
- retrieveFileContent({
94
- fileId,
95
- options
96
- }: {
82
+ retrieveFileContent({ fileId, options }: {
97
83
  fileId: string;
98
84
  options?: OpenAIClient.RequestOptions;
99
85
  }): Promise<OpenAIClient.FileObject & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":";;;;KAGY,gBAAA;EACV,MAAA,GAAS,YAAA;EACT,aAAA,GAAgB,aAAA;AAAA;AAAA,cAGL,WAAA,SAAoB,YAAA;EAC/B,YAAA;EAAA,QAEQ,SAAA;EAER,WAAA,CAAY,MAAA,GAAS,gBAAA;EARrB;;;;AAGF;;;;;;;;EAsBQ,UAAA,CAAA;IACJ,IAAA;IACA,OAAA;IACA;EAAA,GACC,YAAA,CAAa,gBAAA;IACd,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,UAAA;;;EAiBW;;;;;;;;EALN,UAAA,CAAA;IACJ,MAAA;IACA;EAAA;IAEA,MAAA;IACA,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,WAAA;;;EAuDW;;;;;;;;;EA1CN,SAAA,CAAU,KAAA;IACd,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,cAAA;IAC3B,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,eAAA;EAvCC;;;;;;;;;EAoDI,YAAA,CAAA;IACJ,MAAA;IACA;EAAA;IAEA,MAAA;IACA,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,UAAA;;;EAzCK;;;;;;;;;;;EAwDA,mBAAA,CAAA;IACJ,MAAA;IACA;EAAA;IAEA,MAAA;IACA,OAAA,GAAU,YAAA,CAAa,cAAA;EAAA,IACxB,OAAA,CAAA,YAAA,CAAA,UAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"mappings":";;;KAGY;EACV,SAAS;EACT,gBAAgB;;cAGL,oBAAoB;EAC/B;UAEQ;EAER,YAAY,SAAS;;;;;;;;;;;;;EAiBf,aACJ,MACA,SACA,WACC,aAAa;IACd,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;EAYK,aACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;EAaK,UAAU;IACd,QAAQ,aAAa,MAAM;IAC3B,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;EAaK,eACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA;;;;;;;;;;;;;;EAeK,sBACJ,QACA;IAEA;IACA,UAAU,aAAa;MACxB,QAAA,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;AAQA,IAAa,cAAb,cAAiC,aAAa;CAC5C,eAAe,CAAC,aAAa,eAAe;CAE5C;CAEA,YAAY,QAA2B;AACrC,QAAM,OAAO;AACb,OAAK,YAAY,QAAQ,UAAU,IAAI,aAAa,QAAQ,cAAc;;;;;;;;;;;;;;CAe5E,MAAM,WAAW,EACf,MACA,SACA,WAGC;AACD,SAAO,KAAK,UAAU,MAAM,OAAO;GAAE;GAAM;GAAS,EAAE,QAAQ;;;;;;;;;;CAWhE,MAAM,WAAW,EACf,QACA,WAIC;AACD,SAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,QAAQ;;;;;;;;;;;CAYrD,MAAM,UAAU,OAGb;AACD,SAAO,KAAK,UAAU,MAAM,KAAK,OAAO,OAAO,OAAO,QAAQ;;;;;;;;;;;CAYhE,MAAM,aAAa,EACjB,QACA,WAIC;AACD,SAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,QAAQ;;;;;;;;;;;;;CAcvD,MAAM,oBAAoB,EACxB,QACA,WAIC;AACD,SAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,QAAQ"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/experimental/openai_files/index.ts"],"sourcesContent":["import { OpenAIClient, type ClientOptions } from \"@langchain/openai\";\nimport { Serializable } from \"@langchain/core/load/serializable\";\n\nexport type OpenAIFilesInput = {\n client?: OpenAIClient;\n clientOptions?: ClientOptions;\n};\n\nexport class OpenAIFiles extends Serializable {\n lc_namespace = [\"langchain\", \"experimental\"];\n\n private oaiClient: OpenAIClient;\n\n constructor(fields?: OpenAIFilesInput) {\n super(fields);\n this.oaiClient = fields?.client ?? new OpenAIClient(fields?.clientOptions);\n }\n\n /**\n * Upload file\n * Upload a file that can be used across various endpoints. The size of all the files uploaded by one organization can be up to 100 GB.\n *\n * @note The size of individual files can be a maximum of 512 MB. See the Assistants Tools guide to learn more about the types of files supported. The Fine-tuning API only supports .jsonl files.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/create}\n * @param {OpenAIClient.FileCreateParams['file']} file\n * @param {OpenAIClient.FileCreateParams['purpose']} purpose\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async createFile({\n file,\n purpose,\n options,\n }: OpenAIClient.FileCreateParams & {\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.create({ file, purpose }, options);\n }\n\n /**\n * Delete a file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/delete}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileDeleted>}\n */\n async deleteFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.delete(fileId, options);\n }\n\n /**\n * List files\n * Returns a list of files that belong to the user's organization.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/list}\n * @param {OpenAIClient.Files.FileListParams | undefined} query\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObjectsPage>}\n */\n async listFiles(props?: {\n query?: OpenAIClient.Files.FileListParams;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.list(props?.query, props?.options);\n }\n\n /**\n * Retrieve file\n * Returns information about a specific file.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<OpenAIClient.Files.FileObject>}\n */\n async retrieveFile({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n\n /**\n * Retrieve file content\n * Returns the contents of the specified file.\n *\n * @note You can't retrieve the contents of a file that was uploaded with the \"purpose\": \"assistants\" API.\n *\n * @link {https://platform.openai.com/docs/api-reference/files/retrieve-contents}\n * @param {string} fileId\n * @param {OpenAIClient.RequestOptions | undefined} options\n * @returns {Promise<string>}\n */\n async retrieveFileContent({\n fileId,\n options,\n }: {\n fileId: string;\n options?: OpenAIClient.RequestOptions;\n }) {\n return this.oaiClient.files.retrieve(fileId, options);\n }\n}\n"],"mappings":";;;;;AAQA,IAAa,cAAb,cAAiC,aAAa;CAC5C,eAAe,CAAC,aAAa,cAAc;CAE3C;CAEA,YAAY,QAA2B;EACrC,MAAM,MAAM;EACZ,KAAK,YAAY,QAAQ,UAAU,IAAI,aAAa,QAAQ,aAAa;CAC3E;;;;;;;;;;;;;CAcA,MAAM,WAAW,EACf,MACA,SACA,WAGC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO;GAAE;GAAM;EAAQ,GAAG,OAAO;CAC/D;;;;;;;;;CAUA,MAAM,WAAW,EACf,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,OAAO,QAAQ,OAAO;CACpD;;;;;;;;;;CAWA,MAAM,UAAU,OAGb;EACD,OAAO,KAAK,UAAU,MAAM,KAAK,OAAO,OAAO,OAAO,OAAO;CAC/D;;;;;;;;;;CAWA,MAAM,aAAa,EACjB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;;;;;;;;;;;;CAaA,MAAM,oBAAoB,EACxB,QACA,WAIC;EACD,OAAO,KAAK,UAAU,MAAM,SAAS,QAAQ,OAAO;CACtD;AACF"}
@@ -137,5 +137,6 @@ var PlanAndExecuteAgentExecutor = class PlanAndExecuteAgentExecutor extends requ
137
137
  };
138
138
  //#endregion
139
139
  exports.PlanAndExecuteAgentExecutor = PlanAndExecuteAgentExecutor;
140
+ exports.isDynamicStructuredTool = isDynamicStructuredTool;
140
141
 
141
142
  //# sourceMappingURL=agent_executor.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_executor.cjs","names":["BaseChain","ListStepContainer","LLMPlanner","LLMChain","getPlannerChatPrompt","PlanOutputParser","DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE","StructuredChatAgent","ChainStepExecutor","AgentExecutor","ChatAgent"],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { Tool, DynamicStructuredTool } from \"@langchain/core/tools\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\nimport {\n BasePlanner,\n BaseStepContainer,\n BaseStepExecutor,\n ListStepContainer,\n LLMPlanner,\n ChainStepExecutor,\n} from \"./base.js\";\nimport { AgentExecutor } from \"../../agents/executor.js\";\nimport {\n DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n getPlannerChatPrompt,\n} from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { PlanOutputParser } from \"./outputParser.js\";\nimport { ChatAgent } from \"../../agents/chat/index.js\";\nimport { StructuredChatAgent } from \"../../agents/index.js\";\nimport { SerializedLLMChain } from \"../../chains/serde.js\";\n\n/**\n * A utility function to distiguish a dynamicstructuredtool over other tools.\n * @param tool the tool to test\n * @returns bool\n */\nexport function isDynamicStructuredTool(\n tool: Tool | DynamicStructuredTool\n): tool is DynamicStructuredTool {\n // We check for the existence of the static lc_name method in the object's constructor\n return (\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (tool.constructor as any).lc_name === \"function\" &&\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (tool.constructor as any).lc_name() === \"DynamicStructuredTool\"\n );\n}\n\n/**\n * Interface for the input to the PlanAndExecuteAgentExecutor class. It\n * extends ChainInputs and includes additional properties for the planner,\n * step executor, step container, and input and output keys.\n */\nexport interface PlanAndExecuteAgentExecutorInput extends ChainInputs {\n planner: BasePlanner;\n stepExecutor: BaseStepExecutor;\n stepContainer?: BaseStepContainer;\n inputKey?: string;\n outputKey?: string;\n}\n\n/**\n * Class representing a plan-and-execute agent executor. This agent\n * decides on the full sequence of actions upfront, then executes them all\n * without updating the plan. This is suitable for complex or long-running\n * tasks that require maintaining long-term objectives and focus.\n */\nexport class PlanAndExecuteAgentExecutor extends BaseChain {\n static lc_name() {\n return \"PlanAndExecuteAgentExecutor\";\n }\n\n private planner: BasePlanner;\n\n private stepExecutor: BaseStepExecutor;\n\n private stepContainer: BaseStepContainer = new ListStepContainer();\n\n private inputKey = \"input\";\n\n private outputKey = \"output\";\n\n constructor(input: PlanAndExecuteAgentExecutorInput) {\n super(input);\n this.planner = input.planner;\n this.stepExecutor = input.stepExecutor;\n this.stepContainer = input.stepContainer ?? this.stepContainer;\n this.inputKey = input.inputKey ?? this.inputKey;\n this.outputKey = input.outputKey ?? this.outputKey;\n }\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n /**\n * Static method that returns a default planner for the agent. It creates\n * a new LLMChain with a given LLM and a fixed prompt, and uses it to\n * create a new LLMPlanner with a PlanOutputParser.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @returns A new LLMPlanner instance.\n */\n\n static async getDefaultPlanner({\n llm,\n tools,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n }) {\n const plannerLlmChain = new LLMChain({\n llm,\n prompt: await getPlannerChatPrompt(tools),\n });\n return new LLMPlanner(plannerLlmChain, new PlanOutputParser());\n }\n\n /**\n * Static method that returns a default step executor for the agent. It\n * creates a new ChatAgent from a given LLM and a set of tools, and uses\n * it to create a new ChainStepExecutor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new ChainStepExecutor instance.\n */\n static getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate = DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n }) {\n let agent;\n\n if (tools.length > 0 && isDynamicStructuredTool(tools[0])) {\n agent = StructuredChatAgent.fromLLMAndTools(llm, tools, {\n humanMessageTemplate,\n inputVariables: [\"previous_steps\", \"current_step\", \"agent_scratchpad\"],\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n agent = ChatAgent.fromLLMAndTools(llm, tools as Tool[], {\n humanMessageTemplate,\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n /**\n * Static method that creates a new PlanAndExecuteAgentExecutor from a\n * given LLM, a set of tools, and optionally a human message template. It\n * uses the getDefaultPlanner and getDefaultStepExecutor methods to create\n * the planner and step executor for the new agent executor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new PlanAndExecuteAgentExecutor instance.\n */\n static async fromLLMAndTools({\n llm,\n tools,\n humanMessageTemplate,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n } & Omit<PlanAndExecuteAgentExecutorInput, \"planner\" | \"stepExecutor\">) {\n const executor = new PlanAndExecuteAgentExecutor({\n planner: await PlanAndExecuteAgentExecutor.getDefaultPlanner({\n llm,\n tools,\n }),\n stepExecutor: PlanAndExecuteAgentExecutor.getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate,\n }),\n });\n return executor;\n }\n\n /** @ignore */\n async _call(\n inputs: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const plan = await this.planner.plan(inputs.input, runManager?.getChild());\n if (!plan.steps?.length) {\n throw new Error(\n \"Could not create and parse a plan to answer your question - please try again.\"\n );\n }\n plan.steps[plan.steps.length - 1].text +=\n ` The original question was: ${inputs.input}.`;\n for (const step of plan.steps) {\n const newInputs = {\n ...inputs,\n previous_steps: JSON.stringify(this.stepContainer.getSteps()),\n current_step: step.text,\n };\n const response = await this.stepExecutor.step(\n newInputs,\n runManager?.getChild()\n );\n this.stepContainer.addStep(step, response);\n }\n return { [this.outputKey]: this.stepContainer.getFinalResponse() };\n }\n\n _chainType() {\n return \"agent_executor\" as const;\n }\n\n serialize(): SerializedLLMChain {\n throw new Error(\"Cannot serialize an AgentExecutor\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6BA,SAAgB,wBACd,MAC+B;AAE/B,QAEE,OAAQ,KAAK,YAAoB,YAAY,cAE5C,KAAK,YAAoB,SAAS,KAAK;;;;;;;;AAuB5C,IAAa,8BAAb,MAAa,oCAAoCA,aAAAA,UAAU;CACzD,OAAO,UAAU;AACf,SAAO;;CAGT;CAEA;CAEA,gBAA2C,IAAIC,eAAAA,mBAAmB;CAElE,WAAmB;CAEnB,YAAoB;CAEpB,YAAY,OAAyC;AACnD,QAAM,MAAM;AACZ,OAAK,UAAU,MAAM;AACrB,OAAK,eAAe,MAAM;AAC1B,OAAK,gBAAgB,MAAM,iBAAiB,KAAK;AACjD,OAAK,WAAW,MAAM,YAAY,KAAK;AACvC,OAAK,YAAY,MAAM,aAAa,KAAK;;CAG3C,IAAI,YAAY;AACd,SAAO,CAAC,KAAK,SAAS;;CAGxB,IAAI,aAAa;AACf,SAAO,CAAC,KAAK,UAAU;;;;;;;;;CAWzB,aAAa,kBAAkB,EAC7B,KACA,SAIC;AAKD,SAAO,IAAIC,eAAAA,WAAW,IAJMC,kBAAAA,SAAS;GACnC;GACA,QAAQ,MAAMC,eAAAA,qBAAqB,MAAM;GAC1C,CACoC,EAAE,IAAIC,qBAAAA,kBAAkB,CAAC;;;;;;;;;;;CAYhE,OAAO,uBAAuB,EAC5B,KACA,OACA,uBAAuBC,eAAAA,qDAKtB;EACD,IAAI;AAEJ,MAAI,MAAM,SAAS,KAAK,wBAAwB,MAAM,GAAG,EAAE;AACzD,WAAQC,gBAAAA,oBAAoB,gBAAgB,KAAK,OAAO;IACtD;IACA,gBAAgB;KAAC;KAAkB;KAAgB;KAAmB;IACvE,CAAC;AACF,UAAO,IAAIC,eAAAA,kBACTC,iBAAAA,cAAc,kBAAkB;IAC9B;IACA;IACD,CAAC,CACH;;AAGH,UAAQC,cAAAA,UAAU,gBAAgB,KAAK,OAAiB,EACtD,sBACD,CAAC;AACF,SAAO,IAAIF,eAAAA,kBACTC,iBAAAA,cAAc,kBAAkB;GAC9B;GACA;GACD,CAAC,CACH;;;;;;;;;;;;CAaH,aAAa,gBAAgB,EAC3B,KACA,OACA,wBAKsE;AAYtE,SAAO,IAXc,4BAA4B;GAC/C,SAAS,MAAM,4BAA4B,kBAAkB;IAC3D;IACA;IACD,CAAC;GACF,cAAc,4BAA4B,uBAAuB;IAC/D;IACA;IACA;IACD,CAAC;GACH,CACc;;;CAIjB,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,OAAO,MAAM,KAAK,QAAQ,KAAK,OAAO,OAAO,YAAY,UAAU,CAAC;AAC1E,MAAI,CAAC,KAAK,OAAO,OACf,OAAM,IAAI,MACR,gFACD;AAEH,OAAK,MAAM,KAAK,MAAM,SAAS,GAAG,QAChC,+BAA+B,OAAO,MAAM;AAC9C,OAAK,MAAM,QAAQ,KAAK,OAAO;GAC7B,MAAM,YAAY;IAChB,GAAG;IACH,gBAAgB,KAAK,UAAU,KAAK,cAAc,UAAU,CAAC;IAC7D,cAAc,KAAK;IACpB;GACD,MAAM,WAAW,MAAM,KAAK,aAAa,KACvC,WACA,YAAY,UAAU,CACvB;AACD,QAAK,cAAc,QAAQ,MAAM,SAAS;;AAE5C,SAAO,GAAG,KAAK,YAAY,KAAK,cAAc,kBAAkB,EAAE;;CAGpE,aAAa;AACX,SAAO;;CAGT,YAAgC;AAC9B,QAAM,IAAI,MAAM,oCAAoC"}
1
+ {"version":3,"file":"agent_executor.cjs","names":["BaseChain","ListStepContainer","LLMPlanner","LLMChain","getPlannerChatPrompt","PlanOutputParser","DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE","StructuredChatAgent","ChainStepExecutor","AgentExecutor","ChatAgent"],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { Tool, DynamicStructuredTool } from \"@langchain/core/tools\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, ChainInputs } from \"../../chains/base.js\";\nimport {\n BasePlanner,\n BaseStepContainer,\n BaseStepExecutor,\n ListStepContainer,\n LLMPlanner,\n ChainStepExecutor,\n} from \"./base.js\";\nimport { AgentExecutor } from \"../../agents/executor.js\";\nimport {\n DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n getPlannerChatPrompt,\n} from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { PlanOutputParser } from \"./outputParser.js\";\nimport { ChatAgent } from \"../../agents/chat/index.js\";\nimport { StructuredChatAgent } from \"../../agents/index.js\";\nimport { SerializedLLMChain } from \"../../chains/serde.js\";\n\n/**\n * A utility function to distiguish a dynamicstructuredtool over other tools.\n * @param tool the tool to test\n * @returns bool\n */\nexport function isDynamicStructuredTool(\n tool: Tool | DynamicStructuredTool\n): tool is DynamicStructuredTool {\n // We check for the existence of the static lc_name method in the object's constructor\n return (\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (tool.constructor as any).lc_name === \"function\" &&\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n (tool.constructor as any).lc_name() === \"DynamicStructuredTool\"\n );\n}\n\n/**\n * Interface for the input to the PlanAndExecuteAgentExecutor class. It\n * extends ChainInputs and includes additional properties for the planner,\n * step executor, step container, and input and output keys.\n */\nexport interface PlanAndExecuteAgentExecutorInput extends ChainInputs {\n planner: BasePlanner;\n stepExecutor: BaseStepExecutor;\n stepContainer?: BaseStepContainer;\n inputKey?: string;\n outputKey?: string;\n}\n\n/**\n * Class representing a plan-and-execute agent executor. This agent\n * decides on the full sequence of actions upfront, then executes them all\n * without updating the plan. This is suitable for complex or long-running\n * tasks that require maintaining long-term objectives and focus.\n */\nexport class PlanAndExecuteAgentExecutor extends BaseChain {\n static lc_name() {\n return \"PlanAndExecuteAgentExecutor\";\n }\n\n private planner: BasePlanner;\n\n private stepExecutor: BaseStepExecutor;\n\n private stepContainer: BaseStepContainer = new ListStepContainer();\n\n private inputKey = \"input\";\n\n private outputKey = \"output\";\n\n constructor(input: PlanAndExecuteAgentExecutorInput) {\n super(input);\n this.planner = input.planner;\n this.stepExecutor = input.stepExecutor;\n this.stepContainer = input.stepContainer ?? this.stepContainer;\n this.inputKey = input.inputKey ?? this.inputKey;\n this.outputKey = input.outputKey ?? this.outputKey;\n }\n\n get inputKeys() {\n return [this.inputKey];\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n /**\n * Static method that returns a default planner for the agent. It creates\n * a new LLMChain with a given LLM and a fixed prompt, and uses it to\n * create a new LLMPlanner with a PlanOutputParser.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @returns A new LLMPlanner instance.\n */\n\n static async getDefaultPlanner({\n llm,\n tools,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n }) {\n const plannerLlmChain = new LLMChain({\n llm,\n prompt: await getPlannerChatPrompt(tools),\n });\n return new LLMPlanner(plannerLlmChain, new PlanOutputParser());\n }\n\n /**\n * Static method that returns a default step executor for the agent. It\n * creates a new ChatAgent from a given LLM and a set of tools, and uses\n * it to create a new ChainStepExecutor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new ChainStepExecutor instance.\n */\n static getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate = DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n }) {\n let agent;\n\n if (tools.length > 0 && isDynamicStructuredTool(tools[0])) {\n agent = StructuredChatAgent.fromLLMAndTools(llm, tools, {\n humanMessageTemplate,\n inputVariables: [\"previous_steps\", \"current_step\", \"agent_scratchpad\"],\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n agent = ChatAgent.fromLLMAndTools(llm, tools as Tool[], {\n humanMessageTemplate,\n });\n return new ChainStepExecutor(\n AgentExecutor.fromAgentAndTools({\n agent,\n tools,\n })\n );\n }\n\n /**\n * Static method that creates a new PlanAndExecuteAgentExecutor from a\n * given LLM, a set of tools, and optionally a human message template. It\n * uses the getDefaultPlanner and getDefaultStepExecutor methods to create\n * the planner and step executor for the new agent executor.\n * @param llm The Large Language Model (LLM) used to generate responses.\n * @param tools The set of tools used by the agent.\n * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.\n * @returns A new PlanAndExecuteAgentExecutor instance.\n */\n static async fromLLMAndTools({\n llm,\n tools,\n humanMessageTemplate,\n }: {\n llm: BaseLanguageModelInterface;\n tools: Tool[] | DynamicStructuredTool[];\n humanMessageTemplate?: string;\n } & Omit<PlanAndExecuteAgentExecutorInput, \"planner\" | \"stepExecutor\">) {\n const executor = new PlanAndExecuteAgentExecutor({\n planner: await PlanAndExecuteAgentExecutor.getDefaultPlanner({\n llm,\n tools,\n }),\n stepExecutor: PlanAndExecuteAgentExecutor.getDefaultStepExecutor({\n llm,\n tools,\n humanMessageTemplate,\n }),\n });\n return executor;\n }\n\n /** @ignore */\n async _call(\n inputs: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const plan = await this.planner.plan(inputs.input, runManager?.getChild());\n if (!plan.steps?.length) {\n throw new Error(\n \"Could not create and parse a plan to answer your question - please try again.\"\n );\n }\n plan.steps[plan.steps.length - 1].text +=\n ` The original question was: ${inputs.input}.`;\n for (const step of plan.steps) {\n const newInputs = {\n ...inputs,\n previous_steps: JSON.stringify(this.stepContainer.getSteps()),\n current_step: step.text,\n };\n const response = await this.stepExecutor.step(\n newInputs,\n runManager?.getChild()\n );\n this.stepContainer.addStep(step, response);\n }\n return { [this.outputKey]: this.stepContainer.getFinalResponse() };\n }\n\n _chainType() {\n return \"agent_executor\" as const;\n }\n\n serialize(): SerializedLLMChain {\n throw new Error(\"Cannot serialize an AgentExecutor\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6BA,SAAgB,wBACd,MAC+B;CAE/B,OAEE,OAAQ,KAAK,YAAoB,YAAY,cAE5C,KAAK,YAAoB,QAAQ,MAAM;AAE5C;;;;;;;AAqBA,IAAa,8BAAb,MAAa,oCAAoCA,aAAAA,UAAU;CACzD,OAAO,UAAU;EACf,OAAO;CACT;CAEA;CAEA;CAEA,gBAA2C,IAAIC,eAAAA,kBAAkB;CAEjE,WAAmB;CAEnB,YAAoB;CAEpB,YAAY,OAAyC;EACnD,MAAM,KAAK;EACX,KAAK,UAAU,MAAM;EACrB,KAAK,eAAe,MAAM;EAC1B,KAAK,gBAAgB,MAAM,iBAAiB,KAAK;EACjD,KAAK,WAAW,MAAM,YAAY,KAAK;EACvC,KAAK,YAAY,MAAM,aAAa,KAAK;CAC3C;CAEA,IAAI,YAAY;EACd,OAAO,CAAC,KAAK,QAAQ;CACvB;CAEA,IAAI,aAAa;EACf,OAAO,CAAC,KAAK,SAAS;CACxB;;;;;;;;CAUA,aAAa,kBAAkB,EAC7B,KACA,SAIC;EAKD,OAAO,IAAIC,eAAAA,WAAW,IAJMC,kBAAAA,SAAS;GACnC;GACA,QAAQ,MAAMC,eAAAA,qBAAqB,KAAK;EAC1C,CACoC,GAAG,IAAIC,qBAAAA,iBAAiB,CAAC;CAC/D;;;;;;;;;;CAWA,OAAO,uBAAuB,EAC5B,KACA,OACA,uBAAuBC,eAAAA,qDAKtB;EACD,IAAI;EAEJ,IAAI,MAAM,SAAS,KAAK,wBAAwB,MAAM,EAAE,GAAG;GACzD,QAAQC,gBAAAA,oBAAoB,gBAAgB,KAAK,OAAO;IACtD;IACA,gBAAgB;KAAC;KAAkB;KAAgB;IAAkB;GACvE,CAAC;GACD,OAAO,IAAIC,eAAAA,kBACTC,iBAAAA,cAAc,kBAAkB;IAC9B;IACA;GACF,CAAC,CACH;EACF;EAEA,QAAQC,cAAAA,UAAU,gBAAgB,KAAK,OAAiB,EACtD,qBACF,CAAC;EACD,OAAO,IAAIF,eAAAA,kBACTC,iBAAAA,cAAc,kBAAkB;GAC9B;GACA;EACF,CAAC,CACH;CACF;;;;;;;;;;;CAYA,aAAa,gBAAgB,EAC3B,KACA,OACA,wBAKsE;EAYtE,OAAO,IAXc,4BAA4B;GAC/C,SAAS,MAAM,4BAA4B,kBAAkB;IAC3D;IACA;GACF,CAAC;GACD,cAAc,4BAA4B,uBAAuB;IAC/D;IACA;IACA;GACF,CAAC;EACH,CACc;CAChB;;CAGA,MAAM,MACJ,QACA,YACsB;EACtB,MAAM,OAAO,MAAM,KAAK,QAAQ,KAAK,OAAO,OAAO,YAAY,SAAS,CAAC;EACzE,IAAI,CAAC,KAAK,OAAO,QACf,MAAM,IAAI,MACR,+EACF;EAEF,KAAK,MAAM,KAAK,MAAM,SAAS,EAAE,CAAC,QAChC,+BAA+B,OAAO,MAAM;EAC9C,KAAK,MAAM,QAAQ,KAAK,OAAO;GAC7B,MAAM,YAAY;IAChB,GAAG;IACH,gBAAgB,KAAK,UAAU,KAAK,cAAc,SAAS,CAAC;IAC5D,cAAc,KAAK;GACrB;GACA,MAAM,WAAW,MAAM,KAAK,aAAa,KACvC,WACA,YAAY,SAAS,CACvB;GACA,KAAK,cAAc,QAAQ,MAAM,QAAQ;EAC3C;EACA,OAAO,GAAG,KAAK,YAAY,KAAK,cAAc,iBAAiB,EAAE;CACnE;CAEA,aAAa;EACX,OAAO;CACT;CAEA,YAAgC;EAC9B,MAAM,IAAI,MAAM,mCAAmC;CACrD;AACF"}
@@ -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 { DynamicStructuredTool, Tool } from "@langchain/core/tools";
8
-
9
8
  //#region src/experimental/plan_and_execute/agent_executor.d.ts
10
9
  /**
11
10
  * Interface for the input to the PlanAndExecuteAgentExecutor class. It
@@ -42,10 +41,7 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
42
41
  * @param llm The Large Language Model (LLM) used to generate responses.
43
42
  * @returns A new LLMPlanner instance.
44
43
  */
45
- static getDefaultPlanner({
46
- llm,
47
- tools
48
- }: {
44
+ static getDefaultPlanner({ llm, tools }: {
49
45
  llm: BaseLanguageModelInterface;
50
46
  tools: Tool[] | DynamicStructuredTool[];
51
47
  }): Promise<LLMPlanner>;
@@ -58,11 +54,7 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
58
54
  * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.
59
55
  * @returns A new ChainStepExecutor instance.
60
56
  */
61
- static getDefaultStepExecutor({
62
- llm,
63
- tools,
64
- humanMessageTemplate
65
- }: {
57
+ static getDefaultStepExecutor({ llm, tools, humanMessageTemplate }: {
66
58
  llm: BaseLanguageModelInterface;
67
59
  tools: Tool[] | DynamicStructuredTool[];
68
60
  humanMessageTemplate?: string;
@@ -77,11 +69,7 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
77
69
  * @param humanMessageTemplate The template for human messages. If not provided, a default template is used.
78
70
  * @returns A new PlanAndExecuteAgentExecutor instance.
79
71
  */
80
- static fromLLMAndTools({
81
- llm,
82
- tools,
83
- humanMessageTemplate
84
- }: {
72
+ static fromLLMAndTools({ llm, tools, humanMessageTemplate }: {
85
73
  llm: BaseLanguageModelInterface;
86
74
  tools: Tool[] | DynamicStructuredTool[];
87
75
  humanMessageTemplate?: string;
@@ -92,5 +80,5 @@ declare class PlanAndExecuteAgentExecutor extends BaseChain {
92
80
  serialize(): SerializedLLMChain;
93
81
  }
94
82
  //#endregion
95
- export { PlanAndExecuteAgentExecutor };
83
+ export { PlanAndExecuteAgentExecutor, PlanAndExecuteAgentExecutorInput };
96
84
  //# sourceMappingURL=agent_executor.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_executor.d.cts","names":[],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"mappings":";;;;;;;;;;;;;;UA8CiB,gCAAA,SAAyC,WAAA;EACxD,OAAA,EAAS,WAAA;EACT,YAAA,EAAc,gBAAA;EACd,aAAA,GAAgB,iBAAA;EAChB,QAAA;EACA,SAAA;AAAA;;;;;AASF;;cAAa,2BAAA,SAAoC,SAAA;EAAA,OACxC,OAAA,CAAA;EAAA,QAIC,OAAA;EAAA,QAEA,YAAA;EAAA,QAEA,aAAA;EAAA,QAEA,QAAA;EAAA,QAEA,SAAA;EAER,WAAA,CAAY,KAAA,EAAO,gCAAA;EAAA,IASf,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAqCF;;;;;;;EAAA,OAzBW,iBAAA,CAAA;IACX,GAAA;IACA;EAAA;IAEA,GAAA,EAAK,0BAAA;IACL,KAAA,EAAO,IAAA,KAAS,qBAAA;EAAA,IACjB,OAAA,CAAA,UAAA;EAoEiB;;;;;;;;;EAAA,OAnDX,sBAAA,CAAA;IACL,GAAA;IACA,KAAA;IACA;EAAA;IAEA,GAAA,EAAK,0BAAA;IACL,KAAA,EAAO,IAAA,KAAS,qBAAA;IAChB,oBAAA;EAAA,IACD,iBAAA;EAtEM;;;;;;;;;;EAAA,OA2GM,eAAA,CAAA;IACX,GAAA;IACA,KAAA;IACA;EAAA;IAEA,GAAA,EAAK,0BAAA;IACL,KAAA,EAAO,IAAA,KAAS,qBAAA;IAChB,oBAAA;EAAA,IACE,IAAA,CAAK,gCAAA,gCAA6D,OAAA,CAAA,2BAAA;EA1EpE;EA0FI,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAwBX,UAAA,CAAA;EAIA,SAAA,CAAA,GAAa,kBAAA;AAAA"}
1
+ {"version":3,"file":"agent_executor.d.cts","names":[],"sources":["../../../src/experimental/plan_and_execute/agent_executor.ts"],"mappings":";;;;;;;;;;;;;UA8CiB,yCAAyC;EACxD,SAAS;EACT,cAAc;EACd,gBAAgB;EAChB;EACA;;;;;;;;cASW,oCAAoC;SACxC;UAIC;UAEA;UAEA;UAEA;UAEA;EAER,YAAY,OAAO;MASf;MAIA;;;;;;;;SAYS,oBACX,KACA;IAEA,KAAK;IACL,OAAO,SAAS;MACjB,QAAA;;;;;;;;;;SAiBM,yBACL,KACA,OACA;IAEA,KAAK;IACL,OAAO,SAAS;IAChB;MACD;;;;;;;;;;;SAqCY,kBACX,KACA,OACA;IAEA,KAAK;IACL,OAAO,SAAS;IAChB;MACE,KAAK,gEAA6D,QAAA;;EAgBhE,MACJ,QAAQ,aACR,aAAa,6BACZ,QAAQ;EAwBX;EAIA,aAAa"}