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
@@ -1,8 +1,17 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
1
+ /**
2
+ * Checks if the provided argument is an object and not an array.
3
+ */
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
5
  export function isObject(obj) {
3
6
  return obj && typeof obj === "object" && !Array.isArray(obj);
4
7
  }
5
- export function isFilterEmpty(filter) {
8
+ /**
9
+ * Checks if a provided filter is empty. The filter can be a function, an
10
+ * object, a string, or undefined.
11
+ */
12
+ export function isFilterEmpty(
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ filter) {
6
15
  if (!filter)
7
16
  return true;
8
17
  // for Milvus
@@ -14,3 +23,24 @@ export function isFilterEmpty(filter) {
14
23
  }
15
24
  return isObject(filter) && Object.keys(filter).length === 0;
16
25
  }
26
+ /**
27
+ * Checks if the provided value is an integer.
28
+ */
29
+ export function isInt(value) {
30
+ const numberValue = parseFloat(value);
31
+ return !Number.isNaN(numberValue) && numberValue % 1 === 0;
32
+ }
33
+ /**
34
+ * Checks if the provided value is a floating-point number.
35
+ */
36
+ export function isFloat(value) {
37
+ const numberValue = parseFloat(value);
38
+ return !Number.isNaN(numberValue) && numberValue % 1 !== 0;
39
+ }
40
+ /**
41
+ * Checks if the provided value is a string that cannot be parsed into a
42
+ * number.
43
+ */
44
+ export function isString(value) {
45
+ return typeof value === "string" && Number.isNaN(parseFloat(value));
46
+ }
@@ -4,17 +4,11 @@ exports.WeaviateTranslator = void 0;
4
4
  const ir_js_1 = require("../../chains/query_constructor/ir.cjs");
5
5
  const base_js_1 = require("./base.cjs");
6
6
  const utils_js_1 = require("./utils.cjs");
7
- function isInt(value) {
8
- const numberValue = parseFloat(value);
9
- return !Number.isNaN(numberValue) && numberValue % 1 === 0;
10
- }
11
- function isFloat(value) {
12
- const numberValue = parseFloat(value);
13
- return !Number.isNaN(numberValue) && numberValue % 1 !== 0;
14
- }
15
- function isString(value) {
16
- return typeof value === "string" && Number.isNaN(parseFloat(value));
17
- }
7
+ /**
8
+ * A class that translates or converts data into a format that can be used
9
+ * with Weaviate, a vector search engine. It extends the `BaseTranslator`
10
+ * class and provides specific implementation for Weaviate.
11
+ */
18
12
  class WeaviateTranslator extends base_js_1.BaseTranslator {
19
13
  constructor() {
20
14
  super(...arguments);
@@ -38,6 +32,13 @@ class WeaviateTranslator extends base_js_1.BaseTranslator {
38
32
  ]
39
33
  });
40
34
  }
