langchain 0.0.130 → 0.0.132

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 (831) hide show
  1. package/dist/agents/agent.cjs +23 -0
  2. package/dist/agents/agent.d.ts +28 -0
  3. package/dist/agents/agent.js +23 -0
  4. package/dist/agents/chat/index.cjs +28 -0
  5. package/dist/agents/chat/index.d.ts +33 -0
  6. package/dist/agents/chat/index.js +28 -0
  7. package/dist/agents/chat/outputParser.cjs +19 -0
  8. package/dist/agents/chat/outputParser.d.ts +19 -0
  9. package/dist/agents/chat/outputParser.js +19 -0
  10. package/dist/agents/chat_convo/index.cjs +25 -0
  11. package/dist/agents/chat_convo/index.d.ts +32 -0
  12. package/dist/agents/chat_convo/index.js +25 -0
  13. package/dist/agents/chat_convo/outputParser.cjs +42 -0
  14. package/dist/agents/chat_convo/outputParser.d.ts +42 -0
  15. package/dist/agents/chat_convo/outputParser.js +42 -0
  16. package/dist/agents/executor.cjs +9 -0
  17. package/dist/agents/executor.d.ts +12 -0
  18. package/dist/agents/executor.js +9 -0
  19. package/dist/agents/initialize.d.ts +5 -0
  20. package/dist/agents/mrkl/index.cjs +20 -0
  21. package/dist/agents/mrkl/index.d.ts +25 -0
  22. package/dist/agents/mrkl/index.js +20 -0
  23. package/dist/agents/mrkl/outputParser.cjs +15 -0
  24. package/dist/agents/mrkl/outputParser.d.ts +15 -0
  25. package/dist/agents/mrkl/outputParser.js +15 -0
  26. package/dist/agents/openai/index.cjs +46 -0
  27. package/dist/agents/openai/index.d.ts +40 -0
  28. package/dist/agents/openai/index.js +46 -0
  29. package/dist/agents/structured_chat/index.cjs +35 -0
  30. package/dist/agents/structured_chat/index.d.ts +41 -0
  31. package/dist/agents/structured_chat/index.js +35 -0
  32. package/dist/agents/structured_chat/outputParser.cjs +44 -0
  33. package/dist/agents/structured_chat/outputParser.d.ts +48 -0
  34. package/dist/agents/structured_chat/outputParser.js +44 -0
  35. package/dist/agents/toolkits/aws_sfn.cjs +5 -0
  36. package/dist/agents/toolkits/aws_sfn.d.ts +9 -0
  37. package/dist/agents/toolkits/aws_sfn.js +5 -0
  38. package/dist/agents/toolkits/base.cjs +5 -0
  39. package/dist/agents/toolkits/base.d.ts +5 -0
  40. package/dist/agents/toolkits/base.js +5 -0
  41. package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +10 -0
  42. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +10 -0
  43. package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +10 -0
  44. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +17 -0
  45. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +21 -0
  46. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js +17 -0
  47. package/dist/agents/toolkits/json/json.cjs +15 -0
  48. package/dist/agents/toolkits/json/json.d.ts +15 -0
  49. package/dist/agents/toolkits/json/json.js +15 -0
  50. package/dist/agents/toolkits/openapi/openapi.cjs +21 -0
  51. package/dist/agents/toolkits/openapi/openapi.d.ts +21 -0
  52. package/dist/agents/toolkits/openapi/openapi.js +21 -0
  53. package/dist/agents/toolkits/sql/sql.cjs +4 -0
  54. package/dist/agents/toolkits/sql/sql.d.ts +8 -0
  55. package/dist/agents/toolkits/sql/sql.js +4 -0
  56. package/dist/agents/toolkits/vectorstore/vectorstore.cjs +10 -0
  57. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +14 -0
  58. package/dist/agents/toolkits/vectorstore/vectorstore.js +10 -0
  59. package/dist/agents/toolkits/zapier/zapier.cjs +12 -0
  60. package/dist/agents/toolkits/zapier/zapier.d.ts +12 -0
  61. package/dist/agents/toolkits/zapier/zapier.js +12 -0
  62. package/dist/agents/types.cjs +5 -0
  63. package/dist/agents/types.d.ts +28 -0
  64. package/dist/agents/types.js +5 -0
  65. package/dist/cache/index.cjs +21 -0
  66. package/dist/cache/index.d.ts +21 -0
  67. package/dist/cache/index.js +21 -0
  68. package/dist/cache/ioredis.cjs +16 -0
  69. package/dist/cache/ioredis.d.ts +16 -0
  70. package/dist/cache/ioredis.js +16 -0
  71. package/dist/cache/redis.cjs +21 -0
  72. package/dist/cache/redis.d.ts +25 -0
  73. package/dist/cache/redis.js +21 -0
  74. package/dist/callbacks/base.cjs +29 -0
  75. package/dist/callbacks/base.d.ts +35 -0
  76. package/dist/callbacks/base.js +30 -1
  77. package/dist/callbacks/handlers/console.cjs +87 -0
  78. package/dist/callbacks/handlers/console.d.ts +87 -0
  79. package/dist/callbacks/handlers/console.js +87 -0
  80. package/dist/callbacks/handlers/initialize.cjs +12 -0
  81. package/dist/callbacks/handlers/initialize.d.ts +12 -0
  82. package/dist/callbacks/handlers/initialize.js +12 -0
  83. package/dist/callbacks/manager.cjs +9 -0
  84. package/dist/callbacks/manager.d.ts +9 -0
  85. package/dist/callbacks/manager.js +9 -0
  86. package/dist/callbacks/promises.cjs +9 -0
  87. package/dist/callbacks/promises.d.ts +4 -0
  88. package/dist/callbacks/promises.js +9 -0
  89. package/dist/chains/analyze_documents_chain.cjs +3 -0
  90. package/dist/chains/analyze_documents_chain.d.ts +5 -0
  91. package/dist/chains/analyze_documents_chain.js +3 -0
  92. package/dist/chains/api/api_chain.cjs +12 -0
  93. package/dist/chains/api/api_chain.d.ts +19 -0
  94. package/dist/chains/api/api_chain.js +12 -0
  95. package/dist/chains/base.cjs +6 -0
  96. package/dist/chains/base.d.ts +6 -0
  97. package/dist/chains/base.js +6 -0
  98. package/dist/chains/chat_vector_db_chain.cjs +8 -0
  99. package/dist/chains/chat_vector_db_chain.d.ts +11 -0
  100. package/dist/chains/chat_vector_db_chain.js +8 -0
  101. package/dist/chains/combine_docs_chain.cjs +9 -0
  102. package/dist/chains/combine_docs_chain.d.ts +13 -0
  103. package/dist/chains/combine_docs_chain.js +9 -0
  104. package/dist/chains/constitutional_ai/constitutional_chain.cjs +20 -0
  105. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +21 -0
  106. package/dist/chains/constitutional_ai/constitutional_chain.js +20 -0
  107. package/dist/chains/constitutional_ai/constitutional_principle.cjs +4 -0
  108. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +4 -0
  109. package/dist/chains/constitutional_ai/constitutional_principle.js +4 -0
  110. package/dist/chains/conversation.cjs +7 -0
  111. package/dist/chains/conversation.d.ts +5 -0
  112. package/dist/chains/conversation.js +7 -0
  113. package/dist/chains/conversational_retrieval_chain.cjs +24 -0
  114. package/dist/chains/conversational_retrieval_chain.d.ts +27 -1
  115. package/dist/chains/conversational_retrieval_chain.js +24 -0
  116. package/dist/chains/llm_chain.cjs +3 -0
  117. package/dist/chains/llm_chain.d.ts +4 -0
  118. package/dist/chains/llm_chain.js +3 -0
  119. package/dist/chains/openai_functions/extraction.cjs +21 -0
  120. package/dist/chains/openai_functions/extraction.d.ts +15 -0
  121. package/dist/chains/openai_functions/extraction.js +21 -0
  122. package/dist/chains/openai_functions/openapi.cjs +30 -0
  123. package/dist/chains/openai_functions/openapi.d.ts +3 -0
  124. package/dist/chains/openai_functions/openapi.js +30 -0
  125. package/dist/chains/openai_functions/structured_output.cjs +12 -0
  126. package/dist/chains/openai_functions/structured_output.d.ts +18 -0
  127. package/dist/chains/openai_functions/structured_output.js +12 -0
  128. package/dist/chains/openai_functions/tagging.cjs +24 -0
  129. package/dist/chains/openai_functions/tagging.d.ts +21 -0
  130. package/dist/chains/openai_functions/tagging.js +24 -0
  131. package/dist/chains/openai_moderation.cjs +8 -0
  132. package/dist/chains/openai_moderation.d.ts +9 -0
  133. package/dist/chains/openai_moderation.js +8 -0
  134. package/dist/chains/query_constructor/index.cjs +17 -0
  135. package/dist/chains/query_constructor/index.d.ts +20 -0
  136. package/dist/chains/query_constructor/index.js +17 -0
  137. package/dist/chains/query_constructor/ir.cjs +24 -0
  138. package/dist/chains/query_constructor/ir.d.ts +71 -0
  139. package/dist/chains/query_constructor/ir.js +24 -0
  140. package/dist/chains/query_constructor/parser.cjs +21 -0
  141. package/dist/chains/query_constructor/parser.d.ts +25 -0
  142. package/dist/chains/query_constructor/parser.js +21 -0
  143. package/dist/chains/question_answering/load.cjs +21 -0
  144. package/dist/chains/question_answering/load.d.ts +34 -0
  145. package/dist/chains/question_answering/load.js +21 -0
  146. package/dist/chains/retrieval_qa.cjs +15 -0
  147. package/dist/chains/retrieval_qa.d.ts +16 -0
  148. package/dist/chains/retrieval_qa.js +15 -0
  149. package/dist/chains/router/llm_router.cjs +16 -0
  150. package/dist/chains/router/llm_router.d.ts +24 -0
  151. package/dist/chains/router/llm_router.js +16 -0
  152. package/dist/chains/router/multi_prompt.cjs +19 -0
  153. package/dist/chains/router/multi_prompt.d.ts +19 -0
  154. package/dist/chains/router/multi_prompt.js +19 -0
  155. package/dist/chains/router/multi_retrieval_qa.cjs +22 -0
  156. package/dist/chains/router/multi_retrieval_qa.d.ts +27 -0
  157. package/dist/chains/router/multi_retrieval_qa.js +22 -0
  158. package/dist/chains/router/multi_route.cjs +13 -0
  159. package/dist/chains/router/multi_route.d.ts +26 -0
  160. package/dist/chains/router/multi_route.js +13 -0
  161. package/dist/chains/sequential_chain.cjs +6 -0
  162. package/dist/chains/sequential_chain.d.ts +8 -0
  163. package/dist/chains/sequential_chain.js +6 -0
  164. package/dist/chains/serde.d.ts +58 -0
  165. package/dist/chains/sql_db/sql_db_chain.cjs +16 -0
  166. package/dist/chains/sql_db/sql_db_chain.d.ts +19 -0
  167. package/dist/chains/sql_db/sql_db_chain.js +16 -0
  168. package/dist/chains/summarization/load.d.ts +4 -0
  169. package/dist/chains/transform.cjs +9 -0
  170. package/dist/chains/transform.d.ts +12 -0
  171. package/dist/chains/transform.js +9 -0
  172. package/dist/chains/vector_db_qa.cjs +18 -0
  173. package/dist/chains/vector_db_qa.d.ts +22 -0
  174. package/dist/chains/vector_db_qa.js +18 -0
  175. package/dist/chat_models/anthropic.cjs +27 -4
  176. package/dist/chat_models/anthropic.d.ts +15 -0
  177. package/dist/chat_models/anthropic.js +27 -4
  178. package/dist/chat_models/baiduwenxin.cjs +19 -13
  179. package/dist/chat_models/baiduwenxin.d.ts +19 -3
  180. package/dist/chat_models/baiduwenxin.js +19 -13
  181. package/dist/chat_models/base.cjs +61 -0
  182. package/dist/chat_models/base.d.ts +73 -0
  183. package/dist/chat_models/base.js +61 -0
  184. package/dist/chat_models/googlepalm.cjs +12 -0
  185. package/dist/chat_models/googlepalm.d.ts +8 -0
  186. package/dist/chat_models/googlepalm.js +12 -0
  187. package/dist/chat_models/googlevertexai.cjs +41 -0
  188. package/dist/chat_models/googlevertexai.d.ts +51 -0
  189. package/dist/chat_models/googlevertexai.js +41 -0
  190. package/dist/chat_models/ollama.cjs +14 -0
  191. package/dist/chat_models/ollama.d.ts +16 -0
  192. package/dist/chat_models/ollama.js +14 -0
  193. package/dist/chat_models/openai.cjs +19 -5
  194. package/dist/chat_models/openai.d.ts +7 -5
  195. package/dist/chat_models/openai.js +19 -5
  196. package/dist/document_loaders/base.cjs +10 -0
  197. package/dist/document_loaders/base.d.ts +17 -0
  198. package/dist/document_loaders/base.js +10 -0
  199. package/dist/document_loaders/fs/buffer.cjs +21 -0
  200. package/dist/document_loaders/fs/buffer.d.ts +28 -0
  201. package/dist/document_loaders/fs/buffer.js +21 -0
  202. package/dist/document_loaders/fs/csv.cjs +19 -0
  203. package/dist/document_loaders/fs/csv.d.ts +19 -0
  204. package/dist/document_loaders/fs/csv.js +19 -0
  205. package/dist/document_loaders/fs/directory.cjs +21 -0
  206. package/dist/document_loaders/fs/directory.d.ts +29 -0
  207. package/dist/document_loaders/fs/directory.js +21 -0
  208. package/dist/document_loaders/fs/docx.cjs +16 -0
  209. package/dist/document_loaders/fs/docx.d.ts +16 -0
  210. package/dist/document_loaders/fs/docx.js +16 -0
  211. package/dist/document_loaders/fs/epub.cjs +16 -0
  212. package/dist/document_loaders/fs/epub.d.ts +16 -0
  213. package/dist/document_loaders/fs/epub.js +16 -0
  214. package/dist/document_loaders/fs/json.cjs +40 -0
  215. package/dist/document_loaders/fs/json.d.ts +40 -0
  216. package/dist/document_loaders/fs/json.js +40 -0
  217. package/dist/document_loaders/fs/notion.cjs +6 -0
  218. package/dist/document_loaders/fs/notion.d.ts +6 -0
  219. package/dist/document_loaders/fs/notion.js +6 -0
  220. package/dist/document_loaders/fs/pdf.cjs +21 -0
  221. package/dist/document_loaders/fs/pdf.d.ts +21 -0
  222. package/dist/document_loaders/fs/pdf.js +21 -0
  223. package/dist/document_loaders/fs/srt.cjs +19 -0
  224. package/dist/document_loaders/fs/srt.d.ts +19 -0
  225. package/dist/document_loaders/fs/srt.js +19 -0
  226. package/dist/document_loaders/fs/text.cjs +34 -0
  227. package/dist/document_loaders/fs/text.d.ts +34 -0
  228. package/dist/document_loaders/fs/text.js +34 -0
  229. package/dist/document_loaders/fs/unstructured.cjs +14 -0
  230. package/dist/document_loaders/fs/unstructured.d.ts +26 -0
  231. package/dist/document_loaders/fs/unstructured.js +14 -0
  232. package/dist/document_loaders/web/apify_dataset.cjs +11 -0
  233. package/dist/document_loaders/web/apify_dataset.d.ts +15 -0
  234. package/dist/document_loaders/web/apify_dataset.js +11 -0
  235. package/dist/document_loaders/web/azure_blob_storage_container.cjs +13 -0
  236. package/dist/document_loaders/web/azure_blob_storage_container.d.ts +26 -0
  237. package/dist/document_loaders/web/azure_blob_storage_container.js +13 -0
  238. package/dist/document_loaders/web/azure_blob_storage_file.cjs +12 -0
  239. package/dist/document_loaders/web/azure_blob_storage_file.d.ts +21 -0
  240. package/dist/document_loaders/web/azure_blob_storage_file.js +12 -0
  241. package/dist/document_loaders/web/cheerio.cjs +21 -0
  242. package/dist/document_loaders/web/cheerio.d.ts +26 -0
  243. package/dist/document_loaders/web/cheerio.js +21 -0
  244. package/dist/document_loaders/web/college_confidential.cjs +11 -0
  245. package/dist/document_loaders/web/college_confidential.d.ts +11 -0
  246. package/dist/document_loaders/web/college_confidential.js +11 -0
  247. package/dist/document_loaders/web/confluence.cjs +23 -0
  248. package/dist/document_loaders/web/confluence.d.ts +33 -0
  249. package/dist/document_loaders/web/confluence.js +23 -0
  250. package/dist/document_loaders/web/figma.cjs +21 -0
  251. package/dist/document_loaders/web/figma.d.ts +32 -0
  252. package/dist/document_loaders/web/figma.js +21 -0
  253. package/dist/document_loaders/web/gitbook.cjs +33 -0
  254. package/dist/document_loaders/web/gitbook.d.ts +38 -0
  255. package/dist/document_loaders/web/gitbook.js +33 -0
  256. package/dist/document_loaders/web/github.cjs +50 -0
  257. package/dist/document_loaders/web/github.d.ts +53 -0
  258. package/dist/document_loaders/web/github.js +50 -0
  259. package/dist/document_loaders/web/hn.cjs +31 -0
  260. package/dist/document_loaders/web/hn.d.ts +31 -0
  261. package/dist/document_loaders/web/hn.js +31 -0
  262. package/dist/document_loaders/web/imsdb.cjs +14 -0
  263. package/dist/document_loaders/web/imsdb.d.ts +14 -0
  264. package/dist/document_loaders/web/imsdb.js +14 -0
  265. package/dist/document_loaders/web/notionapi.cjs +39 -0
  266. package/dist/document_loaders/web/notionapi.d.ts +43 -0
  267. package/dist/document_loaders/web/notionapi.js +39 -0
  268. package/dist/document_loaders/web/notiondb.cjs +19 -0
  269. package/dist/document_loaders/web/notiondb.d.ts +24 -0
  270. package/dist/document_loaders/web/notiondb.js +19 -0
  271. package/dist/document_loaders/web/playwright.cjs +22 -0
  272. package/dist/document_loaders/web/playwright.d.ts +27 -0
  273. package/dist/document_loaders/web/playwright.js +22 -0
  274. package/dist/document_loaders/web/puppeteer.cjs +20 -0
  275. package/dist/document_loaders/web/puppeteer.d.ts +25 -0
  276. package/dist/document_loaders/web/puppeteer.js +20 -0
  277. package/dist/document_loaders/web/s3.cjs +9 -0
  278. package/dist/document_loaders/web/s3.d.ts +21 -0
  279. package/dist/document_loaders/web/s3.js +9 -0
  280. package/dist/document_loaders/web/serpapi.cjs +4 -0
  281. package/dist/document_loaders/web/serpapi.d.ts +8 -0
  282. package/dist/document_loaders/web/serpapi.js +4 -0
  283. package/dist/document_loaders/web/sonix_audio.cjs +10 -0
  284. package/dist/document_loaders/web/sonix_audio.d.ts +10 -0
  285. package/dist/document_loaders/web/sonix_audio.js +10 -0
  286. package/dist/document_loaders/web/sort_xyz_blockchain.cjs +10 -0
  287. package/dist/document_loaders/web/sort_xyz_blockchain.d.ts +17 -0
  288. package/dist/document_loaders/web/sort_xyz_blockchain.js +10 -0
  289. package/dist/document_loaders/web/youtube.cjs +23 -0
  290. package/dist/document_loaders/web/youtube.d.ts +27 -0
  291. package/dist/document_loaders/web/youtube.js +23 -0
  292. package/dist/document_transformers/html_to_text.cjs +6 -0
  293. package/dist/document_transformers/html_to_text.d.ts +4 -0
  294. package/dist/document_transformers/html_to_text.js +6 -0
  295. package/dist/document_transformers/mozilla_readability.cjs +7 -0
  296. package/dist/document_transformers/mozilla_readability.d.ts +5 -0
  297. package/dist/document_transformers/mozilla_readability.js +7 -0
  298. package/dist/document_transformers/openai_functions.cjs +6 -0
  299. package/dist/document_transformers/openai_functions.d.ts +4 -0
  300. package/dist/document_transformers/openai_functions.js +6 -0
  301. package/dist/embeddings/base.cjs +4 -0
  302. package/dist/embeddings/base.d.ts +21 -0
  303. package/dist/embeddings/base.js +4 -0
  304. package/dist/embeddings/cache_backed.d.ts +4 -0
  305. package/dist/embeddings/cohere.d.ts +4 -0
  306. package/dist/embeddings/fake.cjs +33 -0
  307. package/dist/embeddings/fake.d.ts +37 -0
  308. package/dist/embeddings/fake.js +33 -0
  309. package/dist/embeddings/googlepalm.cjs +18 -0
  310. package/dist/embeddings/googlepalm.d.ts +22 -0
  311. package/dist/embeddings/googlepalm.js +18 -0
  312. package/dist/embeddings/googlevertexai.cjs +15 -0
  313. package/dist/embeddings/googlevertexai.d.ts +20 -0
  314. package/dist/embeddings/googlevertexai.js +15 -0
  315. package/dist/embeddings/hf.cjs +20 -0
  316. package/dist/embeddings/hf.d.ts +24 -0
  317. package/dist/embeddings/hf.js +20 -0
  318. package/dist/embeddings/openai.cjs +25 -0
  319. package/dist/embeddings/openai.d.ts +29 -0
  320. package/dist/embeddings/openai.js +25 -0
  321. package/dist/embeddings/tensorflow.cjs +27 -0
  322. package/dist/embeddings/tensorflow.d.ts +31 -0
  323. package/dist/embeddings/tensorflow.js +27 -0
  324. package/dist/evaluation/qa/eval_chain.cjs +3 -0
  325. package/dist/evaluation/qa/eval_chain.d.ts +1 -0
  326. package/dist/evaluation/qa/eval_chain.js +3 -0
  327. package/dist/experimental/autogpt/agent.cjs +21 -0
  328. package/dist/experimental/autogpt/agent.d.ts +24 -0
  329. package/dist/experimental/autogpt/agent.js +21 -0
  330. package/dist/experimental/autogpt/output_parser.cjs +24 -0
  331. package/dist/experimental/autogpt/output_parser.d.ts +24 -0
  332. package/dist/experimental/autogpt/output_parser.js +24 -0
  333. package/dist/experimental/autogpt/prompt.cjs +25 -0
  334. package/dist/experimental/autogpt/prompt.d.ts +28 -0
  335. package/dist/experimental/autogpt/prompt.js +25 -0
  336. package/dist/experimental/autogpt/prompt_generator.cjs +32 -0
  337. package/dist/experimental/autogpt/prompt_generator.d.ts +32 -0
  338. package/dist/experimental/autogpt/prompt_generator.js +32 -0
  339. package/dist/experimental/autogpt/schema.d.ts +11 -0
  340. package/dist/experimental/babyagi/agent.cjs +68 -0
  341. package/dist/experimental/babyagi/agent.d.ts +76 -0
  342. package/dist/experimental/babyagi/agent.js +68 -0
  343. package/dist/experimental/babyagi/task_creation.cjs +13 -0
  344. package/dist/experimental/babyagi/task_creation.d.ts +11 -0
  345. package/dist/experimental/babyagi/task_creation.js +13 -0
  346. package/dist/experimental/babyagi/task_execution.cjs +12 -0
  347. package/dist/experimental/babyagi/task_execution.d.ts +10 -0
  348. package/dist/experimental/babyagi/task_execution.js +12 -0
  349. package/dist/experimental/babyagi/task_prioritization.cjs +11 -0
  350. package/dist/experimental/babyagi/task_prioritization.d.ts +9 -0
  351. package/dist/experimental/babyagi/task_prioritization.js +11 -0
  352. package/dist/experimental/generative_agents/generative_agent.cjs +77 -0
  353. package/dist/experimental/generative_agents/generative_agent.d.ts +80 -0
  354. package/dist/experimental/generative_agents/generative_agent.js +77 -0
  355. package/dist/experimental/generative_agents/generative_agent_memory.cjs +116 -0
  356. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +114 -0
  357. package/dist/experimental/generative_agents/generative_agent_memory.js +116 -0
  358. package/dist/experimental/multimodal_embeddings/googlevertexai.cjs +46 -0
  359. package/dist/experimental/multimodal_embeddings/googlevertexai.d.ts +58 -0
  360. package/dist/experimental/multimodal_embeddings/googlevertexai.js +46 -0
  361. package/dist/experimental/plan_and_execute/agent_executor.cjs +35 -0
  362. package/dist/experimental/plan_and_execute/agent_executor.d.ts +38 -0
  363. package/dist/experimental/plan_and_execute/agent_executor.js +35 -0
  364. package/dist/experimental/plan_and_execute/base.cjs +26 -0
  365. package/dist/experimental/plan_and_execute/base.d.ts +38 -0
  366. package/dist/experimental/plan_and_execute/base.js +26 -0
  367. package/dist/experimental/plan_and_execute/outputParser.cjs +18 -0
  368. package/dist/experimental/plan_and_execute/outputParser.d.ts +18 -0
  369. package/dist/experimental/plan_and_execute/outputParser.js +18 -0
  370. package/dist/llms/ai21.cjs +13 -0
  371. package/dist/llms/ai21.d.ts +19 -0
  372. package/dist/llms/ai21.js +13 -0
  373. package/dist/llms/aleph_alpha.cjs +10 -0
  374. package/dist/llms/aleph_alpha.d.ts +13 -0
  375. package/dist/llms/aleph_alpha.js +10 -0
  376. package/dist/llms/base.cjs +32 -0
  377. package/dist/llms/base.d.ts +32 -0
  378. package/dist/llms/base.js +32 -0
  379. package/dist/llms/bedrock.cjs +21 -0
  380. package/dist/llms/bedrock.d.ts +9 -0
  381. package/dist/llms/bedrock.js +21 -0
  382. package/dist/llms/cohere.cjs +7 -0
  383. package/dist/llms/cohere.d.ts +8 -0
  384. package/dist/llms/cohere.js +7 -0
  385. package/dist/llms/googlevertexai.cjs +23 -0
  386. package/dist/llms/googlevertexai.d.ts +38 -0
  387. package/dist/llms/googlevertexai.js +23 -0
  388. package/dist/llms/hf.cjs +4 -0
  389. package/dist/llms/hf.d.ts +8 -0
  390. package/dist/llms/hf.js +4 -0
  391. package/dist/llms/ollama.cjs +7 -0
  392. package/dist/llms/ollama.d.ts +5 -0
  393. package/dist/llms/ollama.js +7 -0
  394. package/dist/llms/openai-chat.cjs +35 -4
  395. package/dist/llms/openai-chat.d.ts +28 -4
  396. package/dist/llms/openai-chat.js +35 -4
  397. package/dist/llms/openai.cjs +26 -6
  398. package/dist/llms/openai.d.ts +11 -3
  399. package/dist/llms/openai.js +26 -6
  400. package/dist/llms/replicate.cjs +9 -0
  401. package/dist/llms/replicate.d.ts +12 -0
  402. package/dist/llms/replicate.js +9 -0
  403. package/dist/llms/sagemaker_endpoint.cjs +11 -0
  404. package/dist/llms/sagemaker_endpoint.d.ts +17 -0
  405. package/dist/llms/sagemaker_endpoint.js +11 -0
  406. package/dist/load/index.cjs +7 -1
  407. package/dist/load/index.js +7 -1
  408. package/dist/load/serializable.cjs +42 -3
  409. package/dist/load/serializable.d.ts +16 -0
  410. package/dist/load/serializable.js +40 -2
  411. package/dist/memory/base.cjs +11 -0
  412. package/dist/memory/base.d.ts +40 -0
  413. package/dist/memory/base.js +11 -0
  414. package/dist/memory/buffer_memory.cjs +19 -0
  415. package/dist/memory/buffer_memory.d.ts +22 -0
  416. package/dist/memory/buffer_memory.js +19 -0
  417. package/dist/memory/buffer_window_memory.cjs +15 -0
  418. package/dist/memory/buffer_window_memory.d.ts +18 -0
  419. package/dist/memory/buffer_window_memory.js +15 -0
  420. package/dist/memory/chat_memory.cjs +16 -0
  421. package/dist/memory/chat_memory.d.ts +19 -0
  422. package/dist/memory/chat_memory.js +16 -0
  423. package/dist/memory/combined_memory.cjs +28 -0
  424. package/dist/memory/combined_memory.d.ts +33 -0
  425. package/dist/memory/combined_memory.js +28 -0
  426. package/dist/memory/entity_memory.cjs +21 -0
  427. package/dist/memory/entity_memory.d.ts +24 -0
  428. package/dist/memory/entity_memory.js +21 -0
  429. package/dist/memory/motorhead_memory.cjs +25 -0
  430. package/dist/memory/motorhead_memory.d.ts +29 -0
  431. package/dist/memory/motorhead_memory.js +25 -0
  432. package/dist/memory/stores/entity/in_memory.cjs +29 -0
  433. package/dist/memory/stores/entity/in_memory.d.ts +29 -0
  434. package/dist/memory/stores/entity/in_memory.js +29 -0
  435. package/dist/memory/summary.cjs +31 -0
  436. package/dist/memory/summary.d.ts +39 -0
  437. package/dist/memory/summary.js +31 -0
  438. package/dist/memory/summary_buffer.cjs +33 -0
  439. package/dist/memory/summary_buffer.d.ts +37 -0
  440. package/dist/memory/summary_buffer.js +33 -0
  441. package/dist/memory/vector_store.cjs +22 -0
  442. package/dist/memory/vector_store.d.ts +26 -0
  443. package/dist/memory/vector_store.js +22 -0
  444. package/dist/memory/zep.cjs +22 -0
  445. package/dist/memory/zep.d.ts +27 -0
  446. package/dist/memory/zep.js +22 -0
  447. package/dist/output_parsers/combining.cjs +15 -0
  448. package/dist/output_parsers/combining.d.ts +19 -0
  449. package/dist/output_parsers/combining.js +15 -0
  450. package/dist/output_parsers/expression.cjs +12 -0
  451. package/dist/output_parsers/expression.d.ts +12 -0
  452. package/dist/output_parsers/expression.js +12 -0
  453. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +18 -0
  454. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.d.ts +18 -0
  455. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +18 -0
  456. package/dist/output_parsers/expression_type_handlers/base.cjs +68 -0
  457. package/dist/output_parsers/expression_type_handlers/base.d.ts +79 -0
  458. package/dist/output_parsers/expression_type_handlers/base.js +68 -0
  459. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +18 -0
  460. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.d.ts +18 -0
  461. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +18 -0
  462. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +22 -0
  463. package/dist/output_parsers/expression_type_handlers/call_expression_handler.d.ts +22 -0
  464. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +22 -0
  465. package/dist/output_parsers/expression_type_handlers/factory.cjs +20 -0
  466. package/dist/output_parsers/expression_type_handlers/factory.d.ts +20 -0
  467. package/dist/output_parsers/expression_type_handlers/factory.js +20 -0
  468. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +19 -0
  469. package/dist/output_parsers/expression_type_handlers/identifier_handler.d.ts +19 -0
  470. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +19 -0
  471. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +17 -0
  472. package/dist/output_parsers/expression_type_handlers/member_expression_handler.d.ts +17 -0
  473. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +17 -0
  474. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +16 -0
  475. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.d.ts +16 -0
  476. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +16 -0
  477. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +16 -0
  478. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.d.ts +16 -0
  479. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +16 -0
  480. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +17 -0
  481. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.d.ts +17 -0
  482. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +17 -0
  483. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +16 -0
  484. package/dist/output_parsers/expression_type_handlers/string_literal_handler.d.ts +16 -0
  485. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +16 -0
  486. package/dist/output_parsers/expression_type_handlers/types.d.ts +50 -0
  487. package/dist/output_parsers/fix.cjs +28 -0
  488. package/dist/output_parsers/fix.d.ts +26 -0
  489. package/dist/output_parsers/fix.js +28 -0
  490. package/dist/output_parsers/list.cjs +27 -0
  491. package/dist/output_parsers/list.d.ts +25 -0
  492. package/dist/output_parsers/list.js +27 -0
  493. package/dist/output_parsers/noop.cjs +21 -0
  494. package/dist/output_parsers/noop.d.ts +19 -0
  495. package/dist/output_parsers/noop.js +21 -0
  496. package/dist/output_parsers/openai_functions.cjs +40 -0
  497. package/dist/output_parsers/openai_functions.d.ts +37 -0
  498. package/dist/output_parsers/openai_functions.js +40 -0
  499. package/dist/output_parsers/regex.cjs +15 -0
  500. package/dist/output_parsers/regex.d.ts +16 -0
  501. package/dist/output_parsers/regex.js +15 -0
  502. package/dist/output_parsers/router.cjs +15 -0
  503. package/dist/output_parsers/router.d.ts +19 -0
  504. package/dist/output_parsers/router.js +15 -0
  505. package/dist/output_parsers/structured.cjs +36 -0
  506. package/dist/output_parsers/structured.d.ts +38 -0
  507. package/dist/output_parsers/structured.js +36 -0
  508. package/dist/prompts/base.cjs +26 -0
  509. package/dist/prompts/base.d.ts +36 -0
  510. package/dist/prompts/base.js +26 -0
  511. package/dist/prompts/chat.cjs +69 -0
  512. package/dist/prompts/chat.d.ts +76 -0
  513. package/dist/prompts/chat.js +69 -0
  514. package/dist/prompts/few_shot.cjs +5 -0
  515. package/dist/prompts/few_shot.d.ts +5 -0
  516. package/dist/prompts/few_shot.js +5 -0
  517. package/dist/prompts/pipeline.cjs +29 -0
  518. package/dist/prompts/pipeline.d.ts +35 -0
  519. package/dist/prompts/pipeline.js +29 -0
  520. package/dist/prompts/prompt.cjs +13 -0
  521. package/dist/prompts/prompt.d.ts +11 -0
  522. package/dist/prompts/prompt.js +13 -0
  523. package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +32 -0
  524. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +33 -0
  525. package/dist/prompts/selectors/LengthBasedExampleSelector.js +32 -0
  526. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +31 -0
  527. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +35 -0
  528. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +31 -0
  529. package/dist/prompts/selectors/conditional.cjs +30 -0
  530. package/dist/prompts/selectors/conditional.d.ts +37 -0
  531. package/dist/prompts/selectors/conditional.js +30 -0
  532. package/dist/prompts/serde.d.ts +24 -0
  533. package/dist/prompts/template.d.ts +17 -0
  534. package/dist/retrievers/amazon_kendra.cjs +65 -0
  535. package/dist/retrievers/amazon_kendra.d.ts +67 -0
  536. package/dist/retrievers/amazon_kendra.js +65 -0
  537. package/dist/retrievers/contextual_compression.cjs +8 -0
  538. package/dist/retrievers/contextual_compression.d.ts +11 -0
  539. package/dist/retrievers/contextual_compression.js +8 -0
  540. package/dist/retrievers/databerry.cjs +8 -0
  541. package/dist/retrievers/databerry.d.ts +10 -0
  542. package/dist/retrievers/databerry.js +8 -0
  543. package/dist/retrievers/document_compressors/chain_extract.cjs +18 -0
  544. package/dist/retrievers/document_compressors/chain_extract.d.ts +22 -0
  545. package/dist/retrievers/document_compressors/chain_extract.js +18 -0
  546. package/dist/retrievers/document_compressors/index.d.ts +9 -0
  547. package/dist/retrievers/hyde.cjs +12 -0
  548. package/dist/retrievers/hyde.d.ts +18 -0
  549. package/dist/retrievers/hyde.js +12 -0
  550. package/dist/retrievers/metal.cjs +10 -0
  551. package/dist/retrievers/metal.d.ts +13 -0
  552. package/dist/retrievers/metal.js +10 -0
  553. package/dist/retrievers/parent_document.cjs +20 -1
  554. package/dist/retrievers/parent_document.d.ts +16 -0
  555. package/dist/retrievers/parent_document.js +20 -1
  556. package/dist/retrievers/remote/base.cjs +4 -0
  557. package/dist/retrievers/remote/base.d.ts +28 -0
  558. package/dist/retrievers/remote/base.js +4 -0
  559. package/dist/retrievers/remote/chatgpt-plugin.cjs +17 -0
  560. package/dist/retrievers/remote/chatgpt-plugin.d.ts +21 -0
  561. package/dist/retrievers/remote/chatgpt-plugin.js +17 -0
  562. package/dist/retrievers/remote/remote-retriever.cjs +20 -0
  563. package/dist/retrievers/remote/remote-retriever.d.ts +20 -0
  564. package/dist/retrievers/remote/remote-retriever.js +20 -0
  565. package/dist/retrievers/self_query/base.cjs +28 -0
  566. package/dist/retrievers/self_query/base.d.ts +45 -0
  567. package/dist/retrievers/self_query/base.js +28 -0
  568. package/dist/retrievers/self_query/chroma.cjs +6 -0
  569. package/dist/retrievers/self_query/chroma.d.ts +6 -0
  570. package/dist/retrievers/self_query/chroma.js +6 -0
  571. package/dist/retrievers/self_query/functional.cjs +40 -0
  572. package/dist/retrievers/self_query/functional.d.ts +49 -0
  573. package/dist/retrievers/self_query/functional.js +40 -0
  574. package/dist/retrievers/self_query/index.cjs +17 -0
  575. package/dist/retrievers/self_query/index.d.ts +19 -0
  576. package/dist/retrievers/self_query/index.js +17 -0
  577. package/dist/retrievers/self_query/pinecone.cjs +7 -0
  578. package/dist/retrievers/self_query/pinecone.d.ts +7 -0
  579. package/dist/retrievers/self_query/pinecone.js +7 -0
  580. package/dist/retrievers/self_query/supabase.cjs +91 -7
  581. package/dist/retrievers/self_query/supabase.d.ts +69 -2
  582. package/dist/retrievers/self_query/supabase.js +92 -8
  583. package/dist/retrievers/self_query/supabase_utils.cjs +255 -0
  584. package/dist/retrievers/self_query/supabase_utils.d.ts +102 -0
  585. package/dist/retrievers/self_query/supabase_utils.js +250 -0
  586. package/dist/retrievers/self_query/utils.cjs +36 -3
  587. package/dist/retrievers/self_query/utils.d.ts +20 -0
  588. package/dist/retrievers/self_query/utils.js +32 -2
  589. package/dist/retrievers/self_query/weaviate.cjs +45 -14
  590. package/dist/retrievers/self_query/weaviate.d.ts +42 -0
  591. package/dist/retrievers/self_query/weaviate.js +43 -12
  592. package/dist/retrievers/supabase.cjs +33 -0
  593. package/dist/retrievers/supabase.d.ts +31 -0
  594. package/dist/retrievers/supabase.js +33 -0
  595. package/dist/retrievers/time_weighted.cjs +11 -0
  596. package/dist/retrievers/time_weighted.d.ts +13 -0
  597. package/dist/retrievers/time_weighted.js +11 -0
  598. package/dist/retrievers/vespa.cjs +21 -0
  599. package/dist/retrievers/vespa.d.ts +19 -0
  600. package/dist/retrievers/vespa.js +21 -0
  601. package/dist/retrievers/zep.cjs +7 -0
  602. package/dist/retrievers/zep.d.ts +9 -0
  603. package/dist/retrievers/zep.js +7 -0
  604. package/dist/schema/document.cjs +7 -0
  605. package/dist/schema/document.d.ts +7 -0
  606. package/dist/schema/document.js +7 -0
  607. package/dist/schema/index.cjs +100 -0
  608. package/dist/schema/index.d.ts +80 -0
  609. package/dist/schema/index.js +100 -0
  610. package/dist/schema/output_parser.cjs +49 -0
  611. package/dist/schema/output_parser.d.ts +53 -0
  612. package/dist/schema/output_parser.js +49 -0
  613. package/dist/schema/query_constructor.cjs +5 -0
  614. package/dist/schema/query_constructor.d.ts +5 -0
  615. package/dist/schema/query_constructor.js +5 -0
  616. package/dist/schema/retriever.cjs +18 -0
  617. package/dist/schema/retriever.d.ts +18 -0
  618. package/dist/schema/retriever.js +18 -0
  619. package/dist/schema/runnable.cjs +25 -7
  620. package/dist/schema/runnable.d.ts +6 -0
  621. package/dist/schema/runnable.js +25 -7
  622. package/dist/schema/storage.d.ts +20 -0
  623. package/dist/storage/encoder_backed.cjs +27 -0
  624. package/dist/storage/encoder_backed.d.ts +27 -0
  625. package/dist/storage/encoder_backed.js +27 -0
  626. package/dist/storage/in_memory.cjs +25 -0
  627. package/dist/storage/in_memory.d.ts +25 -0
  628. package/dist/storage/in_memory.js +25 -0
  629. package/dist/storage/ioredis.cjs +25 -0
  630. package/dist/storage/ioredis.d.ts +25 -0
  631. package/dist/storage/ioredis.js +25 -0
  632. package/dist/stores/doc/gcs.cjs +28 -0
  633. package/dist/stores/doc/gcs.d.ts +33 -0
  634. package/dist/stores/doc/gcs.js +28 -0
  635. package/dist/stores/doc/in_memory.cjs +27 -0
  636. package/dist/stores/doc/in_memory.d.ts +27 -0
  637. package/dist/stores/doc/in_memory.js +27 -0
  638. package/dist/stores/file/in_memory.cjs +20 -0
  639. package/dist/stores/file/in_memory.d.ts +20 -0
  640. package/dist/stores/file/in_memory.js +20 -0
  641. package/dist/stores/file/node.cjs +15 -0
  642. package/dist/stores/file/node.d.ts +15 -0
  643. package/dist/stores/file/node.js +15 -0
  644. package/dist/stores/message/dynamodb.cjs +17 -0
  645. package/dist/stores/message/dynamodb.d.ts +23 -0
  646. package/dist/stores/message/dynamodb.js +17 -0
  647. package/dist/stores/message/firestore.cjs +19 -0
  648. package/dist/stores/message/firestore.d.ts +24 -0
  649. package/dist/stores/message/firestore.js +19 -0
  650. package/dist/stores/message/in_memory.cjs +19 -0
  651. package/dist/stores/message/in_memory.d.ts +19 -0
  652. package/dist/stores/message/in_memory.js +19 -0
  653. package/dist/stores/message/ioredis.cjs +17 -0
  654. package/dist/stores/message/ioredis.d.ts +22 -0
  655. package/dist/stores/message/ioredis.js +17 -0
  656. package/dist/stores/message/momento.cjs +18 -0
  657. package/dist/stores/message/momento.d.ts +18 -0
  658. package/dist/stores/message/momento.js +18 -0
  659. package/dist/stores/message/planetscale.cjs +26 -0
  660. package/dist/stores/message/planetscale.d.ts +30 -0
  661. package/dist/stores/message/planetscale.js +26 -0
  662. package/dist/stores/message/redis.cjs +24 -0
  663. package/dist/stores/message/redis.d.ts +27 -0
  664. package/dist/stores/message/redis.js +24 -0
  665. package/dist/stores/message/upstash_redis.cjs +17 -0
  666. package/dist/stores/message/upstash_redis.d.ts +21 -0
  667. package/dist/stores/message/upstash_redis.js +17 -0
  668. package/dist/stores/message/utils.cjs +21 -0
  669. package/dist/stores/message/utils.d.ts +21 -0
  670. package/dist/stores/message/utils.js +21 -0
  671. package/dist/stores/message/xata.cjs +25 -0
  672. package/dist/stores/message/xata.d.ts +29 -0
  673. package/dist/stores/message/xata.js +25 -0
  674. package/dist/text_splitter.cjs +9 -0
  675. package/dist/text_splitter.d.ts +3 -0
  676. package/dist/text_splitter.js +9 -0
  677. package/dist/tools/IFTTTWebhook.cjs +9 -0
  678. package/dist/tools/IFTTTWebhook.d.ts +7 -0
  679. package/dist/tools/IFTTTWebhook.js +9 -0
  680. package/dist/tools/aiplugin.cjs +15 -0
  681. package/dist/tools/aiplugin.d.ts +17 -0
  682. package/dist/tools/aiplugin.js +15 -0
  683. package/dist/tools/aws_lambda.cjs +9 -0
  684. package/dist/tools/aws_lambda.d.ts +7 -0
  685. package/dist/tools/aws_lambda.js +9 -0
  686. package/dist/tools/aws_sfn.cjs +28 -0
  687. package/dist/tools/aws_sfn.d.ts +22 -0
  688. package/dist/tools/aws_sfn.js +28 -0
  689. package/dist/tools/base.cjs +22 -0
  690. package/dist/tools/base.d.ts +25 -0
  691. package/dist/tools/base.js +22 -0
  692. package/dist/tools/bingserpapi.cjs +13 -0
  693. package/dist/tools/bingserpapi.d.ts +11 -0
  694. package/dist/tools/bingserpapi.js +13 -0
  695. package/dist/tools/brave_search.cjs +9 -0
  696. package/dist/tools/brave_search.d.ts +11 -0
  697. package/dist/tools/brave_search.js +9 -0
  698. package/dist/tools/calculator.cjs +7 -0
  699. package/dist/tools/calculator.d.ts +5 -0
  700. package/dist/tools/calculator.js +7 -0
  701. package/dist/tools/chain.cjs +9 -0
  702. package/dist/tools/chain.d.ts +12 -0
  703. package/dist/tools/chain.js +9 -0
  704. package/dist/tools/convert_to_openai.cjs +6 -0
  705. package/dist/tools/convert_to_openai.d.ts +6 -0
  706. package/dist/tools/convert_to_openai.js +6 -0
  707. package/dist/tools/dadjokeapi.cjs +9 -0
  708. package/dist/tools/dadjokeapi.d.ts +7 -0
  709. package/dist/tools/dadjokeapi.js +9 -0
  710. package/dist/tools/dataforseo_api_search.cjs +3 -0
  711. package/dist/tools/dataforseo_api_search.d.ts +10 -0
  712. package/dist/tools/dataforseo_api_search.js +3 -0
  713. package/dist/tools/dynamic.cjs +12 -0
  714. package/dist/tools/dynamic.d.ts +14 -0
  715. package/dist/tools/dynamic.js +12 -0
  716. package/dist/tools/fs.cjs +14 -0
  717. package/dist/tools/fs.d.ts +16 -0
  718. package/dist/tools/fs.js +14 -0
  719. package/dist/tools/google_custom_search.cjs +8 -0
  720. package/dist/tools/google_custom_search.d.ts +9 -0
  721. package/dist/tools/google_custom_search.js +8 -0
  722. package/dist/tools/json.cjs +29 -1
  723. package/dist/tools/json.d.ts +24 -0
  724. package/dist/tools/json.js +29 -1
  725. package/dist/tools/requests.cjs +19 -2
  726. package/dist/tools/requests.d.ts +17 -0
  727. package/dist/tools/requests.js +19 -2
  728. package/dist/tools/searxng_search.cjs +10 -0
  729. package/dist/tools/searxng_search.d.ts +11 -0
  730. package/dist/tools/searxng_search.js +10 -0
  731. package/dist/tools/serpapi.cjs +10 -0
  732. package/dist/tools/serpapi.d.ts +8 -0
  733. package/dist/tools/serpapi.js +10 -0
  734. package/dist/tools/serper.cjs +8 -0
  735. package/dist/tools/serper.d.ts +10 -0
  736. package/dist/tools/serper.js +8 -0
  737. package/dist/tools/sql.cjs +37 -0
  738. package/dist/tools/sql.d.ts +36 -0
  739. package/dist/tools/sql.js +37 -0
  740. package/dist/tools/vectorstore.cjs +14 -0
  741. package/dist/tools/vectorstore.d.ts +15 -0
  742. package/dist/tools/vectorstore.js +14 -0
  743. package/dist/tools/webbrowser.cjs +9 -0
  744. package/dist/tools/webbrowser.d.ts +13 -0
  745. package/dist/tools/webbrowser.js +9 -0
  746. package/dist/tools/wikipedia_query_run.cjs +19 -0
  747. package/dist/tools/wikipedia_query_run.d.ts +25 -0
  748. package/dist/tools/wikipedia_query_run.js +19 -0
  749. package/dist/tools/zapier.cjs +15 -0
  750. package/dist/tools/zapier.d.ts +13 -0
  751. package/dist/tools/zapier.js +15 -0
  752. package/dist/vectorstores/analyticdb.cjs +76 -0
  753. package/dist/vectorstores/analyticdb.d.ts +80 -0
  754. package/dist/vectorstores/analyticdb.js +76 -0
  755. package/dist/vectorstores/base.cjs +16 -0
  756. package/dist/vectorstores/base.d.ts +27 -0
  757. package/dist/vectorstores/base.js +16 -0
  758. package/dist/vectorstores/chroma.cjs +73 -0
  759. package/dist/vectorstores/chroma.d.ts +84 -0
  760. package/dist/vectorstores/chroma.js +73 -0
  761. package/dist/vectorstores/elasticsearch.cjs +74 -0
  762. package/dist/vectorstores/elasticsearch.d.ts +90 -0
  763. package/dist/vectorstores/elasticsearch.js +74 -0
  764. package/dist/vectorstores/faiss.cjs +65 -0
  765. package/dist/vectorstores/faiss.d.ts +69 -0
  766. package/dist/vectorstores/faiss.js +65 -0
  767. package/dist/vectorstores/hnswlib.cjs +71 -0
  768. package/dist/vectorstores/hnswlib.d.ts +80 -0
  769. package/dist/vectorstores/hnswlib.js +71 -0
  770. package/dist/vectorstores/lancedb.cjs +38 -0
  771. package/dist/vectorstores/lancedb.d.ts +42 -0
  772. package/dist/vectorstores/lancedb.js +38 -0
  773. package/dist/vectorstores/memory.cjs +56 -0
  774. package/dist/vectorstores/memory.d.ts +66 -0
  775. package/dist/vectorstores/memory.js +56 -0
  776. package/dist/vectorstores/milvus.cjs +91 -7
  777. package/dist/vectorstores/milvus.d.ts +80 -1
  778. package/dist/vectorstores/milvus.js +91 -7
  779. package/dist/vectorstores/mongo.cjs +45 -0
  780. package/dist/vectorstores/mongo.d.ts +49 -0
  781. package/dist/vectorstores/mongo.js +45 -0
  782. package/dist/vectorstores/mongodb_atlas.cjs +48 -0
  783. package/dist/vectorstores/mongodb_atlas.d.ts +59 -0
  784. package/dist/vectorstores/mongodb_atlas.js +48 -0
  785. package/dist/vectorstores/myscale.cjs +66 -0
  786. package/dist/vectorstores/myscale.d.ts +80 -0
  787. package/dist/vectorstores/myscale.js +66 -0
  788. package/dist/vectorstores/opensearch.cjs +60 -0
  789. package/dist/vectorstores/opensearch.d.ts +74 -0
  790. package/dist/vectorstores/opensearch.js +60 -0
  791. package/dist/vectorstores/pinecone.cjs +54 -0
  792. package/dist/vectorstores/pinecone.d.ts +58 -0
  793. package/dist/vectorstores/pinecone.js +54 -0
  794. package/dist/vectorstores/prisma.cjs +66 -0
  795. package/dist/vectorstores/prisma.d.ts +66 -0
  796. package/dist/vectorstores/prisma.js +66 -0
  797. package/dist/vectorstores/qdrant.cjs +60 -0
  798. package/dist/vectorstores/qdrant.d.ts +66 -0
  799. package/dist/vectorstores/qdrant.js +60 -0
  800. package/dist/vectorstores/redis.cjs +62 -0
  801. package/dist/vectorstores/redis.d.ts +88 -0
  802. package/dist/vectorstores/redis.js +62 -0
  803. package/dist/vectorstores/singlestore.cjs +46 -0
  804. package/dist/vectorstores/singlestore.d.ts +46 -0
  805. package/dist/vectorstores/singlestore.js +46 -0
  806. package/dist/vectorstores/supabase.cjs +50 -0
  807. package/dist/vectorstores/supabase.d.ts +54 -2
  808. package/dist/vectorstores/supabase.js +50 -0
  809. package/dist/vectorstores/tigris.cjs +49 -0
  810. package/dist/vectorstores/tigris.d.ts +53 -0
  811. package/dist/vectorstores/tigris.js +49 -0
  812. package/dist/vectorstores/typeorm.cjs +71 -0
  813. package/dist/vectorstores/typeorm.d.ts +76 -0
  814. package/dist/vectorstores/typeorm.js +71 -0
  815. package/dist/vectorstores/typesense.cjs +5 -0
  816. package/dist/vectorstores/typesense.d.ts +5 -0
  817. package/dist/vectorstores/typesense.js +5 -0
  818. package/dist/vectorstores/usearch.cjs +50 -0
  819. package/dist/vectorstores/usearch.d.ts +55 -0
  820. package/dist/vectorstores/usearch.js +50 -0
  821. package/dist/vectorstores/vectara.cjs +104 -0
  822. package/dist/vectorstores/vectara.d.ts +72 -0
  823. package/dist/vectorstores/vectara.js +104 -0
  824. package/dist/vectorstores/weaviate.cjs +61 -0
  825. package/dist/vectorstores/weaviate.d.ts +70 -0
  826. package/dist/vectorstores/weaviate.js +61 -0
  827. package/dist/vectorstores/xata.cjs +36 -0
  828. package/dist/vectorstores/xata.d.ts +43 -0
  829. package/dist/vectorstores/xata.js +36 -0
  830. package/dist/vectorstores/zep.d.ts +11 -0
  831. package/package.json +2 -2
