langchain 0.2.2 → 0.2.3

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 (331) hide show
  1. package/dist/agents/tests/agent.int.test.d.ts +1 -0
  2. package/dist/agents/tests/agent.int.test.js +309 -0
  3. package/dist/agents/tests/chat_convo_output_parser.test.d.ts +1 -0
  4. package/dist/agents/tests/chat_convo_output_parser.test.js +91 -0
  5. package/dist/agents/tests/create_openai_functions_agent.int.test.d.ts +2 -0
  6. package/dist/agents/tests/create_openai_functions_agent.int.test.js +71 -0
  7. package/dist/agents/tests/create_openai_tools_agent.int.test.d.ts +1 -0
  8. package/dist/agents/tests/create_openai_tools_agent.int.test.js +75 -0
  9. package/dist/agents/tests/create_react_agent.int.test.d.ts +1 -0
  10. package/dist/agents/tests/create_react_agent.int.test.js +32 -0
  11. package/dist/agents/tests/create_structured_chat_agent.int.test.d.ts +1 -0
  12. package/dist/agents/tests/create_structured_chat_agent.int.test.js +32 -0
  13. package/dist/agents/tests/create_tool_calling_agent.int.test.d.ts +1 -0
  14. package/dist/agents/tests/create_tool_calling_agent.int.test.js +71 -0
  15. package/dist/agents/tests/create_xml_agent.int.test.d.ts +1 -0
  16. package/dist/agents/tests/create_xml_agent.int.test.js +32 -0
  17. package/dist/agents/tests/json.test.d.ts +1 -0
  18. package/dist/agents/tests/json.test.js +74 -0
  19. package/dist/agents/tests/react.test.d.ts +1 -0
  20. package/dist/agents/tests/react.test.js +44 -0
  21. package/dist/agents/tests/runnable.int.test.d.ts +1 -0
  22. package/dist/agents/tests/runnable.int.test.js +104 -0
  23. package/dist/agents/tests/sql.test.d.ts +1 -0
  24. package/dist/agents/tests/sql.test.js +133 -0
  25. package/dist/agents/tests/structured_chat_output_parser.test.d.ts +1 -0
  26. package/dist/agents/tests/structured_chat_output_parser.test.js +35 -0
  27. package/dist/agents/tests/structured_chat_output_parser_with_retries.int.test.d.ts +1 -0
  28. package/dist/agents/tests/structured_chat_output_parser_with_retries.int.test.js +44 -0
  29. package/dist/agents/tests/structured_output_runnables.int.test.d.ts +1 -0
  30. package/dist/agents/tests/structured_output_runnables.int.test.js +112 -0
  31. package/dist/agents/toolkits/tests/conversational_retrieval.int.test.d.ts +1 -0
  32. package/dist/agents/toolkits/tests/conversational_retrieval.int.test.js +41 -0
  33. package/dist/cache/tests/file_system.int.test.d.ts +1 -0
  34. package/dist/cache/tests/file_system.int.test.js +32 -0
  35. package/dist/chains/openai_functions/tests/create_runnable_chains.int.test.d.ts +1 -0
  36. package/dist/chains/openai_functions/tests/create_runnable_chains.int.test.js +139 -0
  37. package/dist/chains/openai_functions/tests/extraction.int.test.d.ts +1 -0
  38. package/dist/chains/openai_functions/tests/extraction.int.test.js +33 -0
  39. package/dist/chains/openai_functions/tests/openapi.int.test.d.ts +1 -0
  40. package/dist/chains/openai_functions/tests/openapi.int.test.js +130 -0
  41. package/dist/chains/openai_functions/tests/openapi.test.d.ts +1 -0
  42. package/dist/chains/openai_functions/tests/openapi.test.js +172 -0
  43. package/dist/chains/openai_functions/tests/structured_output.int.test.d.ts +1 -0
  44. package/dist/chains/openai_functions/tests/structured_output.int.test.js +40 -0
  45. package/dist/chains/openai_functions/tests/structured_output.test.d.ts +1 -0
  46. package/dist/chains/openai_functions/tests/structured_output.test.js +102 -0
  47. package/dist/chains/openai_functions/tests/tagging.int.test.d.ts +1 -0
  48. package/dist/chains/openai_functions/tests/tagging.int.test.js +21 -0
  49. package/dist/chains/query_constructor/tests/query_chain.int.test.d.ts +1 -0
  50. package/dist/chains/query_constructor/tests/query_chain.int.test.js +93 -0
  51. package/dist/chains/query_constructor/tests/query_parser.test.d.ts +1 -0
  52. package/dist/chains/query_constructor/tests/query_parser.test.js +28 -0
  53. package/dist/chains/question_answering/tests/load.int.test.d.ts +1 -0
  54. package/dist/chains/question_answering/tests/load.int.test.js +39 -0
  55. package/dist/chains/router/tests/multi_prompt.int.test.d.ts +1 -0
  56. package/dist/chains/router/tests/multi_prompt.int.test.js +45 -0
  57. package/dist/chains/router/tests/multi_prompt.test.d.ts +1 -0
  58. package/dist/chains/router/tests/multi_prompt.test.js +62 -0
  59. package/dist/chains/router/tests/multi_retrieval_qa.int.test.d.ts +1 -0
  60. package/dist/chains/router/tests/multi_retrieval_qa.int.test.js +67 -0
  61. package/dist/chains/router/tests/multi_retrieval_qa.test.d.ts +1 -0
  62. package/dist/chains/router/tests/multi_retrieval_qa.test.js +125 -0
  63. package/dist/chains/summarization/tests/load.int.test.d.ts +1 -0
  64. package/dist/chains/summarization/tests/load.int.test.js +37 -0
  65. package/dist/chains/tests/api_chain.int.test.d.ts +1 -0
  66. package/dist/chains/tests/api_chain.int.test.js +55 -0
  67. package/dist/chains/tests/combine_docs_chain.int.test.d.ts +1 -0
  68. package/dist/chains/tests/combine_docs_chain.int.test.js +50 -0
  69. package/dist/chains/tests/combine_docs_chain.test.d.ts +1 -0
  70. package/dist/chains/tests/combine_docs_chain.test.js +98 -0
  71. package/dist/chains/tests/constitutional_chain.int.test.d.ts +1 -0
  72. package/dist/chains/tests/constitutional_chain.int.test.js +30 -0
  73. package/dist/chains/tests/constitutional_chain.test.d.ts +1 -0
  74. package/dist/chains/tests/constitutional_chain.test.js +63 -0
  75. package/dist/chains/tests/conversation_chain.int.test.d.ts +1 -0
  76. package/dist/chains/tests/conversation_chain.int.test.js +9 -0
  77. package/dist/chains/tests/conversational_retrieval_chain.int.test.d.ts +1 -0
  78. package/dist/chains/tests/conversational_retrieval_chain.int.test.js +243 -0
  79. package/dist/chains/tests/example_data/open_meteo_docs.d.ts +1 -0
  80. package/dist/chains/tests/example_data/open_meteo_docs.js +29 -0
  81. package/dist/chains/tests/history_aware_retriever.int.test.d.ts +1 -0
  82. package/dist/chains/tests/history_aware_retriever.int.test.js +41 -0
  83. package/dist/chains/tests/history_aware_retriever.test.d.ts +1 -0
  84. package/dist/chains/tests/history_aware_retriever.test.js +27 -0
  85. package/dist/chains/tests/llm_chain.int.test.d.ts +1 -0
  86. package/dist/chains/tests/llm_chain.int.test.js +119 -0
  87. package/dist/chains/tests/openai_moderation.int.test.d.ts +1 -0
  88. package/dist/chains/tests/openai_moderation.int.test.js +30 -0
  89. package/dist/chains/tests/retrieval_chain.int.test.d.ts +1 -0
  90. package/dist/chains/tests/retrieval_chain.int.test.js +69 -0
  91. package/dist/chains/tests/retrieval_chain.test.d.ts +1 -0
  92. package/dist/chains/tests/retrieval_chain.test.js +36 -0
  93. package/dist/chains/tests/sequential_chain.int.test.d.ts +1 -0
  94. package/dist/chains/tests/sequential_chain.int.test.js +88 -0
  95. package/dist/chains/tests/sequential_chain.test.d.ts +1 -0
  96. package/dist/chains/tests/sequential_chain.test.js +295 -0
  97. package/dist/chains/tests/simple_sequential_chain.int.test.d.ts +1 -0
  98. package/dist/chains/tests/simple_sequential_chain.int.test.js +81 -0
  99. package/dist/chains/tests/simple_sequential_chain.test.d.ts +1 -0
  100. package/dist/chains/tests/simple_sequential_chain.test.js +128 -0
  101. package/dist/chains/tests/sql_db_chain.int.test.d.ts +1 -0
  102. package/dist/chains/tests/sql_db_chain.int.test.js +125 -0
  103. package/dist/chains/tests/transform.test.d.ts +1 -0
  104. package/dist/chains/tests/transform.test.js +12 -0
  105. package/dist/chains/tests/vector_db_qa_chain.int.test.d.ts +1 -0
  106. package/dist/chains/tests/vector_db_qa_chain.int.test.js +45 -0
  107. package/dist/document_loaders/tests/assemblyai.int.test.d.ts +1 -0
  108. package/dist/document_loaders/tests/assemblyai.int.test.js +111 -0
  109. package/dist/document_loaders/tests/chatgpt-blob.test.d.ts +1 -0
  110. package/dist/document_loaders/tests/chatgpt-blob.test.js +30 -0
  111. package/dist/document_loaders/tests/chatgpt.test.d.ts +1 -0
  112. package/dist/document_loaders/tests/chatgpt.test.js +29 -0
  113. package/dist/document_loaders/tests/cheerio.int.test.d.ts +1 -0
  114. package/dist/document_loaders/tests/cheerio.int.test.js +21 -0
  115. package/dist/document_loaders/tests/college_confidential.int.test.d.ts +1 -0
  116. package/dist/document_loaders/tests/college_confidential.int.test.js +6 -0
  117. package/dist/document_loaders/tests/confluence.test.d.ts +1 -0
  118. package/dist/document_loaders/tests/confluence.test.js +52 -0
  119. package/dist/document_loaders/tests/couchbase.int.test.d.ts +1 -0
  120. package/dist/document_loaders/tests/couchbase.int.test.js +28 -0
  121. package/dist/document_loaders/tests/csv-blob.test.d.ts +1 -0
  122. package/dist/document_loaders/tests/csv-blob.test.js +51 -0
  123. package/dist/document_loaders/tests/csv.test.d.ts +1 -0
  124. package/dist/document_loaders/tests/csv.test.js +41 -0
  125. package/dist/document_loaders/tests/directory.test.d.ts +1 -0
  126. package/dist/document_loaders/tests/directory.test.js +38 -0
  127. package/dist/document_loaders/tests/docx.test.d.ts +1 -0
  128. package/dist/document_loaders/tests/docx.test.js +11 -0
  129. package/dist/document_loaders/tests/epub.test.d.ts +1 -0
  130. package/dist/document_loaders/tests/epub.test.js +18 -0
  131. package/dist/document_loaders/tests/example_data/github_api_responses.d.ts +5 -0
  132. package/dist/document_loaders/tests/example_data/github_api_responses.js +91 -0
  133. package/dist/document_loaders/tests/figma.int.test.d.ts +1 -0
  134. package/dist/document_loaders/tests/figma.int.test.js +13 -0
  135. package/dist/document_loaders/tests/firecrawl.int.test.d.ts +1 -0
  136. package/dist/document_loaders/tests/firecrawl.int.test.js +30 -0
  137. package/dist/document_loaders/tests/gitbook.int.test.d.ts +1 -0
  138. package/dist/document_loaders/tests/gitbook.int.test.js +14 -0
  139. package/dist/document_loaders/tests/github.int.test.d.ts +1 -0
  140. package/dist/document_loaders/tests/github.int.test.js +86 -0
  141. package/dist/document_loaders/tests/github.test.d.ts +1 -0
  142. package/dist/document_loaders/tests/github.test.js +51 -0
  143. package/dist/document_loaders/tests/hn.int.test.d.ts +1 -0
  144. package/dist/document_loaders/tests/hn.int.test.js +6 -0
  145. package/dist/document_loaders/tests/imsdb.test.d.ts +1 -0
  146. package/dist/document_loaders/tests/imsdb.test.js +6 -0
  147. package/dist/document_loaders/tests/json-blob.test.d.ts +1 -0
  148. package/dist/document_loaders/tests/json-blob.test.js +87 -0
  149. package/dist/document_loaders/tests/json.test.d.ts +1 -0
  150. package/dist/document_loaders/tests/json.test.js +69 -0
  151. package/dist/document_loaders/tests/jsonl-blob.test.d.ts +1 -0
  152. package/dist/document_loaders/tests/jsonl-blob.test.js +44 -0
  153. package/dist/document_loaders/tests/jsonl.test.d.ts +1 -0
  154. package/dist/document_loaders/tests/jsonl.test.js +15 -0
  155. package/dist/document_loaders/tests/notion.test.d.ts +1 -0
  156. package/dist/document_loaders/tests/notion.test.js +11 -0
  157. package/dist/document_loaders/tests/notionapi.int.test.d.ts +1 -0
  158. package/dist/document_loaders/tests/notionapi.int.test.js +80 -0
  159. package/dist/document_loaders/tests/notionapi.test.d.ts +1 -0
  160. package/dist/document_loaders/tests/notionapi.test.js +84 -0
  161. package/dist/document_loaders/tests/notiondb.int.test.d.ts +1 -0
  162. package/dist/document_loaders/tests/notiondb.int.test.js +13 -0
  163. package/dist/document_loaders/tests/obsidian.test.d.ts +1 -0
  164. package/dist/document_loaders/tests/obsidian.test.js +119 -0
  165. package/dist/document_loaders/tests/pdf-blob.test.d.ts +1 -0
  166. package/dist/document_loaders/tests/pdf-blob.test.js +44 -0
  167. package/dist/document_loaders/tests/pdf.test.d.ts +1 -0
  168. package/dist/document_loaders/tests/pdf.test.js +25 -0
  169. package/dist/document_loaders/tests/playwright_web.int.test.d.ts +1 -0
  170. package/dist/document_loaders/tests/playwright_web.int.test.js +27 -0
  171. package/dist/document_loaders/tests/pptx.test.d.ts +1 -0
  172. package/dist/document_loaders/tests/pptx.test.js +17 -0
  173. package/dist/document_loaders/tests/puppeteer.int.test.d.ts +1 -0
  174. package/dist/document_loaders/tests/puppeteer.int.test.js +47 -0
  175. package/dist/document_loaders/tests/recursive_url.int.test.d.ts +1 -0
  176. package/dist/document_loaders/tests/recursive_url.int.test.js +64 -0
  177. package/dist/document_loaders/tests/s3.int.test.d.ts +1 -0
  178. package/dist/document_loaders/tests/s3.int.test.js +48 -0
  179. package/dist/document_loaders/tests/searchapi.test.d.ts +1 -0
  180. package/dist/document_loaders/tests/searchapi.test.js +29 -0
  181. package/dist/document_loaders/tests/serpapi.test.d.ts +1 -0
  182. package/dist/document_loaders/tests/serpapi.test.js +21 -0
  183. package/dist/document_loaders/tests/sitemap.int.test.d.ts +1 -0
  184. package/dist/document_loaders/tests/sitemap.int.test.js +28 -0
  185. package/dist/document_loaders/tests/sonix_audio.int.test.d.ts +1 -0
  186. package/dist/document_loaders/tests/sonix_audio.int.test.js +55 -0
  187. package/dist/document_loaders/tests/sort_xyz_blockchain.int.test.d.ts +1 -0
  188. package/dist/document_loaders/tests/sort_xyz_blockchain.int.test.js +38 -0
  189. package/dist/document_loaders/tests/srt-blob.test.d.ts +1 -0
  190. package/dist/document_loaders/tests/srt-blob.test.js +18 -0
  191. package/dist/document_loaders/tests/srt.test.d.ts +1 -0
  192. package/dist/document_loaders/tests/srt.test.js +16 -0
  193. package/dist/document_loaders/tests/text-blob.test.d.ts +1 -0
  194. package/dist/document_loaders/tests/text-blob.test.js +14 -0
  195. package/dist/document_loaders/tests/text.test.d.ts +1 -0
  196. package/dist/document_loaders/tests/text.test.js +22 -0
  197. package/dist/document_loaders/tests/unstructured.int.test.d.ts +1 -0
  198. package/dist/document_loaders/tests/unstructured.int.test.js +40 -0
  199. package/dist/document_loaders/tests/webpdf.int.test.d.ts +1 -0
  200. package/dist/document_loaders/tests/webpdf.int.test.js +90 -0
  201. package/dist/document_transformers/tests/openai_functions.int.test.d.ts +1 -0
  202. package/dist/document_transformers/tests/openai_functions.int.test.js +40 -0
  203. package/dist/embeddings/tests/cache.test.d.ts +1 -0
  204. package/dist/embeddings/tests/cache.test.js +24 -0
  205. package/dist/embeddings/tests/fake.test.d.ts +1 -0
  206. package/dist/embeddings/tests/fake.test.js +34 -0
  207. package/dist/evaluation/agents/tests/trajectory_eval_chain.int.test.d.ts +1 -0
  208. package/dist/evaluation/agents/tests/trajectory_eval_chain.int.test.js +33 -0
  209. package/dist/evaluation/comparison/tests/pairwise_eval_chain.int.test.d.ts +1 -0
  210. package/dist/evaluation/comparison/tests/pairwise_eval_chain.int.test.js +46 -0
  211. package/dist/evaluation/criteria/tests/criteria_eval_chain.int.test.d.ts +1 -0
  212. package/dist/evaluation/criteria/tests/criteria_eval_chain.int.test.js +108 -0
  213. package/dist/evaluation/embedding_distance/tests/embedding_distance_eval_chain.int.test.d.ts +1 -0
  214. package/dist/evaluation/embedding_distance/tests/embedding_distance_eval_chain.int.test.js +26 -0
  215. package/dist/evaluation/qa/tests/eval_chain.int.test.d.ts +1 -0
  216. package/dist/evaluation/qa/tests/eval_chain.int.test.js +27 -0
  217. package/dist/experimental/autogpt/tests/output_parser.test.d.ts +1 -0
  218. package/dist/experimental/autogpt/tests/output_parser.test.js +8 -0
  219. package/dist/experimental/autogpt/tests/prompt.test.d.ts +1 -0
  220. package/dist/experimental/autogpt/tests/prompt.test.js +69 -0
  221. package/dist/experimental/autogpt/tests/prompt_generator.test.d.ts +1 -0
  222. package/dist/experimental/autogpt/tests/prompt_generator.test.js +91 -0
  223. package/dist/experimental/chains/tests/violation_of_expectations_chain.int.test.d.ts +1 -0
  224. package/dist/experimental/chains/tests/violation_of_expectations_chain.int.test.js +26 -0
  225. package/dist/experimental/generative_agents/tests/generative_agent.int.test.d.ts +1 -0
  226. package/dist/experimental/generative_agents/tests/generative_agent.int.test.js +304 -0
  227. package/dist/experimental/masking/tests/masking-extended.test.d.ts +1 -0
  228. package/dist/experimental/masking/tests/masking-extended.test.js +58 -0
  229. package/dist/experimental/masking/tests/masking.test.d.ts +1 -0
  230. package/dist/experimental/masking/tests/masking.test.js +388 -0
  231. package/dist/experimental/openai_assistant/tests/openai_assistant.int.test.d.ts +1 -0
  232. package/dist/experimental/openai_assistant/tests/openai_assistant.int.test.js +203 -0
  233. package/dist/experimental/openai_files/tests/openai_file.int.test.d.ts +1 -0
  234. package/dist/experimental/openai_files/tests/openai_file.int.test.js +87 -0
  235. package/dist/experimental/plan_and_execute/tests/plan_and_execute.int.test.d.ts +1 -0
  236. package/dist/experimental/plan_and_execute/tests/plan_and_execute.int.test.js +54 -0
  237. package/dist/experimental/prompts/tests/handlebars.test.d.ts +1 -0
  238. package/dist/experimental/prompts/tests/handlebars.test.js +24 -0
  239. package/dist/experimental/tools/tests/pyinterpreter.int.test.d.ts +1 -0
  240. package/dist/experimental/tools/tests/pyinterpreter.int.test.js +22 -0
  241. package/dist/load/import_map.cjs +1 -1
  242. package/dist/load/import_map.js +1 -1
  243. package/dist/load/tests/cross_language.test.d.ts +1 -0
  244. package/dist/load/tests/cross_language.test.js +83 -0
  245. package/dist/load/tests/load.int.test.d.ts +1 -0
  246. package/dist/load/tests/load.int.test.js +9 -0
  247. package/dist/load/tests/load.test.d.ts +1 -0
  248. package/dist/load/tests/load.test.js +412 -0
  249. package/dist/memory/tests/buffer_memory.test.d.ts +1 -0
  250. package/dist/memory/tests/buffer_memory.test.js +34 -0
  251. package/dist/memory/tests/buffer_token_memory.int.test.d.ts +1 -0
  252. package/dist/memory/tests/buffer_token_memory.int.test.js +47 -0
  253. package/dist/memory/tests/buffer_window_memory.test.d.ts +1 -0
  254. package/dist/memory/tests/buffer_window_memory.test.js +42 -0
  255. package/dist/memory/tests/combined_memory.int.test.d.ts +1 -0
  256. package/dist/memory/tests/combined_memory.int.test.js +74 -0
  257. package/dist/memory/tests/entity_memory.int.test.d.ts +1 -0
  258. package/dist/memory/tests/entity_memory.int.test.js +79 -0
  259. package/dist/memory/tests/entity_memory.test.d.ts +1 -0
  260. package/dist/memory/tests/entity_memory.test.js +48 -0
  261. package/dist/memory/tests/summary.int.test.d.ts +1 -0
  262. package/dist/memory/tests/summary.int.test.js +50 -0
  263. package/dist/memory/tests/summary_buffer.int.test.d.ts +1 -0
  264. package/dist/memory/tests/summary_buffer.int.test.js +55 -0
  265. package/dist/memory/tests/vector_store_memory.int.test.d.ts +1 -0
  266. package/dist/memory/tests/vector_store_memory.int.test.js +55 -0
  267. package/dist/output_parsers/tests/combining.int.test.d.ts +1 -0
  268. package/dist/output_parsers/tests/combining.int.test.js +26 -0
  269. package/dist/output_parsers/tests/combining.test.d.ts +1 -0
  270. package/dist/output_parsers/tests/combining.test.js +54 -0
  271. package/dist/output_parsers/tests/datetime.test.d.ts +1 -0
  272. package/dist/output_parsers/tests/datetime.test.js +14 -0
  273. package/dist/output_parsers/tests/expression.test.d.ts +1 -0
  274. package/dist/output_parsers/tests/expression.test.js +339 -0
  275. package/dist/output_parsers/tests/http_response.test.d.ts +1 -0
  276. package/dist/output_parsers/tests/http_response.test.js +39 -0
  277. package/dist/output_parsers/tests/list.test.d.ts +1 -0
  278. package/dist/output_parsers/tests/list.test.js +27 -0
  279. package/dist/output_parsers/tests/openai_functions.int.test.d.ts +1 -0
  280. package/dist/output_parsers/tests/openai_functions.int.test.js +89 -0
  281. package/dist/output_parsers/tests/openai_tools.int.test.d.ts +1 -0
  282. package/dist/output_parsers/tests/openai_tools.int.test.js +36 -0
  283. package/dist/output_parsers/tests/structured.int.test.d.ts +1 -0
  284. package/dist/output_parsers/tests/structured.int.test.js +150 -0
  285. package/dist/prompts/tests/selectors.test.d.ts +1 -0
  286. package/dist/prompts/tests/selectors.test.js +59 -0
  287. package/dist/retrievers/self_query/tests/memory_self_query.int.test.d.ts +1 -0
  288. package/dist/retrievers/self_query/tests/memory_self_query.int.test.js +330 -0
  289. package/dist/retrievers/tests/chain_extract.int.test.d.ts +1 -0
  290. package/dist/retrievers/tests/chain_extract.int.test.js +32 -0
  291. package/dist/retrievers/tests/hyde.int.test.d.ts +1 -0
  292. package/dist/retrievers/tests/hyde.int.test.js +44 -0
  293. package/dist/retrievers/tests/matryoshka_retriever.int.test.d.ts +1 -0
  294. package/dist/retrievers/tests/matryoshka_retriever.int.test.js +113 -0
  295. package/dist/retrievers/tests/multi_query.int.test.d.ts +1 -0
  296. package/dist/retrievers/tests/multi_query.int.test.js +45 -0
  297. package/dist/retrievers/tests/parent_document.int.test.d.ts +1 -0
  298. package/dist/retrievers/tests/parent_document.int.test.js +122 -0
  299. package/dist/retrievers/tests/score_threshold.int.test.d.ts +1 -0
  300. package/dist/retrievers/tests/score_threshold.int.test.js +83 -0
  301. package/dist/retrievers/tests/time_weighted.test.d.ts +1 -0
  302. package/dist/retrievers/tests/time_weighted.test.js +320 -0
  303. package/dist/retrievers/tests/vectorstores.test.d.ts +1 -0
  304. package/dist/retrievers/tests/vectorstores.test.js +50 -0
  305. package/dist/smith/tests/run_on_dataset.int.test.d.ts +1 -0
  306. package/dist/smith/tests/run_on_dataset.int.test.js +257 -0
  307. package/dist/smith/tests/runner_utils.int.test.d.ts +9 -0
  308. package/dist/smith/tests/runner_utils.int.test.js +234 -0
  309. package/dist/storage/tests/file_system.test.d.ts +1 -0
  310. package/dist/storage/tests/file_system.test.js +81 -0
  311. package/dist/tools/tests/chain.test.d.ts +1 -0
  312. package/dist/tools/tests/chain.test.js +136 -0
  313. package/dist/tools/tests/webbrowser.int.test.d.ts +1 -0
  314. package/dist/tools/tests/webbrowser.int.test.js +80 -0
  315. package/dist/tools/tests/webbrowser.test.d.ts +1 -0
  316. package/dist/tools/tests/webbrowser.test.js +21 -0
  317. package/dist/util/sql_utils.cjs +2 -1
  318. package/dist/util/sql_utils.js +2 -1
  319. package/dist/util/tests/async_caller.int.test.d.ts +1 -0
  320. package/dist/util/tests/async_caller.int.test.js +34 -0
  321. package/dist/util/tests/azure.test.d.ts +1 -0
  322. package/dist/util/tests/azure.test.js +42 -0
  323. package/dist/util/tests/openai-stream.test.d.ts +1 -0
  324. package/dist/util/tests/openai-stream.test.js +135 -0
  325. package/dist/util/tests/set.test.d.ts +1 -0
  326. package/dist/util/tests/set.test.js +36 -0
  327. package/dist/util/tests/sql_utils.test.d.ts +1 -0
  328. package/dist/util/tests/sql_utils.test.js +50 -0
  329. package/dist/vectorstores/tests/memory.test.d.ts +1 -0
  330. package/dist/vectorstores/tests/memory.test.js +78 -0
  331. package/package.json +4 -8
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,135 @@
1
+ import { describe, it, expect, jest } from "@jest/globals";
2
+ import fetchAdapter from "../axios-fetch-adapter.js";
3
+ const mockFetchForOpenAIStream = async ({ chunks, status, contentType, }) => {
4
+ // Mock stream response chunks.
5
+ const stream = new ReadableStream({
6
+ async start(controller) {
7
+ chunks.forEach((chunk) => {
8
+ controller.enqueue(new TextEncoder().encode(chunk));
9
+ });
10
+ controller.close();
11
+ },
12
+ });
13
+ // Mock Fetch API call.
14
+ jest.spyOn(global, "fetch").mockImplementation(async () => new Response(stream, {
15
+ status,
16
+ headers: {
17
+ "Content-Type": contentType,
18
+ },
19
+ }));
20
+ let error = null;
21
+ let done = false;
22
+ const receivedChunks = [];
23
+ const resp = await fetchAdapter({
24
+ url: "https://example.com",
25
+ method: "POST",
26
+ responseType: "stream",
27
+ onmessage: (event) => {
28
+ if (event.data?.trim?.() === "[DONE]") {
29
+ done = true;
30
+ }
31
+ else {
32
+ receivedChunks.push(JSON.parse(event.data).choices[0].delta.content ?? "");
33
+ }
34
+ },
35
+ }).catch((err) => {
36
+ error = err;
37
+ return null;
38
+ });
39
+ return { resp, receivedChunks, error, done };
40
+ };
41
+ describe("OpenAI Stream Tests", () => {
42
+ it("should return a 200 response chunk by chunk", async () => {
43
+ // When stream mode enabled, OpenAI responds with a stream of `data: {...}\n\n` chunks
44
+ // followed by `data: [DONE]\n\n`.
45
+ const { resp, receivedChunks, error, done } = await mockFetchForOpenAIStream({
46
+ status: 200,
47
+ contentType: "text/event-stream",
48
+ chunks: [
49
+ 'data: {"choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}\n\n',
50
+ 'data: {"choices":[{"delta":{"content":"Hello"},"index":0,"finish_reason":null}]}\n\n',
51
+ 'data: {"choices":[{"delta":{"content":" World"},"index":0,"finish_reason":null}]}\n\n',
52
+ 'data: {"choices":[{"delta":{"content":"!"},"index":0,"finish_reason":null}]}\n\n',
53
+ 'data: {"choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}\n\n',
54
+ "data: [DONE]\n\n",
55
+ ],
56
+ });
57
+ expect(error).toEqual(null);
58
+ expect(resp?.status).toEqual(200);
59
+ expect(receivedChunks).toEqual(["", "Hello", " World", "!", ""]);
60
+ expect(done).toBe(true);
61
+ });
62
+ it("should handle OpenAI 400 json error", async () => {
63
+ // OpenAI returns errors with application/json content type.
64
+ // Even if stream mode is enabled, the error is returned as a normal JSON body.
65
+ // Error information is in the `error` field.
66
+ const { resp, receivedChunks, error } = await mockFetchForOpenAIStream({
67
+ status: 400,
68
+ contentType: "application/json",
69
+ chunks: [
70
+ JSON.stringify({
71
+ error: {},
72
+ }),
73
+ ],
74
+ });
75
+ expect(error).toEqual(null);
76
+ expect(resp?.status).toEqual(400);
77
+ expect(resp?.data).toEqual({ error: {} });
78
+ expect(receivedChunks).toEqual([]);
79
+ });
80
+ it("should handle 500 non-json error", async () => {
81
+ const { resp, receivedChunks, error } = await mockFetchForOpenAIStream({
82
+ status: 500,
83
+ contentType: "text/plain",
84
+ chunks: ["Some error message..."],
85
+ });
86
+ expect(error).toEqual(null);
87
+ expect(resp?.status).toEqual(500);
88
+ expect(resp?.data).toEqual("Some error message...");
89
+ expect(receivedChunks).toEqual([]);
90
+ });
91
+ it("should throw on 500 non-json body with json content type", async () => {
92
+ const { resp, receivedChunks, error } = await mockFetchForOpenAIStream({
93
+ status: 500,
94
+ contentType: "application/json",
95
+ chunks: ["a non-json error body"],
96
+ });
97
+ expect(resp).toEqual(null);
98
+ expect(error?.message).toContain("Unexpected token");
99
+ expect(receivedChunks).toEqual([]);
100
+ });
101
+ it("should throw the generic error if non-stream content is detected", async () => {
102
+ const { resp, receivedChunks, error } = await mockFetchForOpenAIStream({
103
+ status: 200,
104
+ contentType: "text/plain",
105
+ chunks: ["a non-stream body"],
106
+ });
107
+ expect(resp).toEqual(null);
108
+ expect(error?.message).toBe("Expected content-type to be text/event-stream, Actual: text/plain");
109
+ expect(receivedChunks).toEqual([]);
110
+ });
111
+ });
112
+ describe("Azure OpenAI Stream Tests", () => {
113
+ it("should return a 200 response chunk by chunk", async () => {
114
+ // When stream mode enabled, Azure OpenAI responds with chunks without tailing blank line.
115
+ // In addition, Azure sends chunks in batch.
116
+ const { resp, receivedChunks, error, done } = await mockFetchForOpenAIStream({
117
+ status: 200,
118
+ contentType: "text/event-stream",
119
+ chunks: [
120
+ // First batch
121
+ 'data: {"choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}\n\n' +
122
+ 'data: {"choices":[{"delta":{"content":"Hello"},"index":0,"finish_reason":null}]}\n\n' +
123
+ 'data: {"choices":[{"delta":{"content":" World"},"index":0,"finish_reason":null}]}\n\n',
124
+ // Second batch
125
+ 'data: {"choices":[{"delta":{"content":"!"},"index":0,"finish_reason":null}]}\n\n' +
126
+ 'data: {"choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}\n\n' +
127
+ "data: [DONE]\n", // no blank line
128
+ ],
129
+ });
130
+ expect(error).toEqual(null);
131
+ expect(resp?.status).toEqual(200);
132
+ expect(receivedChunks).toEqual(["", "Hello", " World", "!", ""]);
133
+ expect(done).toBe(true);
134
+ });
135
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ import { test, expect } from "@jest/globals";
2
+ import { difference, intersection, union } from "../set.js";
3
+ test("difference", () => {
4
+ const set1 = new Set(["a", "b"]);
5
+ const set2 = new Set(["b", "c"]);
6
+ const resultSet = difference(set1, set2);
7
+ expect(resultSet).toMatchInlineSnapshot(`
8
+ Set {
9
+ "a",
10
+ }
11
+ `);
12
+ });
13
+ test("intersection", () => {
14
+ const set1 = new Set(["a", "b", "c", "d"]);
15
+ const set2 = new Set(["b", "c", "e"]);
16
+ const resultSet = intersection(set1, set2);
17
+ expect(resultSet).toMatchInlineSnapshot(`
18
+ Set {
19
+ "b",
20
+ "c",
21
+ }
22
+ `);
23
+ });
24
+ test("union", () => {
25
+ const set1 = new Set(["a", "b"]);
26
+ const set2 = new Set(["c", "d"]);
27
+ const resultSet = union(set1, set2);
28
+ expect(resultSet).toMatchInlineSnapshot(`
29
+ Set {
30
+ "a",
31
+ "b",
32
+ "c",
33
+ "d",
34
+ }
35
+ `);
36
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import { test, expect } from "@jest/globals";
2
+ import { DataSource } from "typeorm";
3
+ import { getPromptTemplateFromDataSource, verifyIgnoreTablesExistInDatabase, verifyIncludeTablesExistInDatabase, } from "../sql_utils.js";
4
+ import { SQL_SQLITE_PROMPT } from "../../chains/sql_db/sql_db_prompt.js";
5
+ test("Find include tables when there are there", () => {
6
+ const includeTables = ["user", "score"];
7
+ const allTables = [
8
+ { tableName: "plop", columns: [{ columnName: "id" }] },
9
+ { tableName: "score", columns: [{ columnName: "id" }] },
10
+ { tableName: "user", columns: [{ columnName: "id" }] },
11
+ { tableName: "log", columns: [{ columnName: "id" }] },
12
+ ];
13
+ expect(() => verifyIncludeTablesExistInDatabase(allTables, includeTables)).not.toThrow();
14
+ });
15
+ test("Throw Error when include tables are not there", () => {
16
+ const includeTables = ["user", "score"];
17
+ const allTables = [
18
+ { tableName: "plop", columns: [{ columnName: "id" }] },
19
+ { tableName: "score", columns: [{ columnName: "id" }] },
20
+ { tableName: "log", columns: [{ columnName: "id" }] },
21
+ ];
22
+ expect(() => verifyIncludeTablesExistInDatabase(allTables, includeTables)).toThrow();
23
+ });
24
+ test("Find include tables when there are there", () => {
25
+ const includeTables = ["user", "score"];
26
+ const allTables = [
27
+ { tableName: "user", columns: [{ columnName: "id" }] },
28
+ { tableName: "plop", columns: [{ columnName: "id" }] },
29
+ { tableName: "score", columns: [{ columnName: "id" }] },
30
+ { tableName: "log", columns: [{ columnName: "id" }] },
31
+ ];
32
+ expect(() => verifyIgnoreTablesExistInDatabase(allTables, includeTables)).not.toThrow();
33
+ });
34
+ test("Throw Error when include tables are not there", () => {
35
+ const includeTables = ["user", "score"];
36
+ const allTables = [
37
+ { tableName: "plop", columns: [{ columnName: "id" }] },
38
+ { tableName: "score", columns: [{ columnName: "id" }] },
39
+ { tableName: "log", columns: [{ columnName: "id" }] },
40
+ ];
41
+ expect(() => verifyIgnoreTablesExistInDatabase(allTables, includeTables)).toThrow();
42
+ });
43
+ test.skip("return sqlite template when the DataSource is sqlite", () => {
44
+ const datasource = new DataSource({
45
+ type: "sqlite",
46
+ database: "Chinook.db",
47
+ });
48
+ const promptTemplate = getPromptTemplateFromDataSource(datasource);
49
+ expect(promptTemplate).toEqual(SQL_SQLITE_PROMPT);
50
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,78 @@
1
+ import { test, expect } from "@jest/globals";
2
+ import { Document } from "@langchain/core/documents";
3
+ import { SyntheticEmbeddings } from "@langchain/core/utils/testing";
4
+ import { similarity } from "ml-distance";
5
+ import { MemoryVectorStore } from "../memory.js";
6
+ test("MemoryVectorStore with external ids", async () => {
7
+ const embeddings = new SyntheticEmbeddings({
8
+ vectorSize: 1536,
9
+ });
10
+ const store = new MemoryVectorStore(embeddings);
11
+ expect(store).toBeDefined();
12
+ await store.addDocuments([
13
+ { pageContent: "hello", metadata: { a: 1 } },
14
+ { pageContent: "hi", metadata: { a: 1 } },
15
+ { pageContent: "bye", metadata: { a: 1 } },
16
+ { pageContent: "what's this", metadata: { a: 1 } },
17
+ ]);
18
+ const results = await store.similaritySearch("hello", 1);
19
+ expect(results).toHaveLength(1);
20
+ expect(results).toEqual([
21
+ new Document({ metadata: { a: 1 }, pageContent: "hello" }),
22
+ ]);
23
+ });
24
+ test("MemoryVectorStore as retriever can filter metadata", async () => {
25
+ const embeddings = new SyntheticEmbeddings({
26
+ vectorSize: 1536,
27
+ });
28
+ const store = new MemoryVectorStore(embeddings);
29
+ const filterFunc = (doc) => {
30
+ const { metadata } = doc;
31
+ if (metadata.namespace <= 2) {
32
+ return true;
33
+ }
34
+ return false;
35
+ };
36
+ const retriever = store.asRetriever({
37
+ k: 2,
38
+ filter: filterFunc,
39
+ });
40
+ expect(retriever).toBeDefined();
41
+ await retriever.addDocuments([
42
+ { pageContent: "hello", metadata: { namespace: 1 } },
43
+ { pageContent: "hello", metadata: { namespace: 2 } },
44
+ { pageContent: "hello", metadata: { namespace: 3 } },
45
+ { pageContent: "hello", metadata: { namespace: 4 } },
46
+ ]);
47
+ const results = await retriever.getRelevantDocuments("hello");
48
+ expect(results).toHaveLength(2);
49
+ expect(results).toEqual([
50
+ new Document({ metadata: { namespace: 1 }, pageContent: "hello" }),
51
+ new Document({ metadata: { namespace: 2 }, pageContent: "hello" }),
52
+ ]);
53
+ });
54
+ test("MemoryVectorStore with custom similarity", async () => {
55
+ const embeddings = new SyntheticEmbeddings({
56
+ vectorSize: 1536,
57
+ });
58
+ let similarityCalled = false;
59
+ let similarityCalledCount = 0;
60
+ const store = new MemoryVectorStore(embeddings, {
61
+ similarity: (a, b) => {
62
+ similarityCalledCount += 1;
63
+ similarityCalled = true;
64
+ return similarity.cosine(a, b);
65
+ },
66
+ });
67
+ expect(store).toBeDefined();
68
+ await store.addDocuments([
69
+ { pageContent: "hello", metadata: { a: 1 } },
70
+ { pageContent: "hi", metadata: { a: 1 } },
71
+ { pageContent: "bye", metadata: { a: 1 } },
72
+ { pageContent: "what's this", metadata: { a: 1 } },
73
+ ]);
74
+ const results = await store.similaritySearch("hello", 3);
75
+ expect(similarityCalled).toBe(true);
76
+ expect(similarityCalledCount).toBe(4);
77
+ expect(results).toHaveLength(3);
78
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "engines": {
@@ -561,7 +561,8 @@
561
561
  },
562
562
  "homepage": "https://github.com/langchain-ai/langchainjs/tree/main/langchain/",
563
563
  "scripts": {
564
- "build": "yarn run build:deps && yarn clean && yarn build:esm && yarn build:cjs && yarn build:scripts",
564
+ "build": "yarn turbo:command build:internal --filter=langchain",
565
+ "build:internal": "yarn lc-build:v2 --create-entrypoints --pre --tree-shaking --gen-maps",
565
566
  "build:deps": "yarn run turbo:command build --filter=@langchain/openai --filter=@langchain/textsplitters --filter=@langchain/cohere --concurrency=1",
566
567
  "build:esm": "NODE_OPTIONS=--max-old-space-size=4096 tsc --outDir dist/ && rimraf dist/tests dist/**/tests",
567
568
  "build:cjs": "NODE_OPTIONS=--max-old-space-size=4096 tsc --outDir dist-cjs/ -p tsconfig.cjs.json && yarn move-cjs-to-dist && rimraf dist-cjs",
@@ -572,7 +573,7 @@
572
573
  "lint": "yarn lint:eslint && yarn lint:dpdm",
573
574
  "lint:fix": "yarn lint:eslint --fix && yarn lint:dpdm",
574
575
  "precommit": "lint-staged",
575
- "clean": "rimraf .turbo/ dist/ && NODE_OPTIONS=--max-old-space-size=4096 yarn lc-build --config ./langchain.config.js --create-entrypoints --pre --gen-maps",
576
+ "clean": "rm -rf .turbo dist/",
576
577
  "prepack": "yarn build",
577
578
  "release": "release-it --only-version --config .release-it.json",
578
579
  "test": "yarn run build:deps && NODE_OPTIONS=--experimental-vm-modules jest --testPathIgnorePatterns=\\.int\\.test.ts --testTimeout 30000 --maxWorkers=50%",
@@ -599,7 +600,6 @@
599
600
  "@faker-js/faker": "^7.6.0",
600
601
  "@gomomento/sdk": "^1.51.1",
601
602
  "@gomomento/sdk-core": "^1.51.1",
602
- "@google-ai/generativelanguage": "^2.5.0",
603
603
  "@jest/globals": "^29.5.0",
604
604
  "@langchain/cohere": "^0.0.8",
605
605
  "@langchain/scripts": "~0.0.14",
@@ -686,7 +686,6 @@
686
686
  "@gomomento/sdk": "^1.51.1",
687
687
  "@gomomento/sdk-core": "^1.51.1",
688
688
  "@gomomento/sdk-web": "^1.51.1",
689
- "@google-ai/generativelanguage": "^2.5.0",
690
689
  "@mendable/firecrawl-js": "^0.0.13",
691
690
  "@notionhq/client": "^2.2.10",
692
691
  "@pinecone-database/pinecone": "*",
@@ -756,9 +755,6 @@
756
755
  "@gomomento/sdk-web": {
757
756
  "optional": true
758
757
  },
759
- "@google-ai/generativelanguage": {
760
- "optional": true
761
- },
762
758
  "@mendable/firecrawl-js": {
763
759
  "optional": true
764
760
  },