35
+ /**
36
+ * Formats the given function into a string representation. Throws an
37
+ * error if the function is not a known comparator or operator, or if it
38
+ * is not allowed.
39
+ * @param func The function to format, which can be an Operator or Comparator.
40
+ * @returns A string representation of the function.
41
+ */
41
42
  formatFunction(func) {
42
43
  if (func in ir_js_1.Comparators) {
43
44
  if (this.allowedComparators.length > 0 &&
@@ -66,6 +67,12 @@ class WeaviateTranslator extends base_js_1.BaseTranslator {
66
67
  };
67
68
  return dict[func];
68
69
  }
70
+ /**
71
+ * Visits an operation and returns a WeaviateOperationResult. The
72
+ * operation's arguments are visited and the operator is formatted.
73
+ * @param operation The operation to visit.
74
+ * @returns A WeaviateOperationResult.
75
+ */
69
76
  visitOperation(operation) {
70
77
  const args = operation.args?.map((arg) => arg.accept(this));
71
78
  return {
@@ -73,22 +80,29 @@ class WeaviateTranslator extends base_js_1.BaseTranslator {
73
80
  operands: args,
74
81
  };
75
82
  }
83
+ /**
84
+ * Visits a comparison and returns a WeaviateComparisonResult. The
85
+ * comparison's value is checked for type and the comparator is formatted.
86
+ * Throws an error if the value type is not supported.
87
+ * @param comparison The comparison to visit.
88
+ * @returns A WeaviateComparisonResult.
89
+ */
76
90
  visitComparison(comparison) {
77
- if (isString(comparison.value)) {
91
+ if ((0, utils_js_1.isString)(comparison.value)) {
78
92
  return {
79
93
  path: [comparison.attribute],
80
94
  operator: this.formatFunction(comparison.comparator),
81
95
  valueText: comparison.value,
82
96
  };
83
97
  }
84
- if (isInt(comparison.value)) {
98
+ if ((0, utils_js_1.isInt)(comparison.value)) {
85
99
  return {
86
100
  path: [comparison.attribute],
87
101
  operator: this.formatFunction(comparison.comparator),
88
102
  valueInt: parseInt(comparison.value, 10),
89
103
  };
90
104
  }
91
- if (isFloat(comparison.value)) {
105
+ if ((0, utils_js_1.isFloat)(comparison.value)) {
92
106
  return {
93
107
  path: [comparison.attribute],
94
108
  operator: this.formatFunction(comparison.comparator),
@@ -97,6 +111,12 @@ class WeaviateTranslator extends base_js_1.BaseTranslator {
97
111
  }
98
112
  throw new Error("Value type is not supported");
99
113
  }
114
+ /**
115
+ * Visits a structured query and returns a WeaviateStructuredQueryResult.
116
+ * If the query has a filter, it is visited.
117
+ * @param query The structured query to visit.
118
+ * @returns A WeaviateStructuredQueryResult.
119
+ */
100
120
  visitStructuredQuery(query) {
101
121
  let nextArg = {};
102
122
  if (query.filter) {
@@ -106,6 +126,17 @@ class WeaviateTranslator extends base_js_1.BaseTranslator {
106
126
  }
107
127
  return nextArg;
108
128
  }
129
+ /**
130
+ * Merges two filters into one. If both filters are empty, returns
131
+ * undefined. If one filter is empty or the merge type is 'replace',
132
+ * returns the other filter. If the merge type is 'and' or 'or', returns a
133
+ * new filter with the merged results. Throws an error for unknown merge
134
+ * types.
135
+ * @param defaultFilter The default filter to merge.
136
+ * @param generatedFilter The generated filter to merge.
137
+ * @param mergeType The type of merge to perform. Can be 'and', 'or', or 'replace'. Defaults to 'and'.
138
+ * @returns A merged WeaviateFilter, or undefined if both filters are empty.
139
+ */
109
140
  mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
110
141
  if ((0, utils_js_1.isFilterEmpty)(defaultFilter?.where) &&
111
142
  (0, utils_js_1.isFilterEmpty)(generatedFilter?.where)) {
@@ -29,15 +29,57 @@ export type WeaviateStructuredQueryResult = {
29
29
  where?: WeaviateComparisonResult | WeaviateOperationResult;
30
30
  };
31
31
  };
32
+ /**
33
+ * A class that translates or converts data into a format that can be used
34
+ * with Weaviate, a vector search engine. It extends the `BaseTranslator`
35
+ * class and provides specific implementation for Weaviate.
36
+ */
32
37
  export declare class WeaviateTranslator<T extends WeaviateStore> extends BaseTranslator<T> {
33
38
  VisitOperationOutput: WeaviateOperationResult;
34
39
  VisitComparisonOutput: WeaviateComparisonResult;
35
40
  allowedOperators: Operator[];
36
41
  allowedComparators: Comparator[];
42
+ /**
43
+ * Formats the given function into a string representation. Throws an
44
+ * error if the function is not a known comparator or operator, or if it
45
+ * is not allowed.
46
+ * @param func The function to format, which can be an Operator or Comparator.
47
+ * @returns A string representation of the function.
48
+ */
37
49
  formatFunction(func: Operator | Comparator): string;
50
+ /**
51
+ * Visits an operation and returns a WeaviateOperationResult. The
52
+ * operation's arguments are visited and the operator is formatted.
53
+ * @param operation The operation to visit.
54
+ * @returns A WeaviateOperationResult.
55
+ */
38
56
  visitOperation(operation: Operation): this["VisitOperationOutput"];
57
+ /**
58
+ * Visits a comparison and returns a WeaviateComparisonResult. The
59
+ * comparison's value is checked for type and the comparator is formatted.
60
+ * Throws an error if the value type is not supported.
61
+ * @param comparison The comparison to visit.
62
+ * @returns A WeaviateComparisonResult.
63
+ */
39
64
  visitComparison(comparison: Comparison): this["VisitComparisonOutput"];
65
+ /**
66
+ * Visits a structured query and returns a WeaviateStructuredQueryResult.
67
+ * If the query has a filter, it is visited.
68
+ * @param query The structured query to visit.
69
+ * @returns A WeaviateStructuredQueryResult.
70
+ */
40
71
  visitStructuredQuery(query: StructuredQuery): this["VisitStructuredQueryOutput"];
72
+ /**
73
+ * Merges two filters into one. If both filters are empty, returns
74
+ * undefined. If one filter is empty or the merge type is 'replace',
75
+ * returns the other filter. If the merge type is 'and' or 'or', returns a
76
+ * new filter with the merged results. Throws an error for unknown merge
77
+ * types.
78
+ * @param defaultFilter The default filter to merge.
79
+ * @param generatedFilter The generated filter to merge.
80
+ * @param mergeType The type of merge to perform. Can be 'and', 'or', or 'replace'. Defaults to 'and'.
81
+ * @returns A merged WeaviateFilter, or undefined if both filters are empty.
82
+ */
41
83
  mergeFilters(defaultFilter: WeaviateFilter | undefined, generatedFilter: WeaviateFilter | undefined, mergeType?: string): WeaviateFilter | undefined;
42
84
  }
43
85
  export {};
@@ -1,17 +1,11 @@
1
1
  import { Comparators, Operators, } from "../../chains/query_constructor/ir.js";
2
2
  import { BaseTranslator } from "./base.js";
3
- import { isFilterEmpty } from "./utils.js";
4
- function isInt(value) {
5
- const numberValue = parseFloat(value);
6
- return !Number.isNaN(numberValue) && numberValue % 1 === 0;
7
- }
8
- function isFloat(value) {
9
- const numberValue = parseFloat(value);
10
- return !Number.isNaN(numberValue) && numberValue % 1 !== 0;
11
- }
12
- function isString(value) {
13
- return typeof value === "string" && Number.isNaN(parseFloat(value));
14
- }
3
+ import { isFilterEmpty, isString, isInt, isFloat } from "./utils.js";
4
+ /**
5
+ * A class that translates or converts data into a format that can be used
6
+ * with Weaviate, a vector search engine. It extends the `BaseTranslator`
7
+ * class and provides specific implementation for Weaviate.
8
+ */
15
9
  export class WeaviateTranslator extends BaseTranslator {
16
10
  constructor() {
17
11
  super(...arguments);
@@ -35,6 +29,13 @@ export class WeaviateTranslator extends BaseTranslator {
35
29
  ]
36
30
  });
37
31
  }
32
+ /**
33
+ * Formats the given function into a string representation. Throws an
34
+ * error if the function is not a known comparator or operator, or if it
35
+ * is not allowed.
36
+ * @param func The function to format, which can be an Operator or Comparator.
37
+ * @returns A string representation of the function.
38
+ */
38
39
  formatFunction(func) {
39
40
  if (func in Comparators) {
40
41
  if (this.allowedComparators.length > 0 &&
@@ -63,6 +64,12 @@ export class WeaviateTranslator extends BaseTranslator {
63
64
  };
64
65
  return dict[func];
65
66
  }
67
+ /**
68
+ * Visits an operation and returns a WeaviateOperationResult. The
69
+ * operation's arguments are visited and the operator is formatted.
70
+ * @param operation The operation to visit.
71
+ * @returns A WeaviateOperationResult.
72
+ */
66
73
  visitOperation(operation) {
67
74
  const args = operation.args?.map((arg) => arg.accept(this));
68
75
  return {
@@ -70,6 +77,13 @@ export class WeaviateTranslator extends BaseTranslator {
70
77
  operands: args,
71
78
  };
72
79
  }
80
+ /**
81
+ * Visits a comparison and returns a WeaviateComparisonResult. The
82
+ * comparison's value is checked for type and the comparator is formatted.
83
+ * Throws an error if the value type is not supported.
84
+ * @param comparison The comparison to visit.
85
+ * @returns A WeaviateComparisonResult.
86
+ */
73
87
  visitComparison(comparison) {
74
88
  if (isString(comparison.value)) {
75
89
  return {
@@ -94,6 +108,12 @@ export class WeaviateTranslator extends BaseTranslator {
94
108
  }
95
109
  throw new Error("Value type is not supported");
96
110
  }
111
+ /**
112
+ * Visits a structured query and returns a WeaviateStructuredQueryResult.
113
+ * If the query has a filter, it is visited.
114
+ * @param query The structured query to visit.
115
+ * @returns A WeaviateStructuredQueryResult.
116
+ */
97
117
  visitStructuredQuery(query) {
98
118
  let nextArg = {};
99
119
  if (query.filter) {
@@ -103,6 +123,17 @@ export class WeaviateTranslator extends BaseTranslator {
103
123
  }
104
124
  return nextArg;
105
125
  }
126
+ /**
127
+ * Merges two filters into one. If both filters are empty, returns
128
+ * undefined. If one filter is empty or the merge type is 'replace',
129
+ * returns the other filter. If the merge type is 'and' or 'or', returns a
130
+ * new filter with the merged results. Throws an error for unknown merge
131
+ * types.
132
+ * @param defaultFilter The default filter to merge.
133
+ * @param generatedFilter The generated filter to merge.
134
+ * @param mergeType The type of merge to perform. Can be 'and', 'or', or 'replace'. Defaults to 'and'.
135
+ * @returns A merged WeaviateFilter, or undefined if both filters are empty.
136
+ */
106
137
  mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
107
138
  if (isFilterEmpty(defaultFilter?.where) &&
108
139
  isFilterEmpty(generatedFilter?.where)) {
@@ -3,7 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SupabaseHybridSearch = void 0;
4
4
  const document_js_1 = require("../document.cjs");
5
5
  const retriever_js_1 = require("../schema/retriever.cjs");
6
+ /**
7
+ * Class for performing hybrid search operations on a Supabase database.
8
+ * It extends the `BaseRetriever` class and implements methods for
9
+ * similarity search, keyword search, and hybrid search.
10
+ */
6
11
  class SupabaseHybridSearch extends retriever_js_1.BaseRetriever {
12
+ static lc_name() {
13
+ return "SupabaseHybridSearch";
14
+ }
7
15
  constructor(embeddings, args) {
8
16
  super(args);
9
17
  Object.defineProperty(this, "lc_namespace", {
@@ -68,6 +76,14 @@ class SupabaseHybridSearch extends retriever_js_1.BaseRetriever {
68
76
  this.similarityK = args.similarityK || 2;
69
77
  this.keywordK = args.keywordK || 2;
70
78
  }
79
+ /**
80
+ * Performs a similarity search on the Supabase database using the
81
+ * provided query and returns the top 'k' similar documents.
82
+ * @param query The query to use for the similarity search.
83
+ * @param k The number of top similar documents to return.
84
+ * @param _callbacks Optional callbacks to pass to the embedQuery method.
85
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its similarity score, and its ID.
86
+ */
71
87
  async similaritySearch(query, k, _callbacks // implement passing to embedQuery later
72
88
  ) {
73
89
  const embeddedQuery = await this.embeddings.embedQuery(query);
@@ -91,6 +107,13 @@ class SupabaseHybridSearch extends retriever_js_1.BaseRetriever {
91
107
  resp.id,
92
108
  ]);
93
109
  }
110
+ /**
111
+ * Performs a keyword search on the Supabase database using the provided
112
+ * query and returns the top 'k' documents that match the keywords.
113
+ * @param query The query to use for the keyword search.
114
+ * @param k The number of top documents to return that match the keywords.
115
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its similarity score multiplied by 10, and its ID.
116
+ */
94
117
  async keywordSearch(query, k) {
95
118
  const kwMatchDocumentsParams = {
96
119
  query_text: query,
@@ -109,6 +132,16 @@ class SupabaseHybridSearch extends retriever_js_1.BaseRetriever {
109
132
  resp.id,
110
133
  ]);
111
134
  }
135
+ /**
136
+ * Combines the results of the `similaritySearch` and `keywordSearch`
137
+ * methods and returns the top 'k' documents based on a combination of
138
+ * similarity and keyword matching.
139
+ * @param query The query to use for the hybrid search.
140
+ * @param similarityK The number of top similar documents to return.
141
+ * @param keywordK The number of top documents to return that match the keywords.
142
+ * @param callbacks Optional callbacks to pass to the similaritySearch method.
143
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its combined score, and its ID.
144
+ */
112
145
  async hybridSearch(query, similarityK, keywordK, callbacks) {
113
146
  const similarity_search = this.similaritySearch(query, similarityK, callbacks);
114
147
  const keyword_search = this.keywordSearch(query, keywordK);
@@ -32,7 +32,13 @@ export interface SupabaseHybridSearchParams {
32
32
  similarityK: number;
33
33
  keywordK: number;
34
34
  }
35
+ /**
36
+ * Class for performing hybrid search operations on a Supabase database.
37
+ * It extends the `BaseRetriever` class and implements methods for
38
+ * similarity search, keyword search, and hybrid search.
39
+ */
35
40
  export declare class SupabaseHybridSearch extends BaseRetriever {
41
+ static lc_name(): string;
36
42
  lc_namespace: string[];
37
43
  similarityK: number;
38
44
  query: string;
@@ -43,8 +49,33 @@ export declare class SupabaseHybridSearch extends BaseRetriever {
43
49
  keywordQueryName: string;
44
50
  embeddings: Embeddings;
45
51
  constructor(embeddings: Embeddings, args: SupabaseLibArgs);
52
+ /**
53
+ * Performs a similarity search on the Supabase database using the
54
+ * provided query and returns the top 'k' similar documents.
55
+ * @param query The query to use for the similarity search.
56
+ * @param k The number of top similar documents to return.
57
+ * @param _callbacks Optional callbacks to pass to the embedQuery method.
58
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its similarity score, and its ID.
59
+ */
46
60
  protected similaritySearch(query: string, k: number, _callbacks?: Callbacks): Promise<SearchResult[]>;
61
+ /**
62
+ * Performs a keyword search on the Supabase database using the provided
63
+ * query and returns the top 'k' documents that match the keywords.
64
+ * @param query The query to use for the keyword search.
65
+ * @param k The number of top documents to return that match the keywords.
66
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its similarity score multiplied by 10, and its ID.
67
+ */
47
68
  protected keywordSearch(query: string, k: number): Promise<SearchResult[]>;
69
+ /**
70
+ * Combines the results of the `similaritySearch` and `keywordSearch`
71
+ * methods and returns the top 'k' documents based on a combination of
72
+ * similarity and keyword matching.
73
+ * @param query The query to use for the hybrid search.
74
+ * @param similarityK The number of top similar documents to return.
75
+ * @param keywordK The number of top documents to return that match the keywords.
76
+ * @param callbacks Optional callbacks to pass to the similaritySearch method.
77
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its combined score, and its ID.
78
+ */
48
79
  protected hybridSearch(query: string, similarityK: number, keywordK: number, callbacks?: Callbacks): Promise<SearchResult[]>;
49
80
  _getRelevantDocuments(query: string, runManager?: CallbackManagerForRetrieverRun): Promise<Document[]>;
50
81
  }
@@ -1,6 +1,14 @@
1
1
  import { Document } from "../document.js";
2
2
  import { BaseRetriever } from "../schema/retriever.js";
3
+ /**
4
+ * Class for performing hybrid search operations on a Supabase database.
5
+ * It extends the `BaseRetriever` class and implements methods for
6
+ * similarity search, keyword search, and hybrid search.
7
+ */
3
8
  export class SupabaseHybridSearch extends BaseRetriever {
9
+ static lc_name() {
10
+ return "SupabaseHybridSearch";
11
+ }
4
12
  constructor(embeddings, args) {
5
13
  super(args);
6
14
  Object.defineProperty(this, "lc_namespace", {
@@ -65,6 +73,14 @@ export class SupabaseHybridSearch extends BaseRetriever {
65
73
  this.similarityK = args.similarityK || 2;
66
74
  this.keywordK = args.keywordK || 2;
67
75
  }
76
+ /**
77
+ * Performs a similarity search on the Supabase database using the
78
+ * provided query and returns the top 'k' similar documents.
79
+ * @param query The query to use for the similarity search.
80
+ * @param k The number of top similar documents to return.
81
+ * @param _callbacks Optional callbacks to pass to the embedQuery method.
82
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its similarity score, and its ID.
83
+ */
68
84
  async similaritySearch(query, k, _callbacks // implement passing to embedQuery later
69
85
  ) {
70
86
  const embeddedQuery = await this.embeddings.embedQuery(query);
@@ -88,6 +104,13 @@ export class SupabaseHybridSearch extends BaseRetriever {
88
104
  resp.id,
89
105
  ]);
90
106
  }
107
+ /**
108
+ * Performs a keyword search on the Supabase database using the provided
109
+ * query and returns the top 'k' documents that match the keywords.
110
+ * @param query The query to use for the keyword search.
111
+ * @param k The number of top documents to return that match the keywords.
112
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its similarity score multiplied by 10, and its ID.
113
+ */
91
114
  async keywordSearch(query, k) {
92
115
  const kwMatchDocumentsParams = {
93
116
  query_text: query,
@@ -106,6 +129,16 @@ export class SupabaseHybridSearch extends BaseRetriever {
106
129
  resp.id,
107
130
  ]);
108
131
  }
132
+ /**
133
+ * Combines the results of the `similaritySearch` and `keywordSearch`
134
+ * methods and returns the top 'k' documents based on a combination of
135
+ * similarity and keyword matching.
136
+ * @param query The query to use for the hybrid search.
137
+ * @param similarityK The number of top similar documents to return.
138
+ * @param keywordK The number of top documents to return that match the keywords.
139
+ * @param callbacks Optional callbacks to pass to the similaritySearch method.
140
+ * @returns A promise that resolves to an array of search results. Each result is a tuple containing a Document, its combined score, and its ID.
141
+ */
109
142
  async hybridSearch(query, similarityK, keywordK, callbacks) {
110
143
  const similarity_search = this.similaritySearch(query, similarityK, callbacks);
111
144
  const keyword_search = this.keywordSearch(query, keywordK);
@@ -9,6 +9,9 @@ exports.BUFFER_IDX = "buffer_idx";
9
9
  * ref: https://github.com/hwchase17/langchain/blob/master/langchain/retrievers/time_weighted_retriever.py
10
10
  */
11
11
  class TimeWeightedVectorStoreRetriever extends retriever_js_1.BaseRetriever {
12
+ static lc_name() {
13
+ return "TimeWeightedVectorStoreRetriever";
14
+ }
12
15
  get lc_namespace() {
13
16
  return ["langchain", "retrievers", "time_weighted"];
14
17
  }
@@ -89,9 +92,17 @@ class TimeWeightedVectorStoreRetriever extends retriever_js_1.BaseRetriever {
89
92
  this.otherScoreKeys = fields.otherScoreKeys ?? [];
90
93
  this.defaultSalience = fields.defaultSalience ?? null;
91
94
  }
95
+ /**
96
+ * Get the memory stream of documents.
97
+ * @returns The memory stream of documents.
98
+ */
92
99
  getMemoryStream() {
93
100
  return this.memoryStream;
94
101
  }
102
+ /**
103
+ * Set the memory stream of documents.
104
+ * @param memoryStream The new memory stream of documents.
105
+ */
95
106
  setMemoryStream(memoryStream) {
96
107
  this.memoryStream = memoryStream;
97
108
  }
@@ -2,6 +2,10 @@ import { VectorStore } from "../vectorstores/base.js";
2
2
  import { Document } from "../document.js";
3
3
  import { BaseRetriever, BaseRetrieverInput } from "../schema/retriever.js";
4
4
  import { CallbackManagerForRetrieverRun } from "../callbacks/manager.js";
5
+ /**
6
+ * Interface for the fields required to initialize a
7
+ * TimeWeightedVectorStoreRetriever instance.
8
+ */
5
9
  export interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {
6
10
  vectorStore: VectorStore;
7
11
  searchKwargs?: number;
@@ -18,6 +22,7 @@ export declare const BUFFER_IDX = "buffer_idx";
18
22
  * ref: https://github.com/hwchase17/langchain/blob/master/langchain/retrievers/time_weighted_retriever.py
19
23
  */
20
24
  export declare class TimeWeightedVectorStoreRetriever extends BaseRetriever {
25
+ static lc_name(): string;
21
26
  get lc_namespace(): string[];
22
27
  /**
23
28
  * The vectorstore to store documents and determine salience.
@@ -52,7 +57,15 @@ export declare class TimeWeightedVectorStoreRetriever extends BaseRetriever {
52
57
  * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever
53
58
  */
54
59
  constructor(fields: TimeWeightedVectorStoreRetrieverFields);
60
+ /**
61
+ * Get the memory stream of documents.
62
+ * @returns The memory stream of documents.
63
+ */
55
64
  getMemoryStream(): Document[];
65
+ /**
66
+ * Set the memory stream of documents.
67
+ * @param memoryStream The new memory stream of documents.
68
+ */
56
69
  setMemoryStream(memoryStream: Document[]): void;
57
70
  /**
58
71
  * Get relevant documents based on time-weighted relevance
@@ -6,6 +6,9 @@ export const BUFFER_IDX = "buffer_idx";
6
6
  * ref: https://github.com/hwchase17/langchain/blob/master/langchain/retrievers/time_weighted_retriever.py
7
7
  */
8
8
  export class TimeWeightedVectorStoreRetriever extends BaseRetriever {
9
+ static lc_name() {
10
+ return "TimeWeightedVectorStoreRetriever";
11
+ }
9
12
  get lc_namespace() {
10
13
  return ["langchain", "retrievers", "time_weighted"];
11
14
  }
@@ -86,9 +89,17 @@ export class TimeWeightedVectorStoreRetriever extends BaseRetriever {
86
89
  this.otherScoreKeys = fields.otherScoreKeys ?? [];
87
90
  this.defaultSalience = fields.defaultSalience ?? null;
88
91
  }
92
+ /**
93
+ * Get the memory stream of documents.
94
+ * @returns The memory stream of documents.
95
+ */
89
96
  getMemoryStream() {
90
97
  return this.memoryStream;
91
98
  }
99
+ /**
100
+ * Set the memory stream of documents.
101
+ * @param memoryStream The new memory stream of documents.
102
+ */
92
103
  setMemoryStream(memoryStream) {
93
104
  this.memoryStream = memoryStream;
94
105
  }
@@ -3,7 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VespaRetriever = void 0;
4
4
  const document_js_1 = require("../document.cjs");
5
5
  const base_js_1 = require("./remote/base.cjs");
6
+ /**
7
+ * Class responsible for retrieving data from Vespa. It extends the
8
+ * `RemoteRetriever` class and includes methods for creating the JSON body
9
+ * for a query and processing the JSON response from Vespa.
10
+ */
6
11
  class VespaRetriever extends base_js_1.RemoteRetriever {
12
+ static lc_name() {
13
+ return "VespaRetriever";
14
+ }
7
15
  constructor(fields) {
8
16
  super(fields);
9
17
  Object.defineProperty(this, "lc_namespace", {
@@ -28,12 +36,25 @@ class VespaRetriever extends base_js_1.RemoteRetriever {
28
36
  this.content_field = fields.content_field;
29
37
  this.url = `${this.url}/search/?`;
30
38
  }
39
+ /**
40
+ * Method that takes a query string as input and returns a JSON object
41
+ * that includes the query and the original `query_body`.
42
+ * @param query The query string to be sent to Vespa.
43
+ * @returns A JSON object that includes the query and the original `query_body`.
44
+ */
31
45
  createJsonBody(query) {
32
46
  return {
33
47
  ...this.query_body,
34
48
  query,
35
49
  };
36
50
  }
51
+ /**
52
+ * Method that processes the JSON response from Vespa into an array of
53
+ * `Document` instances. Each `Document` instance includes the content
54
+ * from the specified `content_field` and the document's ID.
55
+ * @param json The JSON response from Vespa.
56
+ * @returns An array of `Document` instances.
57
+ */
37
58
  processJsonResponse(json) {
38
59
  return json.root.children.map((doc) => new document_js_1.Document({
39
60
  pageContent: doc.fields[this.content_field],
@@ -10,11 +10,30 @@ export interface VespaRetrieverParams extends RemoteRetrieverParams {
10
10
  */
11
11
  content_field: string;
12
12
  }
13
+ /**
14
+ * Class responsible for retrieving data from Vespa. It extends the
15
+ * `RemoteRetriever` class and includes methods for creating the JSON body
16
+ * for a query and processing the JSON response from Vespa.
17
+ */
13
18
  export declare class VespaRetriever extends RemoteRetriever {
19
+ static lc_name(): string;
14
20
  lc_namespace: string[];
15
21
  query_body: object;
16
22
  content_field: string;
17
23
  constructor(fields: VespaRetrieverParams);
24
+ /**
25
+ * Method that takes a query string as input and returns a JSON object
26
+ * that includes the query and the original `query_body`.
27
+ * @param query The query string to be sent to Vespa.
28
+ * @returns A JSON object that includes the query and the original `query_body`.
29
+ */
18
30
  createJsonBody(query: string): RemoteRetrieverValues;
31
+ /**
32
+ * Method that processes the JSON response from Vespa into an array of
33
+ * `Document` instances. Each `Document` instance includes the content
34
+ * from the specified `content_field` and the document's ID.
35
+ * @param json The JSON response from Vespa.
36
+ * @returns An array of `Document` instances.
37
+ */
19
38
  processJsonResponse(json: RemoteRetrieverValues): Document[];
20
39
  }