@@ -7,6 +7,12 @@ const prompt_js_1 = require("./prompt.cjs");
7
7
  const chat_js_1 = require("../../prompts/chat.cjs");
8
8
  const llm_chain_js_1 = require("../../chains/llm_chain.cjs");
9
9
  const output_parser_js_1 = require("../../schema/output_parser.cjs");
10
+ /**
11
+ * Parses the output message into a FunctionsAgentAction or AgentFinish
12
+ * object.
13
+ * @param message The BaseMessage to parse.
14
+ * @returns A FunctionsAgentAction or AgentFinish object.
15
+ */
10
16
  function parseOutput(message) {
11
17
  if (message.additional_kwargs.function_call) {
12
18
  // eslint-disable-next-line prefer-destructuring
@@ -30,6 +36,11 @@ function parseOutput(message) {
30
36
  return { returnValues: { output: message.content }, log: message.content };
31
37
  }
32
38
  }
39
+ /**
40
+ * Checks if the given action is a FunctionsAgentAction.
41
+ * @param action The action to check.
42
+ * @returns True if the action is a FunctionsAgentAction, false otherwise.
43
+ */
33
44
  function isFunctionsAgentAction(action) {
34
45
  return action.messageLog !== undefined;
35
46
  }
@@ -45,7 +56,15 @@ function _formatIntermediateSteps(intermediateSteps) {
45
56
  return intermediateSteps.flatMap(({ action, observation }) => _convertAgentStepToMessages(action, observation));
46
57
  }
47
58
  exports._formatIntermediateSteps = _formatIntermediateSteps;
59
+ /**
60
+ * Class representing an agent for the OpenAI chat model in LangChain. It
61
+ * extends the Agent class and provides additional functionality specific
62
+ * to the OpenAIAgent type.
63
+ */
48
64
  class OpenAIAgent extends agent_js_1.Agent {
65
+ static lc_name() {
66
+ return "OpenAIAgent";
67
+ }
49
68
  _agentType() {
50
69
  return "openai-functions";
51
70
  }
@@ -74,6 +93,13 @@ class OpenAIAgent extends agent_js_1.Agent {
74
93
  });
75
94
  this.tools = input.tools;
76
95
  }
96
+ /**
97
+ * Creates a prompt for the OpenAIAgent using the provided tools and
98
+ * fields.
99
+ * @param _tools The tools to be used in the prompt.
100
+ * @param fields Optional fields for creating the prompt.
101
+ * @returns A BasePromptTemplate object representing the created prompt.
102
+ */
77
103
  static createPrompt(_tools, fields) {
78
104
  const { prefix = prompt_js_1.PREFIX } = fields || {};
79
105
  return chat_js_1.ChatPromptTemplate.fromPromptMessages([
@@ -83,6 +109,13 @@ class OpenAIAgent extends agent_js_1.Agent {
83
109
  new chat_js_1.MessagesPlaceholder("agent_scratchpad"),
84
110
  ]);
85
111
  }
112
+ /**
113
+ * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.
114
+ * @param llm The BaseLanguageModel to use.
115
+ * @param tools The tools to be used by the agent.
116
+ * @param args Optional arguments for creating the agent.
117
+ * @returns An instance of OpenAIAgent.
118
+ */
86
119
  static fromLLMAndTools(llm, tools, args) {
87
120
  OpenAIAgent.validateTools(tools);
88
121
  if (llm._modelType() !== "base_chat_model" || llm._llmType() !== "openai") {
@@ -100,9 +133,22 @@ class OpenAIAgent extends agent_js_1.Agent {
100
133
  tools,
101
134
  });
102
135
  }
136
+ /**
137
+ * Constructs a scratch pad from a list of agent steps.
138
+ * @param steps The steps to include in the scratch pad.
139
+ * @returns A string or a list of BaseMessages representing the constructed scratch pad.
140
+ */
103
141
  async constructScratchPad(steps) {
104
142
  return _formatIntermediateSteps(steps);
105
143
  }
144
+ /**
145
+ * Plans the next action or finish state of the agent based on the
146
+ * provided steps, inputs, and optional callback manager.
147
+ * @param steps The steps to consider in planning.
148
+ * @param inputs The inputs to consider in planning.
149
+ * @param callbackManager Optional CallbackManager to use in planning.
150
+ * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.
151
+ */
106
152
  async plan(steps, inputs, callbackManager) {
107
153
  // Add scratchpad and stop to inputs
108
154
  const thoughts = await this.constructScratchPad(steps);
@@ -6,14 +6,27 @@ import { Agent, AgentArgs } from "../agent.js";
6
6
  import { AgentInput } from "../types.js";
7
7
  import { BaseLanguageModel } from "../../base_language/index.js";
8
8
  export declare function _formatIntermediateSteps(intermediateSteps: AgentStep[]): BaseMessage[];
9
+ /**
10
+ * Interface for the input data required to create an OpenAIAgent.
11
+ */
9
12
  export interface OpenAIAgentInput extends AgentInput {
10
13
  tools: StructuredTool[];
11
14
  }
15
+ /**
16
+ * Interface for the arguments required to create a prompt for an
17
+ * OpenAIAgent.
18
+ */
12
19
  export interface OpenAIAgentCreatePromptArgs {
13
20
  prefix?: string;
14
21
  systemMessage?: SystemMessage;
15
22
  }
23
+ /**
24
+ * Class representing an agent for the OpenAI chat model in LangChain. It
25
+ * extends the Agent class and provides additional functionality specific
26
+ * to the OpenAIAgent type.
27
+ */
16
28
  export declare class OpenAIAgent extends Agent {
29
+ static lc_name(): string;
17
30
  lc_namespace: string[];
18
31
  _agentType(): "openai-functions";
19
32
  observationPrefix(): string;
@@ -21,8 +34,35 @@ export declare class OpenAIAgent extends Agent {
21
34
  _stop(): string[];
22
35
  tools: StructuredTool[];
23
36
  constructor(input: Omit<OpenAIAgentInput, "outputParser">);
37
+ /**
38
+ * Creates a prompt for the OpenAIAgent using the provided tools and
39
+ * fields.
40
+ * @param _tools The tools to be used in the prompt.
41
+ * @param fields Optional fields for creating the prompt.
42
+ * @returns A BasePromptTemplate object representing the created prompt.
43
+ */
24
44
  static createPrompt(_tools: StructuredTool[], fields?: OpenAIAgentCreatePromptArgs): BasePromptTemplate;
45
+ /**
46
+ * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.
47
+ * @param llm The BaseLanguageModel to use.
48
+ * @param tools The tools to be used by the agent.
49
+ * @param args Optional arguments for creating the agent.
50
+ * @returns An instance of OpenAIAgent.
51
+ */
25
52
  static fromLLMAndTools(llm: BaseLanguageModel, tools: StructuredTool[], args?: OpenAIAgentCreatePromptArgs & Pick<AgentArgs, "callbacks">): OpenAIAgent;
53
+ /**
54
+ * Constructs a scratch pad from a list of agent steps.
55
+ * @param steps The steps to include in the scratch pad.
56
+ * @returns A string or a list of BaseMessages representing the constructed scratch pad.
57
+ */
26
58
  constructScratchPad(steps: AgentStep[]): Promise<string | BaseMessage[]>;
59
+ /**
60
+ * Plans the next action or finish state of the agent based on the
61
+ * provided steps, inputs, and optional callback manager.
62
+ * @param steps The steps to consider in planning.
63
+ * @param inputs The inputs to consider in planning.
64
+ * @param callbackManager Optional CallbackManager to use in planning.
65
+ * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.
66
+ */
27
67
  plan(steps: Array<AgentStep>, inputs: ChainValues, callbackManager?: CallbackManager): Promise<AgentAction | AgentFinish>;
28
68
  }
@@ -4,6 +4,12 @@ import { PREFIX } from "./prompt.js";
4
4
  import { ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, SystemMessagePromptTemplate, } from "../../prompts/chat.js";
5
5
  import { LLMChain } from "../../chains/llm_chain.js";
6
6
  import { OutputParserException } from "../../schema/output_parser.js";
7
+ /**
8
+ * Parses the output message into a FunctionsAgentAction or AgentFinish
9
+ * object.
10
+ * @param message The BaseMessage to parse.
11
+ * @returns A FunctionsAgentAction or AgentFinish object.
12
+ */
7
13
  function parseOutput(message) {
8
14
  if (message.additional_kwargs.function_call) {
9
15
  // eslint-disable-next-line prefer-destructuring
@@ -27,6 +33,11 @@ function parseOutput(message) {
27
33
  return { returnValues: { output: message.content }, log: message.content };
28
34
  }
29
35
  }
36
+ /**
37
+ * Checks if the given action is a FunctionsAgentAction.
38
+ * @param action The action to check.
39
+ * @returns True if the action is a FunctionsAgentAction, false otherwise.
40
+ */
30
41
  function isFunctionsAgentAction(action) {
31
42
  return action.messageLog !== undefined;
32
43
  }
@@ -41,7 +52,15 @@ function _convertAgentStepToMessages(action, observation) {
41
52
  export function _formatIntermediateSteps(intermediateSteps) {
42
53
  return intermediateSteps.flatMap(({ action, observation }) => _convertAgentStepToMessages(action, observation));
43
54
  }
55
+ /**
56
+ * Class representing an agent for the OpenAI chat model in LangChain. It
57
+ * extends the Agent class and provides additional functionality specific
58
+ * to the OpenAIAgent type.
59
+ */
44
60
  export class OpenAIAgent extends Agent {
61
+ static lc_name() {
62
+ return "OpenAIAgent";
63
+ }
45
64
  _agentType() {
46
65
  return "openai-functions";
47
66
  }
@@ -70,6 +89,13 @@ export class OpenAIAgent extends Agent {
70
89
  });
71
90
  this.tools = input.tools;
72
91
  }
92
+ /**
93
+ * Creates a prompt for the OpenAIAgent using the provided tools and
94
+ * fields.
95
+ * @param _tools The tools to be used in the prompt.
96
+ * @param fields Optional fields for creating the prompt.
97
+ * @returns A BasePromptTemplate object representing the created prompt.
98
+ */
73
99
  static createPrompt(_tools, fields) {
74
100
  const { prefix = PREFIX } = fields || {};
75
101
  return ChatPromptTemplate.fromPromptMessages([
@@ -79,6 +105,13 @@ export class OpenAIAgent extends Agent {
79
105
  new MessagesPlaceholder("agent_scratchpad"),
80
106
  ]);
81
107
  }
108
+ /**
109
+ * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.
110
+ * @param llm The BaseLanguageModel to use.
111
+ * @param tools The tools to be used by the agent.
112
+ * @param args Optional arguments for creating the agent.
113
+ * @returns An instance of OpenAIAgent.
114
+ */
82
115
  static fromLLMAndTools(llm, tools, args) {
83
116
  OpenAIAgent.validateTools(tools);
84
117
  if (llm._modelType() !== "base_chat_model" || llm._llmType() !== "openai") {
@@ -96,9 +129,22 @@ export class OpenAIAgent extends Agent {
96
129
  tools,
97
130
  });
98
131
  }
132
+ /**
133
+ * Constructs a scratch pad from a list of agent steps.
134
+ * @param steps The steps to include in the scratch pad.
135
+ * @returns A string or a list of BaseMessages representing the constructed scratch pad.
136
+ */
99
137
  async constructScratchPad(steps) {
100
138
  return _formatIntermediateSteps(steps);
101
139
  }
140
+ /**
141
+ * Plans the next action or finish state of the agent based on the
142
+ * provided steps, inputs, and optional callback manager.
143
+ * @param steps The steps to consider in planning.
144
+ * @param inputs The inputs to consider in planning.
145
+ * @param callbackManager Optional CallbackManager to use in planning.
146
+ * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.
147
+ */
102
148
  async plan(steps, inputs, callbackManager) {
103
149
  // Add scratchpad and stop to inputs
104
150
  const thoughts = await this.constructScratchPad(steps);
@@ -13,6 +13,9 @@ const prompt_js_2 = require("./prompt.cjs");
13
13
  * @augments Agent
14
14
  */
15
15
  class StructuredChatAgent extends agent_js_1.Agent {
16
+ static lc_name() {
17
+ return "StructuredChatAgent";
18
+ }
16
19
  constructor(input) {
17
20
  const outputParser = input?.outputParser ?? StructuredChatAgent.getDefaultOutputParser();
18
21
  super({ ...input, outputParser });
@@ -35,6 +38,11 @@ class StructuredChatAgent extends agent_js_1.Agent {
35
38
  _stop() {
36
39
  return ["Observation:"];
37
40
  }
41
+ /**
42
+ * Validates that all provided tools have a description. Throws an error
43
+ * if any tool lacks a description.
44
+ * @param tools Array of StructuredTool instances to validate.
45
+ */
38
46
  static validateTools(tools) {
39
47
  const descriptionlessTool = tools.find((tool) => !tool.description);
40
48
  if (descriptionlessTool) {
@@ -43,6 +51,12 @@ class StructuredChatAgent extends agent_js_1.Agent {
43
51
  throw new Error(msg);
44
52
  }
45
53
  }
54
+ /**
55
+ * Returns a default output parser for the StructuredChatAgent. If an LLM
56
+ * is provided, it creates an output parser with retry logic from the LLM.
57
+ * @param fields Optional fields to customize the output parser. Can include an LLM and a list of tool names.
58
+ * @returns An instance of StructuredChatOutputParserWithRetries.
59
+ */
46
60
  static getDefaultOutputParser(fields) {
47
61
  if (fields?.llm) {
48
62
  return outputParser_js_1.StructuredChatOutputParserWithRetries.fromLLM(fields.llm, {
@@ -53,6 +67,13 @@ class StructuredChatAgent extends agent_js_1.Agent {
53
67
  toolNames: fields?.toolNames,
54
68
  });
55
69
  }
70
+ /**
71
+ * Constructs the agent's scratchpad from a list of steps. If the agent's
72
+ * scratchpad is not empty, it prepends a message indicating that the
73
+ * agent has not seen any previous work.
74
+ * @param steps Array of AgentStep instances to construct the scratchpad from.
75
+ * @returns A Promise that resolves to a string representing the agent's scratchpad.
76
+ */
56
77
  async constructScratchPad(steps) {
57
78
  const agentScratchpad = await super.constructScratchPad(steps);
58
79
  if (agentScratchpad) {
@@ -60,6 +81,11 @@ class StructuredChatAgent extends agent_js_1.Agent {
60
81
  }
61
82
  return agentScratchpad;
62
83
  }
84
+ /**
85
+ * Creates a string representation of the schemas of the provided tools.
86
+ * @param tools Array of StructuredTool instances to create the schemas string from.
87
+ * @returns A string representing the schemas of the provided tools.
88
+ */
63
89
  static createToolSchemasString(tools) {
64
90
  return tools
65
91
  .map((tool) => `${tool.name}: ${tool.description}, args: ${JSON.stringify((0, zod_to_json_schema_1.zodToJsonSchema)(tool.schema).properties)}`)
@@ -96,6 +122,15 @@ class StructuredChatAgent extends agent_js_1.Agent {
96
122
  ];
97
123
  return chat_js_1.ChatPromptTemplate.fromPromptMessages(messages);
98
124
  }
125
+ /**
126
+ * Creates a StructuredChatAgent from an LLM and a list of tools.
127
+ * Validates the tools, creates a prompt, and sets up an LLM chain for the
128
+ * agent.
129
+ * @param llm BaseLanguageModel instance to create the agent from.
130
+ * @param tools Array of StructuredTool instances to create the agent from.
131
+ * @param args Optional arguments to customize the creation of the agent. Can include arguments for creating the prompt and AgentArgs.
132
+ * @returns A new instance of StructuredChatAgent.
133
+ */
99
134
  static fromLLMAndTools(llm, tools, args) {
100
135
  StructuredChatAgent.validateTools(tools);
101
136
  const prompt = StructuredChatAgent.createPrompt(tools, args);
@@ -6,6 +6,10 @@ import { Optional } from "../../types/type-utils.js";
6
6
  import { Agent, AgentArgs, OutputParserArgs } from "../agent.js";
7
7
  import { AgentInput } from "../types.js";
8
8
  import { StructuredChatOutputParserWithRetries } from "./outputParser.js";
9
+ /**
10
+ * Interface for arguments used to create a prompt for a
11
+ * StructuredChatAgent.
12
+ */
9
13
  export interface StructuredChatCreatePromptArgs {
10
14
  /** String to put after the list of tools. */
11
15
  suffix?: string;
@@ -16,23 +20,51 @@ export interface StructuredChatCreatePromptArgs {
16
20
  /** List of historical prompts from memory. */
17
21
  memoryPrompts?: BaseMessagePromptTemplate[];
18
22
  }
23
+ /**
24
+ * Type for input data for creating a StructuredChatAgent, with the
25
+ * 'outputParser' property made optional.
26
+ */
19
27
  export type StructuredChatAgentInput = Optional<AgentInput, "outputParser">;
20
28
  /**
21
29
  * Agent that interoperates with Structured Tools using React logic.
22
30
  * @augments Agent
23
31
  */
24
32
  export declare class StructuredChatAgent extends Agent {
33
+ static lc_name(): string;
25
34
  lc_namespace: string[];
26
35
  constructor(input: StructuredChatAgentInput);
27
36
  _agentType(): "structured-chat-zero-shot-react-description";
28
37
  observationPrefix(): string;
29
38
  llmPrefix(): string;
30
39
  _stop(): string[];
40
+ /**
41
+ * Validates that all provided tools have a description. Throws an error
42
+ * if any tool lacks a description.
43
+ * @param tools Array of StructuredTool instances to validate.
44
+ */
31
45
  static validateTools(tools: StructuredTool[]): void;
46
+ /**
47
+ * Returns a default output parser for the StructuredChatAgent. If an LLM
48
+ * is provided, it creates an output parser with retry logic from the LLM.
49
+ * @param fields Optional fields to customize the output parser. Can include an LLM and a list of tool names.
50
+ * @returns An instance of StructuredChatOutputParserWithRetries.
51
+ */
32
52
  static getDefaultOutputParser(fields?: OutputParserArgs & {
33
53
  toolNames: string[];
34
54
  }): StructuredChatOutputParserWithRetries;
55
+ /**
56
+ * Constructs the agent's scratchpad from a list of steps. If the agent's
57
+ * scratchpad is not empty, it prepends a message indicating that the
58
+ * agent has not seen any previous work.
59
+ * @param steps Array of AgentStep instances to construct the scratchpad from.
60
+ * @returns A Promise that resolves to a string representing the agent's scratchpad.
61
+ */
35
62
  constructScratchPad(steps: AgentStep[]): Promise<string>;
63
+ /**
64
+ * Creates a string representation of the schemas of the provided tools.
65
+ * @param tools Array of StructuredTool instances to create the schemas string from.
66
+ * @returns A string representing the schemas of the provided tools.
67
+ */
36
68
  static createToolSchemasString(tools: StructuredTool[]): string;
37
69
  /**
38
70
  * Create prompt in the style of the agent.
@@ -45,5 +77,14 @@ export declare class StructuredChatAgent extends Agent {
45
77
  * @param args.memoryPrompts List of historical prompts from memory.
46
78
  */
47
79
  static createPrompt(tools: StructuredTool[], args?: StructuredChatCreatePromptArgs): ChatPromptTemplate<any, any>;
80
+ /**
81
+ * Creates a StructuredChatAgent from an LLM and a list of tools.
82
+ * Validates the tools, creates a prompt, and sets up an LLM chain for the
83
+ * agent.
84
+ * @param llm BaseLanguageModel instance to create the agent from.
85
+ * @param tools Array of StructuredTool instances to create the agent from.
86
+ * @param args Optional arguments to customize the creation of the agent. Can include arguments for creating the prompt and AgentArgs.
87
+ * @returns A new instance of StructuredChatAgent.
88
+ */
48
89
  static fromLLMAndTools(llm: BaseLanguageModel, tools: StructuredTool[], args?: StructuredChatCreatePromptArgs & AgentArgs): StructuredChatAgent;
49
90
  }
@@ -10,6 +10,9 @@ import { FORMAT_INSTRUCTIONS, PREFIX, SUFFIX } from "./prompt.js";
10
10
  * @augments Agent
11
11
  */
12
12
  export class StructuredChatAgent extends Agent {
13
+ static lc_name() {
14
+ return "StructuredChatAgent";
15
+ }
13
16
  constructor(input) {
14
17
  const outputParser = input?.outputParser ?? StructuredChatAgent.getDefaultOutputParser();
15
18
  super({ ...input, outputParser });
@@ -32,6 +35,11 @@ export class StructuredChatAgent extends Agent {
32
35
  _stop() {
33
36
  return ["Observation:"];
34
37
  }
38
+ /**
39
+ * Validates that all provided tools have a description. Throws an error
40
+ * if any tool lacks a description.
41
+ * @param tools Array of StructuredTool instances to validate.
42
+ */
35
43
  static validateTools(tools) {
36
44
  const descriptionlessTool = tools.find((tool) => !tool.description);
37
45
  if (descriptionlessTool) {
@@ -40,6 +48,12 @@ export class StructuredChatAgent extends Agent {
40
48
  throw new Error(msg);
41
49
  }
42
50
  }
51
+ /**
52
+ * Returns a default output parser for the StructuredChatAgent. If an LLM
53
+ * is provided, it creates an output parser with retry logic from the LLM.
54
+ * @param fields Optional fields to customize the output parser. Can include an LLM and a list of tool names.
55
+ * @returns An instance of StructuredChatOutputParserWithRetries.
56
+ */
43
57
  static getDefaultOutputParser(fields) {
44
58
  if (fields?.llm) {
45
59
  return StructuredChatOutputParserWithRetries.fromLLM(fields.llm, {
@@ -50,6 +64,13 @@ export class StructuredChatAgent extends Agent {
50
64
  toolNames: fields?.toolNames,
51
65
  });
52
66
  }
67
+ /**
68
+ * Constructs the agent's scratchpad from a list of steps. If the agent's
69
+ * scratchpad is not empty, it prepends a message indicating that the
70
+ * agent has not seen any previous work.
71
+ * @param steps Array of AgentStep instances to construct the scratchpad from.
72
+ * @returns A Promise that resolves to a string representing the agent's scratchpad.
73
+ */
53
74
  async constructScratchPad(steps) {
54
75
  const agentScratchpad = await super.constructScratchPad(steps);
55
76
  if (agentScratchpad) {
@@ -57,6 +78,11 @@ export class StructuredChatAgent extends Agent {
57
78
  }
58
79
  return agentScratchpad;
59
80
  }
81
+ /**
82
+ * Creates a string representation of the schemas of the provided tools.
83
+ * @param tools Array of StructuredTool instances to create the schemas string from.
84
+ * @returns A string representing the schemas of the provided tools.
85
+ */
60
86
  static createToolSchemasString(tools) {
61
87
  return tools
62
88
  .map((tool) => `${tool.name}: ${tool.description}, args: ${JSON.stringify(zodToJsonSchema(tool.schema).properties)}`)
@@ -93,6 +119,15 @@ export class StructuredChatAgent extends Agent {
93
119
  ];
94
120
  return ChatPromptTemplate.fromPromptMessages(messages);
95
121
  }
122
+ /**
123
+ * Creates a StructuredChatAgent from an LLM and a list of tools.
124
+ * Validates the tools, creates a prompt, and sets up an LLM chain for the
125
+ * agent.
126
+ * @param llm BaseLanguageModel instance to create the agent from.
127
+ * @param tools Array of StructuredTool instances to create the agent from.
128
+ * @param args Optional arguments to customize the creation of the agent. Can include arguments for creating the prompt and AgentArgs.
129
+ * @returns A new instance of StructuredChatAgent.
130
+ */
96
131
  static fromLLMAndTools(llm, tools, args) {
97
132
  StructuredChatAgent.validateTools(tools);
98
133
  const prompt = StructuredChatAgent.createPrompt(tools, args);
@@ -6,6 +6,12 @@ const prompt_js_1 = require("./prompt.cjs");
6
6
  const fix_js_1 = require("../../output_parsers/fix.cjs");
7
7
  const output_parser_js_1 = require("../../schema/output_parser.cjs");
8
8
  const index_js_1 = require("../../prompts/index.cjs");
9
+ /**
10
+ * A class that provides a custom implementation for parsing the output of
11
+ * a StructuredChatAgent action. It extends the `AgentActionOutputParser`
12
+ * class and extracts the action and action input from the text output,
13
+ * returning an `AgentAction` or `AgentFinish` object.
14
+ */
9
15
  class StructuredChatOutputParser extends types_js_1.AgentActionOutputParser {
10
16
  constructor(fields) {
11
17
  super(...arguments);
@@ -23,6 +29,14 @@ class StructuredChatOutputParser extends types_js_1.AgentActionOutputParser {
23
29
  });
24
30
  this.toolNames = fields.toolNames;
25
31
  }
32
+ /**
33
+ * Parses the given text and returns an `AgentAction` or `AgentFinish`
34
+ * object. If an `OutputFixingParser` is provided, it is used for parsing;
35
+ * otherwise, the base parser is used.
36
+ * @param text The text to parse.
37
+ * @param callbacks Optional callbacks for asynchronous operations.
38
+ * @returns A Promise that resolves to an `AgentAction` or `AgentFinish` object.
39
+ */
26
40
  async parse(text) {
27
41
  try {
28
42
  const regex = /```(?:json)?(.*)(```)/gs;
@@ -41,6 +55,11 @@ class StructuredChatOutputParser extends types_js_1.AgentActionOutputParser {
41
55
  throw new output_parser_js_1.OutputParserException(`Failed to parse. Text: "${text}". Error: ${e}`);
42
56
  }
43
57
  }
58
+ /**
59
+ * Returns the format instructions for parsing the output of an agent
60
+ * action in the style of the StructuredChatAgent.
61
+ * @returns A string representing the format instructions.
62
+ */
44
63
  getFormatInstructions() {
45
64
  return (0, index_js_1.renderTemplate)(prompt_js_1.AGENT_ACTION_FORMAT_INSTRUCTIONS, "f-string", {
46
65
  tool_names: this.toolNames.join(", "),
@@ -48,6 +67,12 @@ class StructuredChatOutputParser extends types_js_1.AgentActionOutputParser {
48
67
  }
49
68
  }
50
69
  exports.StructuredChatOutputParser = StructuredChatOutputParser;
70
+ /**
71
+ * A class that provides a wrapper around the `StructuredChatOutputParser`
72
+ * and `OutputFixingParser` classes. It extends the
73
+ * `AgentActionOutputParser` class and allows for retrying the output
74
+ * parsing using the `OutputFixingParser` if it is provided.
75
+ */
51
76
  class StructuredChatOutputParserWithRetries extends types_js_1.AgentActionOutputParser {
52
77
  constructor(fields) {
53
78
  super(fields);
@@ -81,17 +106,36 @@ class StructuredChatOutputParserWithRetries extends types_js_1.AgentActionOutput
81
106
  new StructuredChatOutputParser({ toolNames: this.toolNames });
82
107
  this.outputFixingParser = fields?.outputFixingParser;
83
108
  }
109
+ /**
110
+ * Parses the given text and returns an `AgentAction` or `AgentFinish`
111
+ * object. Throws an `OutputParserException` if the parsing fails.
112
+ * @param text The text to parse.
113
+ * @returns A Promise that resolves to an `AgentAction` or `AgentFinish` object.
114
+ */
84
115
  async parse(text, callbacks) {
85
116
  if (this.outputFixingParser !== undefined) {
86
117
  return this.outputFixingParser.parse(text, callbacks);
87
118
  }
88
119
  return this.baseParser.parse(text);
89
120
  }
121
+ /**
122
+ * Returns the format instructions for parsing the output of an agent
123
+ * action in the style of the StructuredChatAgent.
124
+ * @returns A string representing the format instructions.
125
+ */
90
126
  getFormatInstructions() {
91
127
  return (0, index_js_1.renderTemplate)(prompt_js_1.FORMAT_INSTRUCTIONS, "f-string", {
92
128
  tool_names: this.toolNames.join(", "),
93
129
  });
94
130
  }
131
+ /**
132
+ * Creates a new `StructuredChatOutputParserWithRetries` instance from a
133
+ * `BaseLanguageModel` and options. The options can include a base parser
134
+ * and tool names.
135
+ * @param llm A `BaseLanguageModel` instance.
136
+ * @param options Options for creating a `StructuredChatOutputParserWithRetries` instance.
137
+ * @returns A new `StructuredChatOutputParserWithRetries` instance.
138
+ */
95
139
  static fromLLM(llm, options) {
96
140
  const baseParser = options.baseParser ??
97
141
  new StructuredChatOutputParser({ toolNames: options.toolNames ?? [] });
@@ -3,27 +3,75 @@ import { OutputFixingParser } from "../../output_parsers/fix.js";
3
3
  import { BaseLanguageModel } from "../../base_language/index.js";
4
4
  import { AgentAction, AgentFinish } from "../../schema/index.js";
5
5
  import { Callbacks } from "../../callbacks/manager.js";
6
+ /**
7
+ * A class that provides a custom implementation for parsing the output of
8
+ * a StructuredChatAgent action. It extends the `AgentActionOutputParser`
9
+ * class and extracts the action and action input from the text output,
10
+ * returning an `AgentAction` or `AgentFinish` object.
11
+ */
6
12
  export declare class StructuredChatOutputParser extends AgentActionOutputParser {
7
13
  lc_namespace: string[];
8
14
  private toolNames;
9
15
  constructor(fields: {
10
16
  toolNames: string[];
11
17
  });
18
+ /**
19
+ * Parses the given text and returns an `AgentAction` or `AgentFinish`
20
+ * object. If an `OutputFixingParser` is provided, it is used for parsing;
21
+ * otherwise, the base parser is used.
22
+ * @param text The text to parse.
23
+ * @param callbacks Optional callbacks for asynchronous operations.
24
+ * @returns A Promise that resolves to an `AgentAction` or `AgentFinish` object.
25
+ */
12
26
  parse(text: string): Promise<AgentAction | AgentFinish>;
27
+ /**
28
+ * Returns the format instructions for parsing the output of an agent
29
+ * action in the style of the StructuredChatAgent.
30
+ * @returns A string representing the format instructions.
31
+ */
13
32
  getFormatInstructions(): string;
14
33
  }
34
+ /**
35
+ * An interface for the arguments used to construct a
36
+ * `StructuredChatOutputParserWithRetries` instance.
37
+ */
15
38
  export interface StructuredChatOutputParserArgs {
16
39
  baseParser?: StructuredChatOutputParser;
17
40
  outputFixingParser?: OutputFixingParser<AgentAction | AgentFinish>;
18
41
  toolNames?: string[];
19
42
  }
43
+ /**
44
+ * A class that provides a wrapper around the `StructuredChatOutputParser`
45
+ * and `OutputFixingParser` classes. It extends the
46
+ * `AgentActionOutputParser` class and allows for retrying the output
47
+ * parsing using the `OutputFixingParser` if it is provided.
48
+ */
20
49
  export declare class StructuredChatOutputParserWithRetries extends AgentActionOutputParser {
21
50
  lc_namespace: string[];
22
51
  private baseParser;
23
52
  private outputFixingParser?;
24
53
  private toolNames;
25
54
  constructor(fields: StructuredChatOutputParserArgs);
55
+ /**
56
+ * Parses the given text and returns an `AgentAction` or `AgentFinish`
57
+ * object. Throws an `OutputParserException` if the parsing fails.
58
+ * @param text The text to parse.
59
+ * @returns A Promise that resolves to an `AgentAction` or `AgentFinish` object.
60
+ */
26
61
  parse(text: string, callbacks?: Callbacks): Promise<AgentAction | AgentFinish>;
62
+ /**
63
+ * Returns the format instructions for parsing the output of an agent
64
+ * action in the style of the StructuredChatAgent.
65
+ * @returns A string representing the format instructions.
66
+ */
27
67
  getFormatInstructions(): string;
68
+ /**
69
+ * Creates a new `StructuredChatOutputParserWithRetries` instance from a
70
+ * `BaseLanguageModel` and options. The options can include a base parser
71
+ * and tool names.
72
+ * @param llm A `BaseLanguageModel` instance.
73
+ * @param options Options for creating a `StructuredChatOutputParserWithRetries` instance.
74
+ * @returns A new `StructuredChatOutputParserWithRetries` instance.
75
+ */
28
76
  static fromLLM(llm: BaseLanguageModel, options: Omit<StructuredChatOutputParserArgs, "outputFixingParser">): StructuredChatOutputParserWithRetries;
29
77
  }