@langchain/classic 1.0.17 → 1.0.18

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 (1628) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +24 -13
  3. package/dist/_virtual/_rolldown/runtime.js +36 -0
  4. package/dist/agents/agent.cjs +9 -11
  5. package/dist/agents/agent.cjs.map +1 -1
  6. package/dist/agents/agent.d.cts +0 -1
  7. package/dist/agents/agent.d.cts.map +1 -1
  8. package/dist/agents/agent.d.ts +2 -3
  9. package/dist/agents/agent.d.ts.map +1 -1
  10. package/dist/agents/agent.js +1 -3
  11. package/dist/agents/agent.js.map +1 -1
  12. package/dist/agents/chat/index.cjs +11 -15
  13. package/dist/agents/chat/index.cjs.map +1 -1
  14. package/dist/agents/chat/index.d.cts +0 -1
  15. package/dist/agents/chat/index.d.cts.map +1 -1
  16. package/dist/agents/chat/index.d.ts +0 -1
  17. package/dist/agents/chat/index.d.ts.map +1 -1
  18. package/dist/agents/chat/index.js +7 -11
  19. package/dist/agents/chat/index.js.map +1 -1
  20. package/dist/agents/chat/outputParser.cjs +4 -5
  21. package/dist/agents/chat/outputParser.cjs.map +1 -1
  22. package/dist/agents/chat/outputParser.d.cts +2 -3
  23. package/dist/agents/chat/outputParser.d.cts.map +1 -1
  24. package/dist/agents/chat/outputParser.d.ts +0 -1
  25. package/dist/agents/chat/outputParser.d.ts.map +1 -1
  26. package/dist/agents/chat/outputParser.js +1 -2
  27. package/dist/agents/chat/outputParser.js.map +1 -1
  28. package/dist/agents/chat/prompt.cjs.map +1 -1
  29. package/dist/agents/chat/prompt.js.map +1 -1
  30. package/dist/agents/chat_convo/index.cjs +21 -25
  31. package/dist/agents/chat_convo/index.cjs.map +1 -1
  32. package/dist/agents/chat_convo/index.d.cts +0 -1
  33. package/dist/agents/chat_convo/index.d.cts.map +1 -1
  34. package/dist/agents/chat_convo/index.d.ts +1 -2
  35. package/dist/agents/chat_convo/index.d.ts.map +1 -1
  36. package/dist/agents/chat_convo/index.js +11 -15
  37. package/dist/agents/chat_convo/index.js.map +1 -1
  38. package/dist/agents/chat_convo/outputParser.cjs +10 -13
  39. package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
  40. package/dist/agents/chat_convo/outputParser.d.cts.map +1 -1
  41. package/dist/agents/chat_convo/outputParser.d.ts.map +1 -1
  42. package/dist/agents/chat_convo/outputParser.js +4 -7
  43. package/dist/agents/chat_convo/outputParser.js.map +1 -1
  44. package/dist/agents/chat_convo/prompt.cjs.map +1 -1
  45. package/dist/agents/chat_convo/prompt.js.map +1 -1
  46. package/dist/agents/executor.cjs +25 -33
  47. package/dist/agents/executor.cjs.map +1 -1
  48. package/dist/agents/executor.d.cts +0 -1
  49. package/dist/agents/executor.d.cts.map +1 -1
  50. package/dist/agents/executor.d.ts +0 -1
  51. package/dist/agents/executor.d.ts.map +1 -1
  52. package/dist/agents/executor.js +11 -19
  53. package/dist/agents/executor.js.map +1 -1
  54. package/dist/agents/format_scratchpad/log.cjs +4 -5
  55. package/dist/agents/format_scratchpad/log.cjs.map +1 -1
  56. package/dist/agents/format_scratchpad/log.d.cts +0 -1
  57. package/dist/agents/format_scratchpad/log.d.cts.map +1 -1
  58. package/dist/agents/format_scratchpad/log.d.ts +0 -1
  59. package/dist/agents/format_scratchpad/log.d.ts.map +1 -1
  60. package/dist/agents/format_scratchpad/log.js +3 -5
  61. package/dist/agents/format_scratchpad/log.js.map +1 -1
  62. package/dist/agents/format_scratchpad/log_to_message.cjs +8 -9
  63. package/dist/agents/format_scratchpad/log_to_message.cjs.map +1 -1
  64. package/dist/agents/format_scratchpad/log_to_message.d.cts.map +1 -1
  65. package/dist/agents/format_scratchpad/log_to_message.d.ts.map +1 -1
  66. package/dist/agents/format_scratchpad/log_to_message.js +4 -6
  67. package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
  68. package/dist/agents/format_scratchpad/openai_functions.cjs +9 -11
  69. package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
  70. package/dist/agents/format_scratchpad/openai_functions.d.cts +0 -1
  71. package/dist/agents/format_scratchpad/openai_functions.d.cts.map +1 -1
  72. package/dist/agents/format_scratchpad/openai_functions.d.ts +0 -1
  73. package/dist/agents/format_scratchpad/openai_functions.d.ts.map +1 -1
  74. package/dist/agents/format_scratchpad/openai_functions.js +5 -8
  75. package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
  76. package/dist/agents/format_scratchpad/openai_tools.cjs +3 -3
  77. package/dist/agents/format_scratchpad/openai_tools.js +2 -3
  78. package/dist/agents/format_scratchpad/tool_calling.cjs +8 -10
  79. package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
  80. package/dist/agents/format_scratchpad/tool_calling.d.cts +0 -1
  81. package/dist/agents/format_scratchpad/tool_calling.d.cts.map +1 -1
  82. package/dist/agents/format_scratchpad/tool_calling.d.ts +0 -1
  83. package/dist/agents/format_scratchpad/tool_calling.d.ts.map +1 -1
  84. package/dist/agents/format_scratchpad/tool_calling.js +5 -7
  85. package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
  86. package/dist/agents/format_scratchpad/xml.cjs +3 -3
  87. package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
  88. package/dist/agents/format_scratchpad/xml.d.cts.map +1 -1
  89. package/dist/agents/format_scratchpad/xml.d.ts.map +1 -1
  90. package/dist/agents/format_scratchpad/xml.js +2 -3
  91. package/dist/agents/format_scratchpad/xml.js.map +1 -1
  92. package/dist/agents/helpers.cjs +2 -2
  93. package/dist/agents/helpers.cjs.map +1 -1
  94. package/dist/agents/helpers.js +2 -2
  95. package/dist/agents/helpers.js.map +1 -1
  96. package/dist/agents/index.cjs +6 -6
  97. package/dist/agents/index.js +2 -3
  98. package/dist/agents/initialize.cjs +12 -16
  99. package/dist/agents/initialize.cjs.map +1 -1
  100. package/dist/agents/initialize.d.cts +8 -2
  101. package/dist/agents/initialize.d.cts.map +1 -1
  102. package/dist/agents/initialize.d.ts +8 -2
  103. package/dist/agents/initialize.d.ts.map +1 -1
  104. package/dist/agents/initialize.js +12 -16
  105. package/dist/agents/initialize.js.map +1 -1
  106. package/dist/agents/load.cjs +5 -5
  107. package/dist/agents/load.cjs.map +1 -1
  108. package/dist/agents/load.d.cts +8 -2
  109. package/dist/agents/load.d.cts.map +1 -1
  110. package/dist/agents/load.d.ts +8 -2
  111. package/dist/agents/load.d.ts.map +1 -1
  112. package/dist/agents/load.js +4 -5
  113. package/dist/agents/load.js.map +1 -1
  114. package/dist/agents/mrkl/index.cjs +16 -21
  115. package/dist/agents/mrkl/index.cjs.map +1 -1
  116. package/dist/agents/mrkl/index.d.cts +0 -1
  117. package/dist/agents/mrkl/index.d.cts.map +1 -1
  118. package/dist/agents/mrkl/index.d.ts +0 -1
  119. package/dist/agents/mrkl/index.d.ts.map +1 -1
  120. package/dist/agents/mrkl/index.js +13 -18
  121. package/dist/agents/mrkl/index.js.map +1 -1
  122. package/dist/agents/mrkl/outputParser.cjs +4 -5
  123. package/dist/agents/mrkl/outputParser.cjs.map +1 -1
  124. package/dist/agents/mrkl/outputParser.d.cts +1 -2
  125. package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
  126. package/dist/agents/mrkl/outputParser.d.ts +0 -1
  127. package/dist/agents/mrkl/outputParser.d.ts.map +1 -1
  128. package/dist/agents/mrkl/outputParser.js +1 -2
  129. package/dist/agents/mrkl/outputParser.js.map +1 -1
  130. package/dist/agents/mrkl/prompt.cjs.map +1 -1
  131. package/dist/agents/mrkl/prompt.js.map +1 -1
  132. package/dist/agents/openai/output_parser.cjs +3 -3
  133. package/dist/agents/openai/output_parser.js +2 -3
  134. package/dist/agents/openai_functions/index.cjs +22 -25
  135. package/dist/agents/openai_functions/index.cjs.map +1 -1
  136. package/dist/agents/openai_functions/index.d.cts +2 -5
  137. package/dist/agents/openai_functions/index.d.cts.map +1 -1
  138. package/dist/agents/openai_functions/index.d.ts +3 -6
  139. package/dist/agents/openai_functions/index.d.ts.map +1 -1
  140. package/dist/agents/openai_functions/index.js +8 -11
  141. package/dist/agents/openai_functions/index.js.map +1 -1
  142. package/dist/agents/openai_functions/output_parser.cjs +5 -5
  143. package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
  144. package/dist/agents/openai_functions/output_parser.d.cts +0 -1
  145. package/dist/agents/openai_functions/output_parser.d.cts.map +1 -1
  146. package/dist/agents/openai_functions/output_parser.d.ts +1 -2
  147. package/dist/agents/openai_functions/output_parser.d.ts.map +1 -1
  148. package/dist/agents/openai_functions/output_parser.js +1 -1
  149. package/dist/agents/openai_functions/output_parser.js.map +1 -1
  150. package/dist/agents/openai_functions/prompt.cjs.map +1 -1
  151. package/dist/agents/openai_functions/prompt.js.map +1 -1
  152. package/dist/agents/openai_tools/index.cjs +8 -9
  153. package/dist/agents/openai_tools/index.cjs.map +1 -1
  154. package/dist/agents/openai_tools/index.d.cts +4 -6
  155. package/dist/agents/openai_tools/index.d.cts.map +1 -1
  156. package/dist/agents/openai_tools/index.d.ts +4 -6
  157. package/dist/agents/openai_tools/index.d.ts.map +1 -1
  158. package/dist/agents/openai_tools/index.js +3 -4
  159. package/dist/agents/openai_tools/index.js.map +1 -1
  160. package/dist/agents/openai_tools/output_parser.cjs +5 -6
  161. package/dist/agents/openai_tools/output_parser.cjs.map +1 -1
  162. package/dist/agents/openai_tools/output_parser.d.cts +0 -1
  163. package/dist/agents/openai_tools/output_parser.d.cts.map +1 -1
  164. package/dist/agents/openai_tools/output_parser.d.ts +1 -2
  165. package/dist/agents/openai_tools/output_parser.d.ts.map +1 -1
  166. package/dist/agents/openai_tools/output_parser.js +1 -2
  167. package/dist/agents/openai_tools/output_parser.js.map +1 -1
  168. package/dist/agents/react/index.cjs +5 -6
  169. package/dist/agents/react/index.cjs.map +1 -1
  170. package/dist/agents/react/index.d.cts +3 -5
  171. package/dist/agents/react/index.d.cts.map +1 -1
  172. package/dist/agents/react/index.d.ts +3 -5
  173. package/dist/agents/react/index.d.ts.map +1 -1
  174. package/dist/agents/react/index.js +2 -3
  175. package/dist/agents/react/index.js.map +1 -1
  176. package/dist/agents/react/output_parser.cjs +15 -22
  177. package/dist/agents/react/output_parser.cjs.map +1 -1
  178. package/dist/agents/react/output_parser.d.cts +0 -1
  179. package/dist/agents/react/output_parser.d.cts.map +1 -1
  180. package/dist/agents/react/output_parser.d.ts +0 -1
  181. package/dist/agents/react/output_parser.d.ts.map +1 -1
  182. package/dist/agents/react/output_parser.js +9 -17
  183. package/dist/agents/react/output_parser.js.map +1 -1
  184. package/dist/agents/react/prompt.cjs.map +1 -1
  185. package/dist/agents/react/prompt.js.map +1 -1
  186. package/dist/agents/structured_chat/index.cjs +26 -29
  187. package/dist/agents/structured_chat/index.cjs.map +1 -1
  188. package/dist/agents/structured_chat/index.d.cts +1 -4
  189. package/dist/agents/structured_chat/index.d.cts.map +1 -1
  190. package/dist/agents/structured_chat/index.d.ts +3 -6
  191. package/dist/agents/structured_chat/index.d.ts.map +1 -1
  192. package/dist/agents/structured_chat/index.js +12 -15
  193. package/dist/agents/structured_chat/index.js.map +1 -1
  194. package/dist/agents/structured_chat/outputParser.cjs +10 -13
  195. package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
  196. package/dist/agents/structured_chat/outputParser.d.cts +0 -1
  197. package/dist/agents/structured_chat/outputParser.d.cts.map +1 -1
  198. package/dist/agents/structured_chat/outputParser.d.ts +0 -1
  199. package/dist/agents/structured_chat/outputParser.d.ts.map +1 -1
  200. package/dist/agents/structured_chat/outputParser.js +3 -6
  201. package/dist/agents/structured_chat/outputParser.js.map +1 -1
  202. package/dist/agents/structured_chat/prompt.cjs.map +1 -1
  203. package/dist/agents/structured_chat/prompt.js.map +1 -1
  204. package/dist/agents/tool_calling/index.cjs +5 -6
  205. package/dist/agents/tool_calling/index.cjs.map +1 -1
  206. package/dist/agents/tool_calling/index.d.cts +4 -6
  207. package/dist/agents/tool_calling/index.d.cts.map +1 -1
  208. package/dist/agents/tool_calling/index.d.ts +2 -4
  209. package/dist/agents/tool_calling/index.d.ts.map +1 -1
  210. package/dist/agents/tool_calling/index.js +2 -3
  211. package/dist/agents/tool_calling/index.js.map +1 -1
  212. package/dist/agents/tool_calling/output_parser.cjs +5 -5
  213. package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
  214. package/dist/agents/tool_calling/output_parser.d.cts +0 -1
  215. package/dist/agents/tool_calling/output_parser.d.cts.map +1 -1
  216. package/dist/agents/tool_calling/output_parser.d.ts +1 -2
  217. package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
  218. package/dist/agents/tool_calling/output_parser.js +1 -1
  219. package/dist/agents/tool_calling/output_parser.js.map +1 -1
  220. package/dist/agents/toolkits/base.cjs +2 -2
  221. package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +1 -2
  222. package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.map +1 -1
  223. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts.map +1 -1
  224. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts.map +1 -1
  225. package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +1 -2
  226. package/dist/agents/toolkits/conversational_retrieval/openai_functions.js.map +1 -1
  227. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +6 -6
  228. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
  229. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts +0 -1
  230. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts.map +1 -1
  231. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +0 -1
  232. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts.map +1 -1
  233. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
  234. package/dist/agents/toolkits/conversational_retrieval/tool.cjs +6 -7
  235. package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
  236. package/dist/agents/toolkits/conversational_retrieval/tool.d.cts.map +1 -1
  237. package/dist/agents/toolkits/conversational_retrieval/tool.d.ts.map +1 -1
  238. package/dist/agents/toolkits/conversational_retrieval/tool.js +2 -3
  239. package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
  240. package/dist/agents/toolkits/index.cjs +3 -3
  241. package/dist/agents/toolkits/index.js +2 -3
  242. package/dist/agents/toolkits/json/json.cjs +11 -13
  243. package/dist/agents/toolkits/json/json.cjs.map +1 -1
  244. package/dist/agents/toolkits/json/json.d.cts +0 -1
  245. package/dist/agents/toolkits/json/json.d.cts.map +1 -1
  246. package/dist/agents/toolkits/json/json.d.ts +0 -1
  247. package/dist/agents/toolkits/json/json.d.ts.map +1 -1
  248. package/dist/agents/toolkits/json/json.js +8 -10
  249. package/dist/agents/toolkits/json/json.js.map +1 -1
  250. package/dist/agents/toolkits/json/prompt.cjs.map +1 -1
  251. package/dist/agents/toolkits/json/prompt.js.map +1 -1
  252. package/dist/agents/toolkits/openapi/openapi.cjs +14 -18
  253. package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
  254. package/dist/agents/toolkits/openapi/openapi.d.cts +0 -1
  255. package/dist/agents/toolkits/openapi/openapi.d.cts.map +1 -1
  256. package/dist/agents/toolkits/openapi/openapi.d.ts +0 -1
  257. package/dist/agents/toolkits/openapi/openapi.d.ts.map +1 -1
  258. package/dist/agents/toolkits/openapi/openapi.js +10 -14
  259. package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
  260. package/dist/agents/toolkits/openapi/prompt.cjs.map +1 -1
  261. package/dist/agents/toolkits/openapi/prompt.js.map +1 -1
  262. package/dist/agents/toolkits/sql/index.cjs +3 -3
  263. package/dist/agents/toolkits/sql/index.js +2 -3
  264. package/dist/agents/toolkits/sql/prompt.cjs.map +1 -1
  265. package/dist/agents/toolkits/sql/prompt.d.cts.map +1 -1
  266. package/dist/agents/toolkits/sql/prompt.d.ts.map +1 -1
  267. package/dist/agents/toolkits/sql/prompt.js.map +1 -1
  268. package/dist/agents/toolkits/sql/sql.cjs +13 -15
  269. package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
  270. package/dist/agents/toolkits/sql/sql.d.cts +0 -1
  271. package/dist/agents/toolkits/sql/sql.d.cts.map +1 -1
  272. package/dist/agents/toolkits/sql/sql.d.ts +0 -1
  273. package/dist/agents/toolkits/sql/sql.d.ts.map +1 -1
  274. package/dist/agents/toolkits/sql/sql.js +8 -10
  275. package/dist/agents/toolkits/sql/sql.js.map +1 -1
  276. package/dist/agents/toolkits/vectorstore/prompt.cjs.map +1 -1
  277. package/dist/agents/toolkits/vectorstore/prompt.js.map +1 -1
  278. package/dist/agents/toolkits/vectorstore/vectorstore.cjs +20 -24
  279. package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
  280. package/dist/agents/toolkits/vectorstore/vectorstore.d.cts +0 -1
  281. package/dist/agents/toolkits/vectorstore/vectorstore.d.cts.map +1 -1
  282. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +0 -1
  283. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts.map +1 -1
  284. package/dist/agents/toolkits/vectorstore/vectorstore.js +16 -20
  285. package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
  286. package/dist/agents/types.cjs +4 -4
  287. package/dist/agents/types.cjs.map +1 -1
  288. package/dist/agents/types.d.cts +0 -1
  289. package/dist/agents/types.d.cts.map +1 -1
  290. package/dist/agents/types.d.ts +1 -2
  291. package/dist/agents/types.d.ts.map +1 -1
  292. package/dist/agents/types.js.map +1 -1
  293. package/dist/agents/xml/index.cjs +12 -15
  294. package/dist/agents/xml/index.cjs.map +1 -1
  295. package/dist/agents/xml/index.d.cts +1 -4
  296. package/dist/agents/xml/index.d.cts.map +1 -1
  297. package/dist/agents/xml/index.d.ts +1 -4
  298. package/dist/agents/xml/index.d.ts.map +1 -1
  299. package/dist/agents/xml/index.js +7 -10
  300. package/dist/agents/xml/index.js.map +1 -1
  301. package/dist/agents/xml/output_parser.cjs +7 -9
  302. package/dist/agents/xml/output_parser.cjs.map +1 -1
  303. package/dist/agents/xml/output_parser.d.cts +0 -1
  304. package/dist/agents/xml/output_parser.d.cts.map +1 -1
  305. package/dist/agents/xml/output_parser.d.ts +0 -1
  306. package/dist/agents/xml/output_parser.d.ts.map +1 -1
  307. package/dist/agents/xml/output_parser.js +4 -7
  308. package/dist/agents/xml/output_parser.js.map +1 -1
  309. package/dist/agents/xml/prompt.cjs.map +1 -1
  310. package/dist/agents/xml/prompt.js.map +1 -1
  311. package/dist/cache/file_system.cjs +11 -9
  312. package/dist/cache/file_system.cjs.map +1 -1
  313. package/dist/cache/file_system.d.cts +0 -1
  314. package/dist/cache/file_system.d.cts.map +1 -1
  315. package/dist/cache/file_system.d.ts +0 -1
  316. package/dist/cache/file_system.d.ts.map +1 -1
  317. package/dist/cache/file_system.js +2 -3
  318. package/dist/cache/file_system.js.map +1 -1
  319. package/dist/callbacks/handlers/console.cjs +6 -6
  320. package/dist/callbacks/handlers/console.d.cts +3 -2
  321. package/dist/callbacks/handlers/console.d.cts.map +1 -1
  322. package/dist/callbacks/handlers/console.d.ts +3 -2
  323. package/dist/callbacks/handlers/console.d.ts.map +1 -1
  324. package/dist/callbacks/handlers/console.js +4 -4
  325. package/dist/callbacks/handlers/run_collector.cjs +6 -6
  326. package/dist/callbacks/handlers/run_collector.d.cts +3 -2
  327. package/dist/callbacks/handlers/run_collector.d.cts.map +1 -1
  328. package/dist/callbacks/handlers/run_collector.d.ts +3 -2
  329. package/dist/callbacks/handlers/run_collector.d.ts.map +1 -1
  330. package/dist/callbacks/handlers/run_collector.js +4 -4
  331. package/dist/callbacks/handlers/tracer.cjs +6 -6
  332. package/dist/callbacks/handlers/tracer.d.cts +3 -2
  333. package/dist/callbacks/handlers/tracer.d.cts.map +1 -1
  334. package/dist/callbacks/handlers/tracer.d.ts +3 -2
  335. package/dist/callbacks/handlers/tracer.d.ts.map +1 -1
  336. package/dist/callbacks/handlers/tracer.js +4 -4
  337. package/dist/callbacks/handlers/tracer_langchain.cjs +6 -6
  338. package/dist/callbacks/handlers/tracer_langchain.d.cts +3 -2
  339. package/dist/callbacks/handlers/tracer_langchain.d.cts.map +1 -1
  340. package/dist/callbacks/handlers/tracer_langchain.d.ts +3 -2
  341. package/dist/callbacks/handlers/tracer_langchain.d.ts.map +1 -1
  342. package/dist/callbacks/handlers/tracer_langchain.js +4 -4
  343. package/dist/callbacks/index.cjs +3 -3
  344. package/dist/callbacks/index.js +2 -3
  345. package/dist/callbacks/promises.cjs +6 -6
  346. package/dist/callbacks/promises.d.cts +3 -2
  347. package/dist/callbacks/promises.d.cts.map +1 -1
  348. package/dist/callbacks/promises.d.ts +3 -2
  349. package/dist/callbacks/promises.d.ts.map +1 -1
  350. package/dist/callbacks/promises.js +4 -4
  351. package/dist/chains/analyze_documents_chain.cjs +6 -8
  352. package/dist/chains/analyze_documents_chain.cjs.map +1 -1
  353. package/dist/chains/analyze_documents_chain.d.cts.map +1 -1
  354. package/dist/chains/analyze_documents_chain.d.ts +1 -1
  355. package/dist/chains/analyze_documents_chain.d.ts.map +1 -1
  356. package/dist/chains/analyze_documents_chain.js +3 -5
  357. package/dist/chains/analyze_documents_chain.js.map +1 -1
  358. package/dist/chains/api/api_chain.cjs +1 -2
  359. package/dist/chains/api/api_chain.cjs.map +1 -1
  360. package/dist/chains/api/api_chain.d.cts +0 -1
  361. package/dist/chains/api/api_chain.d.cts.map +1 -1
  362. package/dist/chains/api/api_chain.d.ts +0 -1
  363. package/dist/chains/api/api_chain.d.ts.map +1 -1
  364. package/dist/chains/api/api_chain.js +1 -2
  365. package/dist/chains/api/api_chain.js.map +1 -1
  366. package/dist/chains/api/prompts.cjs +4 -4
  367. package/dist/chains/api/prompts.cjs.map +1 -1
  368. package/dist/chains/api/prompts.js.map +1 -1
  369. package/dist/chains/base.cjs +12 -14
  370. package/dist/chains/base.cjs.map +1 -1
  371. package/dist/chains/base.d.cts +3 -0
  372. package/dist/chains/base.d.cts.map +1 -1
  373. package/dist/chains/base.d.ts +3 -0
  374. package/dist/chains/base.d.ts.map +1 -1
  375. package/dist/chains/base.js +3 -5
  376. package/dist/chains/base.js.map +1 -1
  377. package/dist/chains/chat_vector_db_chain.cjs +9 -11
  378. package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
  379. package/dist/chains/chat_vector_db_chain.d.cts.map +1 -1
  380. package/dist/chains/chat_vector_db_chain.d.ts.map +1 -1
  381. package/dist/chains/chat_vector_db_chain.js +6 -8
  382. package/dist/chains/chat_vector_db_chain.js.map +1 -1
  383. package/dist/chains/combine_docs_chain.cjs +15 -24
  384. package/dist/chains/combine_docs_chain.cjs.map +1 -1
  385. package/dist/chains/combine_docs_chain.d.cts.map +1 -1
  386. package/dist/chains/combine_docs_chain.d.ts +1 -1
  387. package/dist/chains/combine_docs_chain.d.ts.map +1 -1
  388. package/dist/chains/combine_docs_chain.js +12 -21
  389. package/dist/chains/combine_docs_chain.js.map +1 -1
  390. package/dist/chains/combine_documents/base.cjs +5 -6
  391. package/dist/chains/combine_documents/base.cjs.map +1 -1
  392. package/dist/chains/combine_documents/base.js +2 -3
  393. package/dist/chains/combine_documents/base.js.map +1 -1
  394. package/dist/chains/combine_documents/index.cjs +3 -3
  395. package/dist/chains/combine_documents/index.js +2 -3
  396. package/dist/chains/combine_documents/reduce.cjs +5 -7
  397. package/dist/chains/combine_documents/reduce.cjs.map +1 -1
  398. package/dist/chains/combine_documents/reduce.d.cts +0 -1
  399. package/dist/chains/combine_documents/reduce.d.cts.map +1 -1
  400. package/dist/chains/combine_documents/reduce.d.ts +0 -1
  401. package/dist/chains/combine_documents/reduce.d.ts.map +1 -1
  402. package/dist/chains/combine_documents/reduce.js +4 -7
  403. package/dist/chains/combine_documents/reduce.js.map +1 -1
  404. package/dist/chains/combine_documents/stuff.cjs +6 -6
  405. package/dist/chains/combine_documents/stuff.cjs.map +1 -1
  406. package/dist/chains/combine_documents/stuff.d.cts +0 -1
  407. package/dist/chains/combine_documents/stuff.d.cts.map +1 -1
  408. package/dist/chains/combine_documents/stuff.d.ts +0 -1
  409. package/dist/chains/combine_documents/stuff.d.ts.map +1 -1
  410. package/dist/chains/combine_documents/stuff.js.map +1 -1
  411. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
  412. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -1
  413. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +1 -1
  414. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -1
  415. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +1 -1
  416. package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
  417. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
  418. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -1
  419. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +1 -1
  420. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -1
  421. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +1 -1
  422. package/dist/chains/constitutional_ai/constitutional_principle.js.map +1 -1
  423. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -5
  424. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
  425. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
  426. package/dist/chains/conversation.cjs +4 -4
  427. package/dist/chains/conversation.cjs.map +1 -1
  428. package/dist/chains/conversation.d.cts +0 -1
  429. package/dist/chains/conversation.d.cts.map +1 -1
  430. package/dist/chains/conversation.d.ts +0 -1
  431. package/dist/chains/conversation.d.ts.map +1 -1
  432. package/dist/chains/conversation.js +1 -1
  433. package/dist/chains/conversation.js.map +1 -1
  434. package/dist/chains/conversational_retrieval_chain.cjs +12 -14
  435. package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
  436. package/dist/chains/conversational_retrieval_chain.d.cts +2 -4
  437. package/dist/chains/conversational_retrieval_chain.d.cts.map +1 -1
  438. package/dist/chains/conversational_retrieval_chain.d.ts +3 -5
  439. package/dist/chains/conversational_retrieval_chain.d.ts.map +1 -1
  440. package/dist/chains/conversational_retrieval_chain.js +7 -9
  441. package/dist/chains/conversational_retrieval_chain.js.map +1 -1
  442. package/dist/chains/graph_qa/cypher.cjs +8 -10
  443. package/dist/chains/graph_qa/cypher.cjs.map +1 -1
  444. package/dist/chains/graph_qa/cypher.d.cts.map +1 -1
  445. package/dist/chains/graph_qa/cypher.d.ts.map +1 -1
  446. package/dist/chains/graph_qa/cypher.js +7 -10
  447. package/dist/chains/graph_qa/cypher.js.map +1 -1
  448. package/dist/chains/graph_qa/prompts.cjs +4 -4
  449. package/dist/chains/graph_qa/prompts.cjs.map +1 -1
  450. package/dist/chains/graph_qa/prompts.js.map +1 -1
  451. package/dist/chains/history_aware_retriever.cjs +7 -8
  452. package/dist/chains/history_aware_retriever.cjs.map +1 -1
  453. package/dist/chains/history_aware_retriever.d.cts +0 -1
  454. package/dist/chains/history_aware_retriever.d.cts.map +1 -1
  455. package/dist/chains/history_aware_retriever.d.ts +2 -3
  456. package/dist/chains/history_aware_retriever.d.ts.map +1 -1
  457. package/dist/chains/history_aware_retriever.js +3 -5
  458. package/dist/chains/history_aware_retriever.js.map +1 -1
  459. package/dist/chains/index.cjs +3 -3
  460. package/dist/chains/index.js +2 -3
  461. package/dist/chains/llm_chain.cjs +12 -15
  462. package/dist/chains/llm_chain.cjs.map +1 -1
  463. package/dist/chains/llm_chain.d.cts.map +1 -1
  464. package/dist/chains/llm_chain.d.ts +1 -1
  465. package/dist/chains/llm_chain.d.ts.map +1 -1
  466. package/dist/chains/llm_chain.js +3 -6
  467. package/dist/chains/llm_chain.js.map +1 -1
  468. package/dist/chains/load.cjs +3 -3
  469. package/dist/chains/load.cjs.map +1 -1
  470. package/dist/chains/load.d.cts +0 -1
  471. package/dist/chains/load.d.cts.map +1 -1
  472. package/dist/chains/load.d.ts +0 -1
  473. package/dist/chains/load.d.ts.map +1 -1
  474. package/dist/chains/load.js +2 -3
  475. package/dist/chains/load.js.map +1 -1
  476. package/dist/chains/openai_functions/base.cjs +8 -10
  477. package/dist/chains/openai_functions/base.cjs.map +1 -1
  478. package/dist/chains/openai_functions/base.d.cts +3 -7
  479. package/dist/chains/openai_functions/base.d.cts.map +1 -1
  480. package/dist/chains/openai_functions/base.d.ts +4 -8
  481. package/dist/chains/openai_functions/base.d.ts.map +1 -1
  482. package/dist/chains/openai_functions/base.js +5 -7
  483. package/dist/chains/openai_functions/base.js.map +1 -1
  484. package/dist/chains/openai_functions/extraction.cjs +5 -5
  485. package/dist/chains/openai_functions/extraction.cjs.map +1 -1
  486. package/dist/chains/openai_functions/extraction.d.cts +0 -1
  487. package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
  488. package/dist/chains/openai_functions/extraction.d.ts +1 -2
  489. package/dist/chains/openai_functions/extraction.d.ts.map +1 -1
  490. package/dist/chains/openai_functions/extraction.js.map +1 -1
  491. package/dist/chains/openai_functions/index.cjs +3 -3
  492. package/dist/chains/openai_functions/index.js +2 -3
  493. package/dist/chains/openai_functions/openapi.cjs +12 -19
  494. package/dist/chains/openai_functions/openapi.cjs.map +1 -1
  495. package/dist/chains/openai_functions/openapi.d.cts +0 -2
  496. package/dist/chains/openai_functions/openapi.d.cts.map +1 -1
  497. package/dist/chains/openai_functions/openapi.d.ts +0 -2
  498. package/dist/chains/openai_functions/openapi.d.ts.map +1 -1
  499. package/dist/chains/openai_functions/openapi.js +9 -16
  500. package/dist/chains/openai_functions/openapi.js.map +1 -1
  501. package/dist/chains/openai_functions/tagging.cjs +5 -5
  502. package/dist/chains/openai_functions/tagging.cjs.map +1 -1
  503. package/dist/chains/openai_functions/tagging.d.cts +0 -1
  504. package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
  505. package/dist/chains/openai_functions/tagging.d.ts +1 -2
  506. package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
  507. package/dist/chains/openai_functions/tagging.js +1 -1
  508. package/dist/chains/openai_functions/tagging.js.map +1 -1
  509. package/dist/chains/openai_moderation.cjs +7 -7
  510. package/dist/chains/openai_moderation.cjs.map +1 -1
  511. package/dist/chains/openai_moderation.d.cts +0 -1
  512. package/dist/chains/openai_moderation.d.cts.map +1 -1
  513. package/dist/chains/openai_moderation.d.ts +0 -1
  514. package/dist/chains/openai_moderation.d.ts.map +1 -1
  515. package/dist/chains/openai_moderation.js.map +1 -1
  516. package/dist/chains/query_constructor/index.cjs +19 -25
  517. package/dist/chains/query_constructor/index.cjs.map +1 -1
  518. package/dist/chains/query_constructor/index.d.cts +0 -1
  519. package/dist/chains/query_constructor/index.d.cts.map +1 -1
  520. package/dist/chains/query_constructor/index.d.ts +0 -1
  521. package/dist/chains/query_constructor/index.d.ts.map +1 -1
  522. package/dist/chains/query_constructor/index.js +11 -18
  523. package/dist/chains/query_constructor/index.js.map +1 -1
  524. package/dist/chains/query_constructor/ir.cjs +7 -6
  525. package/dist/chains/query_constructor/ir.js +4 -4
  526. package/dist/chains/query_constructor/parser.cjs +8 -9
  527. package/dist/chains/query_constructor/parser.cjs.map +1 -1
  528. package/dist/chains/query_constructor/parser.d.cts +0 -1
  529. package/dist/chains/query_constructor/parser.d.cts.map +1 -1
  530. package/dist/chains/query_constructor/parser.d.ts +0 -1
  531. package/dist/chains/query_constructor/parser.d.ts.map +1 -1
  532. package/dist/chains/query_constructor/parser.js +1 -2
  533. package/dist/chains/query_constructor/parser.js.map +1 -1
  534. package/dist/chains/query_constructor/prompt.cjs +3 -3
  535. package/dist/chains/query_constructor/prompt.cjs.map +1 -1
  536. package/dist/chains/query_constructor/prompt.d.cts +0 -1
  537. package/dist/chains/query_constructor/prompt.d.cts.map +1 -1
  538. package/dist/chains/query_constructor/prompt.d.ts +0 -1
  539. package/dist/chains/query_constructor/prompt.d.ts.map +1 -1
  540. package/dist/chains/query_constructor/prompt.js.map +1 -1
  541. package/dist/chains/question_answering/load.cjs +32 -41
  542. package/dist/chains/question_answering/load.cjs.map +1 -1
  543. package/dist/chains/question_answering/load.d.cts +0 -1
  544. package/dist/chains/question_answering/load.d.cts.map +1 -1
  545. package/dist/chains/question_answering/load.d.ts +0 -1
  546. package/dist/chains/question_answering/load.d.ts.map +1 -1
  547. package/dist/chains/question_answering/load.js +32 -41
  548. package/dist/chains/question_answering/load.js.map +1 -1
  549. package/dist/chains/question_answering/map_reduce_prompts.cjs +13 -15
  550. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
  551. package/dist/chains/question_answering/map_reduce_prompts.js +4 -6
  552. package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
  553. package/dist/chains/question_answering/refine_prompts.cjs +16 -18
  554. package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
  555. package/dist/chains/question_answering/refine_prompts.js +7 -9
  556. package/dist/chains/question_answering/refine_prompts.js.map +1 -1
  557. package/dist/chains/question_answering/stuff_prompts.cjs +8 -9
  558. package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
  559. package/dist/chains/question_answering/stuff_prompts.js +2 -3
  560. package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
  561. package/dist/chains/retrieval.cjs +7 -8
  562. package/dist/chains/retrieval.cjs.map +1 -1
  563. package/dist/chains/retrieval.d.cts +0 -1
  564. package/dist/chains/retrieval.d.cts.map +1 -1
  565. package/dist/chains/retrieval.d.ts +2 -3
  566. package/dist/chains/retrieval.d.ts.map +1 -1
  567. package/dist/chains/retrieval.js +3 -5
  568. package/dist/chains/retrieval.js.map +1 -1
  569. package/dist/chains/retrieval_qa.cjs.map +1 -1
  570. package/dist/chains/retrieval_qa.d.cts.map +1 -1
  571. package/dist/chains/retrieval_qa.d.ts.map +1 -1
  572. package/dist/chains/retrieval_qa.js.map +1 -1
  573. package/dist/chains/router/llm_router.cjs.map +1 -1
  574. package/dist/chains/router/llm_router.d.cts +0 -1
  575. package/dist/chains/router/llm_router.d.cts.map +1 -1
  576. package/dist/chains/router/llm_router.d.ts +0 -1
  577. package/dist/chains/router/llm_router.d.ts.map +1 -1
  578. package/dist/chains/router/llm_router.js.map +1 -1
  579. package/dist/chains/router/multi_prompt.cjs +8 -10
  580. package/dist/chains/router/multi_prompt.cjs.map +1 -1
  581. package/dist/chains/router/multi_prompt.d.cts +0 -1
  582. package/dist/chains/router/multi_prompt.d.cts.map +1 -1
  583. package/dist/chains/router/multi_prompt.d.ts +0 -1
  584. package/dist/chains/router/multi_prompt.d.ts.map +1 -1
  585. package/dist/chains/router/multi_prompt.js +3 -5
  586. package/dist/chains/router/multi_prompt.js.map +1 -1
  587. package/dist/chains/router/multi_prompt_prompt.cjs.map +1 -1
  588. package/dist/chains/router/multi_prompt_prompt.js.map +1 -1
  589. package/dist/chains/router/multi_retrieval_prompt.cjs.map +1 -1
  590. package/dist/chains/router/multi_retrieval_prompt.js.map +1 -1
  591. package/dist/chains/router/multi_retrieval_qa.cjs +15 -22
  592. package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
  593. package/dist/chains/router/multi_retrieval_qa.d.cts +0 -1
  594. package/dist/chains/router/multi_retrieval_qa.d.cts.map +1 -1
  595. package/dist/chains/router/multi_retrieval_qa.d.ts +0 -1
  596. package/dist/chains/router/multi_retrieval_qa.d.ts.map +1 -1
  597. package/dist/chains/router/multi_retrieval_qa.js +11 -18
  598. package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
  599. package/dist/chains/router/multi_route.cjs.map +1 -1
  600. package/dist/chains/router/multi_route.d.cts +0 -1
  601. package/dist/chains/router/multi_route.d.cts.map +1 -1
  602. package/dist/chains/router/multi_route.d.ts +0 -1
  603. package/dist/chains/router/multi_route.d.ts.map +1 -1
  604. package/dist/chains/router/multi_route.js.map +1 -1
  605. package/dist/chains/router/utils.cjs.map +1 -1
  606. package/dist/chains/router/utils.js.map +1 -1
  607. package/dist/chains/sequential_chain.cjs.map +1 -1
  608. package/dist/chains/sequential_chain.d.cts +0 -1
  609. package/dist/chains/sequential_chain.d.cts.map +1 -1
  610. package/dist/chains/sequential_chain.d.ts +0 -1
  611. package/dist/chains/sequential_chain.d.ts.map +1 -1
  612. package/dist/chains/sequential_chain.js.map +1 -1
  613. package/dist/chains/serde.d.cts +0 -1
  614. package/dist/chains/serde.d.cts.map +1 -1
  615. package/dist/chains/serde.d.ts +0 -1
  616. package/dist/chains/serde.d.ts.map +1 -1
  617. package/dist/chains/sql_db/index.cjs +3 -3
  618. package/dist/chains/sql_db/index.js +2 -3
  619. package/dist/chains/sql_db/sql_db_chain.cjs +19 -24
  620. package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
  621. package/dist/chains/sql_db/sql_db_chain.d.cts +0 -1
  622. package/dist/chains/sql_db/sql_db_chain.d.cts.map +1 -1
  623. package/dist/chains/sql_db/sql_db_chain.d.ts +0 -1
  624. package/dist/chains/sql_db/sql_db_chain.d.ts.map +1 -1
  625. package/dist/chains/sql_db/sql_db_chain.js +13 -18
  626. package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
  627. package/dist/chains/sql_db/sql_db_prompt.cjs +9 -9
  628. package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
  629. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
  630. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
  631. package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
  632. package/dist/chains/summarization/load.cjs +32 -41
  633. package/dist/chains/summarization/load.cjs.map +1 -1
  634. package/dist/chains/summarization/load.d.cts +0 -1
  635. package/dist/chains/summarization/load.d.cts.map +1 -1
  636. package/dist/chains/summarization/load.d.ts +0 -1
  637. package/dist/chains/summarization/load.d.ts.map +1 -1
  638. package/dist/chains/summarization/load.js +32 -41
  639. package/dist/chains/summarization/load.js.map +1 -1
  640. package/dist/chains/summarization/refine_prompts.cjs +3 -3
  641. package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
  642. package/dist/chains/summarization/refine_prompts.js.map +1 -1
  643. package/dist/chains/summarization/stuff_prompts.cjs +3 -3
  644. package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
  645. package/dist/chains/summarization/stuff_prompts.js.map +1 -1
  646. package/dist/chains/transform.cjs.map +1 -1
  647. package/dist/chains/transform.d.cts +0 -1
  648. package/dist/chains/transform.d.cts.map +1 -1
  649. package/dist/chains/transform.d.ts +0 -1
  650. package/dist/chains/transform.d.ts.map +1 -1
  651. package/dist/chains/transform.js.map +1 -1
  652. package/dist/chains/vector_db_qa.cjs.map +1 -1
  653. package/dist/chains/vector_db_qa.d.cts.map +1 -1
  654. package/dist/chains/vector_db_qa.d.ts.map +1 -1
  655. package/dist/chains/vector_db_qa.js.map +1 -1
  656. package/dist/chat_models/universal.cjs +33 -39
  657. package/dist/chat_models/universal.cjs.map +1 -1
  658. package/dist/chat_models/universal.d.cts.map +1 -1
  659. package/dist/chat_models/universal.d.ts +1 -1
  660. package/dist/chat_models/universal.d.ts.map +1 -1
  661. package/dist/chat_models/universal.js +20 -27
  662. package/dist/chat_models/universal.js.map +1 -1
  663. package/dist/document.cjs +5 -5
  664. package/dist/document.js +2 -3
  665. package/dist/document_loaders/base.cjs +7 -6
  666. package/dist/document_loaders/base.js +4 -4
  667. package/dist/document_loaders/fs/buffer.cjs +7 -7
  668. package/dist/document_loaders/fs/buffer.cjs.map +1 -1
  669. package/dist/document_loaders/fs/buffer.d.cts +0 -1
  670. package/dist/document_loaders/fs/buffer.d.cts.map +1 -1
  671. package/dist/document_loaders/fs/buffer.d.ts +1 -2
  672. package/dist/document_loaders/fs/buffer.d.ts.map +1 -1
  673. package/dist/document_loaders/fs/buffer.js +2 -3
  674. package/dist/document_loaders/fs/buffer.js.map +1 -1
  675. package/dist/document_loaders/fs/directory.cjs +7 -7
  676. package/dist/document_loaders/fs/directory.cjs.map +1 -1
  677. package/dist/document_loaders/fs/directory.d.cts.map +1 -1
  678. package/dist/document_loaders/fs/directory.d.ts +1 -1
  679. package/dist/document_loaders/fs/directory.d.ts.map +1 -1
  680. package/dist/document_loaders/fs/directory.js +2 -3
  681. package/dist/document_loaders/fs/directory.js.map +1 -1
  682. package/dist/document_loaders/fs/json.cjs +7 -8
  683. package/dist/document_loaders/fs/json.cjs.map +1 -1
  684. package/dist/document_loaders/fs/json.d.cts +0 -1
  685. package/dist/document_loaders/fs/json.d.cts.map +1 -1
  686. package/dist/document_loaders/fs/json.d.ts +0 -1
  687. package/dist/document_loaders/fs/json.d.ts.map +1 -1
  688. package/dist/document_loaders/fs/json.js +4 -7
  689. package/dist/document_loaders/fs/json.js.map +1 -1
  690. package/dist/document_loaders/fs/multi_file.cjs +8 -9
  691. package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
  692. package/dist/document_loaders/fs/multi_file.d.cts +0 -1
  693. package/dist/document_loaders/fs/multi_file.d.cts.map +1 -1
  694. package/dist/document_loaders/fs/multi_file.d.ts +0 -1
  695. package/dist/document_loaders/fs/multi_file.d.ts.map +1 -1
  696. package/dist/document_loaders/fs/multi_file.js +3 -5
  697. package/dist/document_loaders/fs/multi_file.js.map +1 -1
  698. package/dist/document_loaders/fs/text.cjs +9 -9
  699. package/dist/document_loaders/fs/text.cjs.map +1 -1
  700. package/dist/document_loaders/fs/text.d.cts +0 -1
  701. package/dist/document_loaders/fs/text.d.cts.map +1 -1
  702. package/dist/document_loaders/fs/text.d.ts +1 -2
  703. package/dist/document_loaders/fs/text.d.ts.map +1 -1
  704. package/dist/document_loaders/fs/text.js +3 -4
  705. package/dist/document_loaders/fs/text.js.map +1 -1
  706. package/dist/document_transformers/openai_functions.cjs +12 -14
  707. package/dist/document_transformers/openai_functions.cjs.map +1 -1
  708. package/dist/document_transformers/openai_functions.d.cts +0 -1
  709. package/dist/document_transformers/openai_functions.d.cts.map +1 -1
  710. package/dist/document_transformers/openai_functions.d.ts +1 -1
  711. package/dist/document_transformers/openai_functions.d.ts.map +1 -1
  712. package/dist/document_transformers/openai_functions.js +6 -9
  713. package/dist/document_transformers/openai_functions.js.map +1 -1
  714. package/dist/embeddings/cache_backed.cjs +7 -7
  715. package/dist/embeddings/cache_backed.cjs.map +1 -1
  716. package/dist/embeddings/cache_backed.d.cts +0 -1
  717. package/dist/embeddings/cache_backed.d.cts.map +1 -1
  718. package/dist/embeddings/cache_backed.d.ts +0 -1
  719. package/dist/embeddings/cache_backed.d.ts.map +1 -1
  720. package/dist/embeddings/cache_backed.js +2 -3
  721. package/dist/embeddings/cache_backed.js.map +1 -1
  722. package/dist/embeddings/fake.cjs +7 -6
  723. package/dist/embeddings/fake.js +4 -4
  724. package/dist/evaluation/agents/index.js +2 -0
  725. package/dist/evaluation/agents/prompt.cjs +15 -12
  726. package/dist/evaluation/agents/prompt.cjs.map +1 -1
  727. package/dist/evaluation/agents/prompt.js +3 -0
  728. package/dist/evaluation/agents/prompt.js.map +1 -1
  729. package/dist/evaluation/agents/trajectory.cjs +5 -5
  730. package/dist/evaluation/agents/trajectory.cjs.map +1 -1
  731. package/dist/evaluation/agents/trajectory.d.cts +2 -2
  732. package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
  733. package/dist/evaluation/agents/trajectory.d.ts +2 -2
  734. package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
  735. package/dist/evaluation/agents/trajectory.js.map +1 -1
  736. package/dist/evaluation/base.cjs.map +1 -1
  737. package/dist/evaluation/base.d.cts.map +1 -1
  738. package/dist/evaluation/base.d.ts.map +1 -1
  739. package/dist/evaluation/base.js.map +1 -1
  740. package/dist/evaluation/comparison/index.js +2 -0
  741. package/dist/evaluation/comparison/pairwise.cjs +16 -21
  742. package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
  743. package/dist/evaluation/comparison/pairwise.d.cts +3 -3
  744. package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
  745. package/dist/evaluation/comparison/pairwise.d.ts +3 -3
  746. package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
  747. package/dist/evaluation/comparison/pairwise.js +11 -16
  748. package/dist/evaluation/comparison/pairwise.js.map +1 -1
  749. package/dist/evaluation/comparison/prompt.cjs +11 -4
  750. package/dist/evaluation/comparison/prompt.cjs.map +1 -1
  751. package/dist/evaluation/comparison/prompt.js +7 -0
  752. package/dist/evaluation/comparison/prompt.js.map +1 -1
  753. package/dist/evaluation/criteria/criteria.cjs +7 -9
  754. package/dist/evaluation/criteria/criteria.cjs.map +1 -1
  755. package/dist/evaluation/criteria/criteria.d.cts +3 -3
  756. package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
  757. package/dist/evaluation/criteria/criteria.d.ts +3 -3
  758. package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
  759. package/dist/evaluation/criteria/criteria.js +2 -4
  760. package/dist/evaluation/criteria/criteria.js.map +1 -1
  761. package/dist/evaluation/criteria/index.js +2 -0
  762. package/dist/evaluation/criteria/prompt.cjs +4 -4
  763. package/dist/evaluation/criteria/prompt.cjs.map +1 -1
  764. package/dist/evaluation/criteria/prompt.js.map +1 -1
  765. package/dist/evaluation/embedding_distance/base.cjs +5 -9
  766. package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
  767. package/dist/evaluation/embedding_distance/base.d.cts +0 -1
  768. package/dist/evaluation/embedding_distance/base.d.cts.map +1 -1
  769. package/dist/evaluation/embedding_distance/base.d.ts +0 -1
  770. package/dist/evaluation/embedding_distance/base.d.ts.map +1 -1
  771. package/dist/evaluation/embedding_distance/base.js +5 -9
  772. package/dist/evaluation/embedding_distance/base.js.map +1 -1
  773. package/dist/evaluation/embedding_distance/index.js +2 -0
  774. package/dist/evaluation/index.cjs +3 -3
  775. package/dist/evaluation/index.js +2 -3
  776. package/dist/evaluation/loader.cjs +3 -3
  777. package/dist/evaluation/loader.cjs.map +1 -1
  778. package/dist/evaluation/loader.d.cts.map +1 -1
  779. package/dist/evaluation/loader.d.ts.map +1 -1
  780. package/dist/evaluation/loader.js.map +1 -1
  781. package/dist/evaluation/qa/eval_chain.cjs +1 -2
  782. package/dist/evaluation/qa/eval_chain.cjs.map +1 -1
  783. package/dist/evaluation/qa/eval_chain.d.cts.map +1 -1
  784. package/dist/evaluation/qa/eval_chain.d.ts.map +1 -1
  785. package/dist/evaluation/qa/eval_chain.js +1 -2
  786. package/dist/evaluation/qa/eval_chain.js.map +1 -1
  787. package/dist/evaluation/qa/index.js +2 -0
  788. package/dist/evaluation/qa/prompt.cjs +3 -3
  789. package/dist/evaluation/qa/prompt.cjs.map +1 -1
  790. package/dist/evaluation/qa/prompt.js.map +1 -1
  791. package/dist/evaluation/types.d.cts.map +1 -1
  792. package/dist/evaluation/types.d.ts.map +1 -1
  793. package/dist/experimental/autogpt/agent.cjs +18 -21
  794. package/dist/experimental/autogpt/agent.cjs.map +1 -1
  795. package/dist/experimental/autogpt/agent.d.cts +0 -1
  796. package/dist/experimental/autogpt/agent.d.cts.map +1 -1
  797. package/dist/experimental/autogpt/agent.d.ts +1 -2
  798. package/dist/experimental/autogpt/agent.d.ts.map +1 -1
  799. package/dist/experimental/autogpt/agent.js +12 -15
  800. package/dist/experimental/autogpt/agent.js.map +1 -1
  801. package/dist/experimental/autogpt/index.cjs +3 -3
  802. package/dist/experimental/autogpt/index.js +2 -3
  803. package/dist/experimental/autogpt/output_parser.cjs +3 -3
  804. package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
  805. package/dist/experimental/autogpt/output_parser.d.cts +0 -1
  806. package/dist/experimental/autogpt/output_parser.d.cts.map +1 -1
  807. package/dist/experimental/autogpt/output_parser.d.ts +0 -1
  808. package/dist/experimental/autogpt/output_parser.d.ts.map +1 -1
  809. package/dist/experimental/autogpt/output_parser.js.map +1 -1
  810. package/dist/experimental/autogpt/prompt.cjs +13 -18
  811. package/dist/experimental/autogpt/prompt.cjs.map +1 -1
  812. package/dist/experimental/autogpt/prompt.d.cts +2 -2
  813. package/dist/experimental/autogpt/prompt.d.cts.map +1 -1
  814. package/dist/experimental/autogpt/prompt.d.ts +3 -3
  815. package/dist/experimental/autogpt/prompt.d.ts.map +1 -1
  816. package/dist/experimental/autogpt/prompt.js +7 -12
  817. package/dist/experimental/autogpt/prompt.js.map +1 -1
  818. package/dist/experimental/autogpt/prompt_generator.cjs +7 -11
  819. package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
  820. package/dist/experimental/autogpt/prompt_generator.js +3 -7
  821. package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
  822. package/dist/experimental/autogpt/schema.d.cts +0 -1
  823. package/dist/experimental/autogpt/schema.d.cts.map +1 -1
  824. package/dist/experimental/autogpt/schema.d.ts +0 -1
  825. package/dist/experimental/autogpt/schema.d.ts.map +1 -1
  826. package/dist/experimental/babyagi/agent.cjs +16 -20
  827. package/dist/experimental/babyagi/agent.cjs.map +1 -1
  828. package/dist/experimental/babyagi/agent.d.cts +0 -1
  829. package/dist/experimental/babyagi/agent.d.cts.map +1 -1
  830. package/dist/experimental/babyagi/agent.d.ts +0 -1
  831. package/dist/experimental/babyagi/agent.d.ts.map +1 -1
  832. package/dist/experimental/babyagi/agent.js +13 -17
  833. package/dist/experimental/babyagi/agent.js.map +1 -1
  834. package/dist/experimental/babyagi/index.cjs +3 -3
  835. package/dist/experimental/babyagi/index.js +2 -3
  836. package/dist/experimental/babyagi/task_creation.cjs +11 -13
  837. package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
  838. package/dist/experimental/babyagi/task_creation.d.cts.map +1 -1
  839. package/dist/experimental/babyagi/task_creation.d.ts.map +1 -1
  840. package/dist/experimental/babyagi/task_creation.js +9 -11
  841. package/dist/experimental/babyagi/task_creation.js.map +1 -1
  842. package/dist/experimental/babyagi/task_execution.cjs +10 -12
  843. package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
  844. package/dist/experimental/babyagi/task_execution.d.cts.map +1 -1
  845. package/dist/experimental/babyagi/task_execution.d.ts.map +1 -1
  846. package/dist/experimental/babyagi/task_execution.js +8 -10
  847. package/dist/experimental/babyagi/task_execution.js.map +1 -1
  848. package/dist/experimental/babyagi/task_prioritization.cjs +10 -12
  849. package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
  850. package/dist/experimental/babyagi/task_prioritization.d.cts.map +1 -1
  851. package/dist/experimental/babyagi/task_prioritization.d.ts.map +1 -1
  852. package/dist/experimental/babyagi/task_prioritization.js +8 -10
  853. package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
  854. package/dist/experimental/chains/violation_of_expectations/index.cjs +3 -3
  855. package/dist/experimental/chains/violation_of_expectations/index.js +2 -3
  856. package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
  857. package/dist/experimental/chains/violation_of_expectations/types.d.cts +0 -1
  858. package/dist/experimental/chains/violation_of_expectations/types.d.cts.map +1 -1
  859. package/dist/experimental/chains/violation_of_expectations/types.d.ts +0 -1
  860. package/dist/experimental/chains/violation_of_expectations/types.d.ts.map +1 -1
  861. package/dist/experimental/chains/violation_of_expectations/types.js.map +1 -1
  862. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +20 -30
  863. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs.map +1 -1
  864. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts +0 -1
  865. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts.map +1 -1
  866. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts +1 -2
  867. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts.map +1 -1
  868. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js +16 -26
  869. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js.map +1 -1
  870. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs +6 -6
  871. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs.map +1 -1
  872. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
  873. package/dist/experimental/generative_agents/generative_agent.cjs +30 -43
  874. package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
  875. package/dist/experimental/generative_agents/generative_agent.d.cts +0 -1
  876. package/dist/experimental/generative_agents/generative_agent.d.cts.map +1 -1
  877. package/dist/experimental/generative_agents/generative_agent.d.ts +0 -1
  878. package/dist/experimental/generative_agents/generative_agent.d.ts.map +1 -1
  879. package/dist/experimental/generative_agents/generative_agent.js +23 -36
  880. package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
  881. package/dist/experimental/generative_agents/generative_agent_memory.cjs +17 -26
  882. package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
  883. package/dist/experimental/generative_agents/generative_agent_memory.d.cts.map +1 -1
  884. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +1 -1
  885. package/dist/experimental/generative_agents/generative_agent_memory.d.ts.map +1 -1
  886. package/dist/experimental/generative_agents/generative_agent_memory.js +9 -18
  887. package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
  888. package/dist/experimental/generative_agents/index.cjs +3 -3
  889. package/dist/experimental/generative_agents/index.js +2 -3
  890. package/dist/experimental/masking/index.cjs +3 -3
  891. package/dist/experimental/masking/index.js +2 -3
  892. package/dist/experimental/masking/parser.cjs.map +1 -1
  893. package/dist/experimental/masking/parser.d.cts +0 -1
  894. package/dist/experimental/masking/parser.d.cts.map +1 -1
  895. package/dist/experimental/masking/parser.d.ts +0 -1
  896. package/dist/experimental/masking/parser.d.ts.map +1 -1
  897. package/dist/experimental/masking/parser.js.map +1 -1
  898. package/dist/experimental/masking/regex_masking_transformer.cjs +1 -2
  899. package/dist/experimental/masking/regex_masking_transformer.cjs.map +1 -1
  900. package/dist/experimental/masking/regex_masking_transformer.d.cts +0 -1
  901. package/dist/experimental/masking/regex_masking_transformer.d.cts.map +1 -1
  902. package/dist/experimental/masking/regex_masking_transformer.d.ts +0 -1
  903. package/dist/experimental/masking/regex_masking_transformer.d.ts.map +1 -1
  904. package/dist/experimental/masking/regex_masking_transformer.js +1 -2
  905. package/dist/experimental/masking/regex_masking_transformer.js.map +1 -1
  906. package/dist/experimental/masking/transformer.cjs.map +1 -1
  907. package/dist/experimental/masking/transformer.d.cts.map +1 -1
  908. package/dist/experimental/masking/transformer.d.ts.map +1 -1
  909. package/dist/experimental/masking/transformer.js.map +1 -1
  910. package/dist/experimental/masking/types.d.cts +0 -1
  911. package/dist/experimental/masking/types.d.cts.map +1 -1
  912. package/dist/experimental/masking/types.d.ts +0 -1
  913. package/dist/experimental/masking/types.d.ts.map +1 -1
  914. package/dist/experimental/openai_assistant/index.cjs +32 -40
  915. package/dist/experimental/openai_assistant/index.cjs.map +1 -1
  916. package/dist/experimental/openai_assistant/index.d.cts.map +1 -1
  917. package/dist/experimental/openai_assistant/index.d.ts.map +1 -1
  918. package/dist/experimental/openai_assistant/index.js +21 -30
  919. package/dist/experimental/openai_assistant/index.js.map +1 -1
  920. package/dist/experimental/openai_assistant/schema.d.cts.map +1 -1
  921. package/dist/experimental/openai_assistant/schema.d.ts.map +1 -1
  922. package/dist/experimental/openai_files/index.cjs +7 -7
  923. package/dist/experimental/openai_files/index.cjs.map +1 -1
  924. package/dist/experimental/openai_files/index.d.cts.map +1 -1
  925. package/dist/experimental/openai_files/index.d.ts.map +1 -1
  926. package/dist/experimental/openai_files/index.js +2 -3
  927. package/dist/experimental/openai_files/index.js.map +1 -1
  928. package/dist/experimental/plan_and_execute/agent_executor.cjs +3 -5
  929. package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
  930. package/dist/experimental/plan_and_execute/agent_executor.d.cts +0 -1
  931. package/dist/experimental/plan_and_execute/agent_executor.d.cts.map +1 -1
  932. package/dist/experimental/plan_and_execute/agent_executor.d.ts +0 -1
  933. package/dist/experimental/plan_and_execute/agent_executor.d.ts.map +1 -1
  934. package/dist/experimental/plan_and_execute/agent_executor.js +3 -5
  935. package/dist/experimental/plan_and_execute/agent_executor.js.map +1 -1
  936. package/dist/experimental/plan_and_execute/base.cjs +1 -2
  937. package/dist/experimental/plan_and_execute/base.cjs.map +1 -1
  938. package/dist/experimental/plan_and_execute/base.d.cts +0 -1
  939. package/dist/experimental/plan_and_execute/base.d.cts.map +1 -1
  940. package/dist/experimental/plan_and_execute/base.d.ts +0 -1
  941. package/dist/experimental/plan_and_execute/base.d.ts.map +1 -1
  942. package/dist/experimental/plan_and_execute/base.js +1 -2
  943. package/dist/experimental/plan_and_execute/base.js.map +1 -1
  944. package/dist/experimental/plan_and_execute/index.cjs +3 -3
  945. package/dist/experimental/plan_and_execute/index.js +2 -3
  946. package/dist/experimental/plan_and_execute/outputParser.cjs +3 -3
  947. package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
  948. package/dist/experimental/plan_and_execute/outputParser.d.cts +0 -1
  949. package/dist/experimental/plan_and_execute/outputParser.d.cts.map +1 -1
  950. package/dist/experimental/plan_and_execute/outputParser.d.ts +0 -1
  951. package/dist/experimental/plan_and_execute/outputParser.d.ts.map +1 -1
  952. package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
  953. package/dist/experimental/plan_and_execute/prompt.cjs +3 -3
  954. package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
  955. package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
  956. package/dist/experimental/prompts/custom_format.cjs +6 -6
  957. package/dist/experimental/prompts/custom_format.cjs.map +1 -1
  958. package/dist/experimental/prompts/custom_format.d.cts.map +1 -1
  959. package/dist/experimental/prompts/custom_format.d.ts.map +1 -1
  960. package/dist/experimental/prompts/custom_format.js +3 -4
  961. package/dist/experimental/prompts/custom_format.js.map +1 -1
  962. package/dist/experimental/prompts/handlebars.cjs +6 -6
  963. package/dist/experimental/prompts/handlebars.cjs.map +1 -1
  964. package/dist/experimental/prompts/handlebars.d.cts.map +1 -1
  965. package/dist/experimental/prompts/handlebars.d.ts.map +1 -1
  966. package/dist/experimental/prompts/handlebars.js +3 -5
  967. package/dist/experimental/prompts/handlebars.js.map +1 -1
  968. package/dist/hub/base.cjs +2 -5
  969. package/dist/hub/base.cjs.map +1 -1
  970. package/dist/hub/base.d.cts +2 -5
  971. package/dist/hub/base.d.cts.map +1 -1
  972. package/dist/hub/base.d.ts +2 -5
  973. package/dist/hub/base.d.ts.map +1 -1
  974. package/dist/hub/base.js +2 -5
  975. package/dist/hub/base.js.map +1 -1
  976. package/dist/hub/index.cjs +2 -2
  977. package/dist/hub/index.cjs.map +1 -1
  978. package/dist/hub/index.d.cts +0 -1
  979. package/dist/hub/index.d.cts.map +1 -1
  980. package/dist/hub/index.d.ts +0 -1
  981. package/dist/hub/index.d.ts.map +1 -1
  982. package/dist/hub/index.js +1 -2
  983. package/dist/hub/index.js.map +1 -1
  984. package/dist/hub/node.cjs +7 -13
  985. package/dist/hub/node.cjs.map +1 -1
  986. package/dist/hub/node.d.cts +0 -1
  987. package/dist/hub/node.d.cts.map +1 -1
  988. package/dist/hub/node.d.ts +0 -1
  989. package/dist/hub/node.d.ts.map +1 -1
  990. package/dist/hub/node.js +6 -13
  991. package/dist/hub/node.js.map +1 -1
  992. package/dist/index.cjs +3 -1
  993. package/dist/index.cjs.map +1 -1
  994. package/dist/index.js +3 -1
  995. package/dist/index.js.map +1 -1
  996. package/dist/indexes/index.cjs +16 -16
  997. package/dist/indexes/index.js +2 -3
  998. package/dist/load/import_constants.cjs.map +1 -1
  999. package/dist/load/import_constants.js.map +1 -1
  1000. package/dist/load/import_map.cjs +25 -26
  1001. package/dist/load/import_map.cjs.map +1 -1
  1002. package/dist/load/import_map.js +29 -30
  1003. package/dist/load/import_map.js.map +1 -1
  1004. package/dist/load/import_type.d.cts.map +1 -1
  1005. package/dist/load/import_type.d.ts.map +1 -1
  1006. package/dist/load/index.cjs +13 -3
  1007. package/dist/load/index.cjs.map +1 -1
  1008. package/dist/load/index.d.cts +9 -1
  1009. package/dist/load/index.d.cts.map +1 -1
  1010. package/dist/load/index.d.ts +9 -1
  1011. package/dist/load/index.d.ts.map +1 -1
  1012. package/dist/load/index.js +9 -0
  1013. package/dist/load/index.js.map +1 -1
  1014. package/dist/load/map_keys.d.cts.map +1 -1
  1015. package/dist/load/map_keys.d.ts.map +1 -1
  1016. package/dist/load/serializable.cjs +7 -6
  1017. package/dist/load/serializable.js +4 -4
  1018. package/dist/memory/buffer_memory.cjs +4 -8
  1019. package/dist/memory/buffer_memory.cjs.map +1 -1
  1020. package/dist/memory/buffer_memory.d.cts +0 -1
  1021. package/dist/memory/buffer_memory.d.cts.map +1 -1
  1022. package/dist/memory/buffer_memory.d.ts +0 -1
  1023. package/dist/memory/buffer_memory.d.ts.map +1 -1
  1024. package/dist/memory/buffer_memory.js +2 -6
  1025. package/dist/memory/buffer_memory.js.map +1 -1
  1026. package/dist/memory/buffer_token_memory.cjs +6 -10
  1027. package/dist/memory/buffer_token_memory.cjs.map +1 -1
  1028. package/dist/memory/buffer_token_memory.d.cts +0 -1
  1029. package/dist/memory/buffer_token_memory.d.cts.map +1 -1
  1030. package/dist/memory/buffer_token_memory.d.ts +0 -1
  1031. package/dist/memory/buffer_token_memory.d.ts.map +1 -1
  1032. package/dist/memory/buffer_token_memory.js +2 -6
  1033. package/dist/memory/buffer_token_memory.js.map +1 -1
  1034. package/dist/memory/buffer_window_memory.cjs +4 -8
  1035. package/dist/memory/buffer_window_memory.cjs.map +1 -1
  1036. package/dist/memory/buffer_window_memory.d.cts +0 -1
  1037. package/dist/memory/buffer_window_memory.d.cts.map +1 -1
  1038. package/dist/memory/buffer_window_memory.d.ts +0 -1
  1039. package/dist/memory/buffer_window_memory.d.ts.map +1 -1
  1040. package/dist/memory/buffer_window_memory.js +2 -6
  1041. package/dist/memory/buffer_window_memory.js.map +1 -1
  1042. package/dist/memory/chat_memory.cjs +9 -9
  1043. package/dist/memory/chat_memory.cjs.map +1 -1
  1044. package/dist/memory/chat_memory.d.cts +0 -1
  1045. package/dist/memory/chat_memory.d.cts.map +1 -1
  1046. package/dist/memory/chat_memory.d.ts +0 -1
  1047. package/dist/memory/chat_memory.d.ts.map +1 -1
  1048. package/dist/memory/chat_memory.js +2 -3
  1049. package/dist/memory/chat_memory.js.map +1 -1
  1050. package/dist/memory/combined_memory.cjs.map +1 -1
  1051. package/dist/memory/combined_memory.d.cts +0 -1
  1052. package/dist/memory/combined_memory.d.cts.map +1 -1
  1053. package/dist/memory/combined_memory.d.ts +0 -1
  1054. package/dist/memory/combined_memory.d.ts.map +1 -1
  1055. package/dist/memory/combined_memory.js.map +1 -1
  1056. package/dist/memory/entity_memory.cjs +7 -8
  1057. package/dist/memory/entity_memory.cjs.map +1 -1
  1058. package/dist/memory/entity_memory.d.cts +0 -1
  1059. package/dist/memory/entity_memory.d.cts.map +1 -1
  1060. package/dist/memory/entity_memory.d.ts +0 -1
  1061. package/dist/memory/entity_memory.d.ts.map +1 -1
  1062. package/dist/memory/entity_memory.js +1 -2
  1063. package/dist/memory/entity_memory.js.map +1 -1
  1064. package/dist/memory/index.cjs +16 -16
  1065. package/dist/memory/index.js +2 -3
  1066. package/dist/memory/prompt.cjs +6 -6
  1067. package/dist/memory/prompt.cjs.map +1 -1
  1068. package/dist/memory/prompt.d.cts +0 -1
  1069. package/dist/memory/prompt.d.cts.map +1 -1
  1070. package/dist/memory/prompt.d.ts +0 -1
  1071. package/dist/memory/prompt.d.ts.map +1 -1
  1072. package/dist/memory/prompt.js.map +1 -1
  1073. package/dist/memory/stores/entity/base.cjs +3 -3
  1074. package/dist/memory/stores/entity/base.cjs.map +1 -1
  1075. package/dist/memory/stores/entity/base.d.cts +0 -1
  1076. package/dist/memory/stores/entity/base.d.cts.map +1 -1
  1077. package/dist/memory/stores/entity/base.d.ts +0 -1
  1078. package/dist/memory/stores/entity/base.d.ts.map +1 -1
  1079. package/dist/memory/stores/entity/base.js.map +1 -1
  1080. package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
  1081. package/dist/memory/stores/entity/in_memory.js.map +1 -1
  1082. package/dist/memory/summary.cjs +8 -13
  1083. package/dist/memory/summary.cjs.map +1 -1
  1084. package/dist/memory/summary.d.cts +0 -1
  1085. package/dist/memory/summary.d.cts.map +1 -1
  1086. package/dist/memory/summary.d.ts +1 -2
  1087. package/dist/memory/summary.d.ts.map +1 -1
  1088. package/dist/memory/summary.js +4 -9
  1089. package/dist/memory/summary.js.map +1 -1
  1090. package/dist/memory/summary_buffer.cjs +5 -5
  1091. package/dist/memory/summary_buffer.cjs.map +1 -1
  1092. package/dist/memory/summary_buffer.d.cts +0 -1
  1093. package/dist/memory/summary_buffer.d.cts.map +1 -1
  1094. package/dist/memory/summary_buffer.d.ts +0 -1
  1095. package/dist/memory/summary_buffer.d.ts.map +1 -1
  1096. package/dist/memory/summary_buffer.js.map +1 -1
  1097. package/dist/memory/vector_store.cjs +6 -6
  1098. package/dist/memory/vector_store.cjs.map +1 -1
  1099. package/dist/memory/vector_store.d.cts.map +1 -1
  1100. package/dist/memory/vector_store.d.ts.map +1 -1
  1101. package/dist/memory/vector_store.js +1 -1
  1102. package/dist/memory/vector_store.js.map +1 -1
  1103. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.cts +1242 -0
  1104. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.cts.map +1 -0
  1105. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.ts +1242 -0
  1106. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.ts.map +1 -0
  1107. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.cts +4 -0
  1108. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.ts +4 -0
  1109. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.cts +2 -0
  1110. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.ts +2 -0
  1111. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.cts +66 -0
  1112. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.cts.map +1 -0
  1113. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.ts +66 -0
  1114. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.ts.map +1 -0
  1115. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.cts +4 -0
  1116. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.ts +4 -0
  1117. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.cts +1 -0
  1118. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.ts +1 -0
  1119. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/index.d.cts +4 -0
  1120. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/index.d.ts +4 -0
  1121. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.cts +145 -0
  1122. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.cts.map +1 -0
  1123. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.ts +145 -0
  1124. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.ts.map +1 -0
  1125. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.cts +411 -0
  1126. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.cts.map +1 -0
  1127. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.ts +411 -0
  1128. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.ts.map +1 -0
  1129. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts +8 -0
  1130. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts.map +1 -0
  1131. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts +8 -0
  1132. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts.map +1 -0
  1133. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.cts +38 -0
  1134. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.cts.map +1 -0
  1135. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.ts +38 -0
  1136. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.ts.map +1 -0
  1137. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts +27 -0
  1138. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts.map +1 -0
  1139. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts +27 -0
  1140. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts.map +1 -0
  1141. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.cts +1 -0
  1142. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.ts +1 -0
  1143. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.cts +129 -0
  1144. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.cts.map +1 -0
  1145. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.ts +129 -0
  1146. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.ts.map +1 -0
  1147. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.cts +2 -0
  1148. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.ts +2 -0
  1149. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/singletons/traceable.d.cts +2 -0
  1150. package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/singletons/traceable.d.ts +2 -0
  1151. package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.cts +1 -0
  1152. package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.ts +1 -0
  1153. package/dist/output_parsers/combining.cjs +4 -4
  1154. package/dist/output_parsers/combining.cjs.map +1 -1
  1155. package/dist/output_parsers/combining.d.cts +0 -1
  1156. package/dist/output_parsers/combining.d.cts.map +1 -1
  1157. package/dist/output_parsers/combining.d.ts +0 -1
  1158. package/dist/output_parsers/combining.d.ts.map +1 -1
  1159. package/dist/output_parsers/combining.js +1 -1
  1160. package/dist/output_parsers/combining.js.map +1 -1
  1161. package/dist/output_parsers/datetime.cjs +4 -4
  1162. package/dist/output_parsers/datetime.cjs.map +1 -1
  1163. package/dist/output_parsers/datetime.d.cts +0 -1
  1164. package/dist/output_parsers/datetime.d.cts.map +1 -1
  1165. package/dist/output_parsers/datetime.d.ts +0 -1
  1166. package/dist/output_parsers/datetime.d.ts.map +1 -1
  1167. package/dist/output_parsers/datetime.js.map +1 -1
  1168. package/dist/output_parsers/expression.cjs +7 -9
  1169. package/dist/output_parsers/expression.cjs.map +1 -1
  1170. package/dist/output_parsers/expression.d.cts.map +1 -1
  1171. package/dist/output_parsers/expression.d.ts.map +1 -1
  1172. package/dist/output_parsers/expression.js +4 -7
  1173. package/dist/output_parsers/expression.js.map +1 -1
  1174. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +1 -1
  1175. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
  1176. package/dist/output_parsers/expression_type_handlers/base.cjs +1 -2
  1177. package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
  1178. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -1
  1179. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +1 -1
  1180. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -1
  1181. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +1 -1
  1182. package/dist/output_parsers/expression_type_handlers/base.js +1 -2
  1183. package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
  1184. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +1 -1
  1185. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +1 -1
  1186. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +1 -1
  1187. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +1 -1
  1188. package/dist/output_parsers/expression_type_handlers/factory.cjs +1 -4
  1189. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
  1190. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -1
  1191. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +1 -1
  1192. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -1
  1193. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +1 -1
  1194. package/dist/output_parsers/expression_type_handlers/factory.js +1 -4
  1195. package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
  1196. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +1 -1
  1197. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +1 -1
  1198. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +1 -2
  1199. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +1 -1
  1200. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +1 -2
  1201. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +1 -1
  1202. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +1 -1
  1203. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +1 -1
  1204. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +1 -1
  1205. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +1 -1
  1206. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +1 -1
  1207. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +1 -1
  1208. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +2 -4
  1209. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +1 -1
  1210. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +2 -4
  1211. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +1 -1
  1212. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +1 -2
  1213. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +1 -1
  1214. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +1 -2
  1215. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +1 -1
  1216. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +1 -1
  1217. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +1 -1
  1218. package/dist/output_parsers/fix.cjs +10 -16
  1219. package/dist/output_parsers/fix.cjs.map +1 -1
  1220. package/dist/output_parsers/fix.d.cts.map +1 -1
  1221. package/dist/output_parsers/fix.d.ts.map +1 -1
  1222. package/dist/output_parsers/fix.js +6 -12
  1223. package/dist/output_parsers/fix.js.map +1 -1
  1224. package/dist/output_parsers/http_response.cjs +5 -8
  1225. package/dist/output_parsers/http_response.cjs.map +1 -1
  1226. package/dist/output_parsers/http_response.d.cts.map +1 -1
  1227. package/dist/output_parsers/http_response.d.ts +1 -1
  1228. package/dist/output_parsers/http_response.d.ts.map +1 -1
  1229. package/dist/output_parsers/http_response.js +1 -4
  1230. package/dist/output_parsers/http_response.js.map +1 -1
  1231. package/dist/output_parsers/index.cjs +10 -10
  1232. package/dist/output_parsers/index.js +2 -3
  1233. package/dist/output_parsers/noop.cjs +3 -3
  1234. package/dist/output_parsers/noop.cjs.map +1 -1
  1235. package/dist/output_parsers/noop.js.map +1 -1
  1236. package/dist/output_parsers/openai_functions.cjs +15 -18
  1237. package/dist/output_parsers/openai_functions.cjs.map +1 -1
  1238. package/dist/output_parsers/openai_functions.d.cts +0 -1
  1239. package/dist/output_parsers/openai_functions.d.cts.map +1 -1
  1240. package/dist/output_parsers/openai_functions.d.ts +0 -1
  1241. package/dist/output_parsers/openai_functions.d.ts.map +1 -1
  1242. package/dist/output_parsers/openai_functions.js +6 -9
  1243. package/dist/output_parsers/openai_functions.js.map +1 -1
  1244. package/dist/output_parsers/openai_tools.cjs +5 -6
  1245. package/dist/output_parsers/openai_tools.cjs.map +1 -1
  1246. package/dist/output_parsers/openai_tools.d.cts +4 -9
  1247. package/dist/output_parsers/openai_tools.d.cts.map +1 -1
  1248. package/dist/output_parsers/openai_tools.d.ts +4 -9
  1249. package/dist/output_parsers/openai_tools.d.ts.map +1 -1
  1250. package/dist/output_parsers/openai_tools.js +1 -2
  1251. package/dist/output_parsers/openai_tools.js.map +1 -1
  1252. package/dist/output_parsers/prompts.cjs +3 -3
  1253. package/dist/output_parsers/prompts.cjs.map +1 -1
  1254. package/dist/output_parsers/prompts.js.map +1 -1
  1255. package/dist/output_parsers/regex.cjs +4 -4
  1256. package/dist/output_parsers/regex.cjs.map +1 -1
  1257. package/dist/output_parsers/regex.d.cts.map +1 -1
  1258. package/dist/output_parsers/regex.d.ts.map +1 -1
  1259. package/dist/output_parsers/regex.js.map +1 -1
  1260. package/dist/output_parsers/router.cjs +3 -3
  1261. package/dist/output_parsers/router.cjs.map +1 -1
  1262. package/dist/output_parsers/router.d.cts +0 -1
  1263. package/dist/output_parsers/router.d.cts.map +1 -1
  1264. package/dist/output_parsers/router.d.ts +0 -1
  1265. package/dist/output_parsers/router.d.ts.map +1 -1
  1266. package/dist/output_parsers/router.js.map +1 -1
  1267. package/dist/output_parsers/structured.cjs +19 -20
  1268. package/dist/output_parsers/structured.cjs.map +1 -1
  1269. package/dist/output_parsers/structured.d.cts.map +1 -1
  1270. package/dist/output_parsers/structured.d.ts.map +1 -1
  1271. package/dist/output_parsers/structured.js +6 -7
  1272. package/dist/output_parsers/structured.js.map +1 -1
  1273. package/dist/retrievers/contextual_compression.cjs +6 -7
  1274. package/dist/retrievers/contextual_compression.cjs.map +1 -1
  1275. package/dist/retrievers/contextual_compression.d.cts +0 -1
  1276. package/dist/retrievers/contextual_compression.d.cts.map +1 -1
  1277. package/dist/retrievers/contextual_compression.d.ts +1 -2
  1278. package/dist/retrievers/contextual_compression.d.ts.map +1 -1
  1279. package/dist/retrievers/contextual_compression.js +3 -5
  1280. package/dist/retrievers/contextual_compression.js.map +1 -1
  1281. package/dist/retrievers/document_compressors/chain_extract.cjs +16 -19
  1282. package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
  1283. package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -1
  1284. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +1 -1
  1285. package/dist/retrievers/document_compressors/chain_extract.d.ts +1 -2
  1286. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +1 -1
  1287. package/dist/retrievers/document_compressors/chain_extract.js +10 -14
  1288. package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
  1289. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +1 -1
  1290. package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +1 -1
  1291. package/dist/retrievers/document_compressors/embeddings_filter.cjs +5 -5
  1292. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
  1293. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
  1294. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +1 -1
  1295. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
  1296. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +1 -1
  1297. package/dist/retrievers/document_compressors/embeddings_filter.js +2 -3
  1298. package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
  1299. package/dist/retrievers/document_compressors/index.cjs +3 -3
  1300. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  1301. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  1302. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  1303. package/dist/retrievers/document_compressors/index.d.ts +1 -2
  1304. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  1305. package/dist/retrievers/document_compressors/index.js +2 -3
  1306. package/dist/retrievers/document_compressors/index.js.map +1 -1
  1307. package/dist/retrievers/ensemble.cjs +7 -9
  1308. package/dist/retrievers/ensemble.cjs.map +1 -1
  1309. package/dist/retrievers/ensemble.d.cts.map +1 -1
  1310. package/dist/retrievers/ensemble.d.ts +1 -1
  1311. package/dist/retrievers/ensemble.d.ts.map +1 -1
  1312. package/dist/retrievers/ensemble.js +4 -7
  1313. package/dist/retrievers/ensemble.js.map +1 -1
  1314. package/dist/retrievers/hyde.cjs +11 -13
  1315. package/dist/retrievers/hyde.cjs.map +1 -1
  1316. package/dist/retrievers/hyde.d.cts +0 -1
  1317. package/dist/retrievers/hyde.d.cts.map +1 -1
  1318. package/dist/retrievers/hyde.d.ts +1 -2
  1319. package/dist/retrievers/hyde.d.ts.map +1 -1
  1320. package/dist/retrievers/hyde.js +4 -7
  1321. package/dist/retrievers/hyde.js.map +1 -1
  1322. package/dist/retrievers/matryoshka_retriever.cjs +9 -9
  1323. package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
  1324. package/dist/retrievers/matryoshka_retriever.d.cts +0 -1
  1325. package/dist/retrievers/matryoshka_retriever.d.cts.map +1 -1
  1326. package/dist/retrievers/matryoshka_retriever.d.ts +0 -1
  1327. package/dist/retrievers/matryoshka_retriever.d.ts.map +1 -1
  1328. package/dist/retrievers/matryoshka_retriever.js +2 -3
  1329. package/dist/retrievers/matryoshka_retriever.js.map +1 -1
  1330. package/dist/retrievers/multi_query.cjs +15 -19
  1331. package/dist/retrievers/multi_query.cjs.map +1 -1
  1332. package/dist/retrievers/multi_query.d.cts.map +1 -1
  1333. package/dist/retrievers/multi_query.d.ts +1 -1
  1334. package/dist/retrievers/multi_query.d.ts.map +1 -1
  1335. package/dist/retrievers/multi_query.js +8 -13
  1336. package/dist/retrievers/multi_query.js.map +1 -1
  1337. package/dist/retrievers/multi_vector.cjs +6 -7
  1338. package/dist/retrievers/multi_vector.cjs.map +1 -1
  1339. package/dist/retrievers/multi_vector.d.cts +0 -1
  1340. package/dist/retrievers/multi_vector.d.cts.map +1 -1
  1341. package/dist/retrievers/multi_vector.d.ts +0 -1
  1342. package/dist/retrievers/multi_vector.d.ts.map +1 -1
  1343. package/dist/retrievers/multi_vector.js +3 -5
  1344. package/dist/retrievers/multi_vector.js.map +1 -1
  1345. package/dist/retrievers/parent_document.cjs +8 -9
  1346. package/dist/retrievers/parent_document.cjs.map +1 -1
  1347. package/dist/retrievers/parent_document.d.cts.map +1 -1
  1348. package/dist/retrievers/parent_document.d.ts +1 -1
  1349. package/dist/retrievers/parent_document.d.ts.map +1 -1
  1350. package/dist/retrievers/parent_document.js +4 -7
  1351. package/dist/retrievers/parent_document.js.map +1 -1
  1352. package/dist/retrievers/score_threshold.cjs +6 -7
  1353. package/dist/retrievers/score_threshold.cjs.map +1 -1
  1354. package/dist/retrievers/score_threshold.d.cts.map +1 -1
  1355. package/dist/retrievers/score_threshold.d.ts.map +1 -1
  1356. package/dist/retrievers/score_threshold.js +3 -5
  1357. package/dist/retrievers/score_threshold.js.map +1 -1
  1358. package/dist/retrievers/self_query/functional.cjs +5 -5
  1359. package/dist/retrievers/self_query/functional.js +2 -3
  1360. package/dist/retrievers/self_query/index.cjs +13 -13
  1361. package/dist/retrievers/self_query/index.cjs.map +1 -1
  1362. package/dist/retrievers/self_query/index.d.cts +0 -1
  1363. package/dist/retrievers/self_query/index.d.cts.map +1 -1
  1364. package/dist/retrievers/self_query/index.d.ts +1 -2
  1365. package/dist/retrievers/self_query/index.d.ts.map +1 -1
  1366. package/dist/retrievers/self_query/index.js +3 -4
  1367. package/dist/retrievers/self_query/index.js.map +1 -1
  1368. package/dist/retrievers/time_weighted.cjs +6 -7
  1369. package/dist/retrievers/time_weighted.cjs.map +1 -1
  1370. package/dist/retrievers/time_weighted.d.cts +0 -1
  1371. package/dist/retrievers/time_weighted.d.cts.map +1 -1
  1372. package/dist/retrievers/time_weighted.d.ts +1 -2
  1373. package/dist/retrievers/time_weighted.d.ts.map +1 -1
  1374. package/dist/retrievers/time_weighted.js +3 -5
  1375. package/dist/retrievers/time_weighted.js.map +1 -1
  1376. package/dist/schema/prompt_template.cjs +3 -3
  1377. package/dist/schema/prompt_template.cjs.map +1 -1
  1378. package/dist/schema/prompt_template.d.cts +0 -1
  1379. package/dist/schema/prompt_template.d.cts.map +1 -1
  1380. package/dist/schema/prompt_template.d.ts +1 -2
  1381. package/dist/schema/prompt_template.d.ts.map +1 -1
  1382. package/dist/schema/prompt_template.js +2 -3
  1383. package/dist/schema/prompt_template.js.map +1 -1
  1384. package/dist/schema/query_constructor.cjs +3 -3
  1385. package/dist/schema/query_constructor.cjs.map +1 -1
  1386. package/dist/schema/query_constructor.d.cts.map +1 -1
  1387. package/dist/schema/query_constructor.d.ts.map +1 -1
  1388. package/dist/schema/query_constructor.js +2 -3
  1389. package/dist/schema/query_constructor.js.map +1 -1
  1390. package/dist/smith/config.cjs.map +1 -1
  1391. package/dist/smith/config.d.cts +10 -9
  1392. package/dist/smith/config.d.cts.map +1 -1
  1393. package/dist/smith/config.d.ts +10 -9
  1394. package/dist/smith/config.d.ts.map +1 -1
  1395. package/dist/smith/config.js.map +1 -1
  1396. package/dist/smith/index.cjs +3 -3
  1397. package/dist/smith/index.js +2 -3
  1398. package/dist/smith/name_generation.cjs +1 -4
  1399. package/dist/smith/name_generation.cjs.map +1 -1
  1400. package/dist/smith/name_generation.js +1 -4
  1401. package/dist/smith/name_generation.js.map +1 -1
  1402. package/dist/smith/progress.cjs.map +1 -1
  1403. package/dist/smith/progress.js.map +1 -1
  1404. package/dist/smith/runner_utils.cjs +30 -37
  1405. package/dist/smith/runner_utils.cjs.map +1 -1
  1406. package/dist/smith/runner_utils.d.cts +2 -1
  1407. package/dist/smith/runner_utils.d.cts.map +1 -1
  1408. package/dist/smith/runner_utils.d.ts +2 -1
  1409. package/dist/smith/runner_utils.d.ts.map +1 -1
  1410. package/dist/smith/runner_utils.js +12 -19
  1411. package/dist/smith/runner_utils.js.map +1 -1
  1412. package/dist/sql_db.cjs +5 -5
  1413. package/dist/sql_db.cjs.map +1 -1
  1414. package/dist/sql_db.d.cts +0 -1
  1415. package/dist/sql_db.d.cts.map +1 -1
  1416. package/dist/sql_db.d.ts +0 -1
  1417. package/dist/sql_db.d.ts.map +1 -1
  1418. package/dist/sql_db.js +2 -3
  1419. package/dist/sql_db.js.map +1 -1
  1420. package/dist/storage/encoder_backed.cjs +9 -10
  1421. package/dist/storage/encoder_backed.cjs.map +1 -1
  1422. package/dist/storage/encoder_backed.d.cts +0 -1
  1423. package/dist/storage/encoder_backed.d.cts.map +1 -1
  1424. package/dist/storage/encoder_backed.d.ts +0 -1
  1425. package/dist/storage/encoder_backed.d.ts.map +1 -1
  1426. package/dist/storage/encoder_backed.js +4 -6
  1427. package/dist/storage/encoder_backed.js.map +1 -1
  1428. package/dist/storage/file_system.cjs +12 -11
  1429. package/dist/storage/file_system.cjs.map +1 -1
  1430. package/dist/storage/file_system.d.cts +0 -1
  1431. package/dist/storage/file_system.d.cts.map +1 -1
  1432. package/dist/storage/file_system.d.ts +0 -1
  1433. package/dist/storage/file_system.d.ts.map +1 -1
  1434. package/dist/storage/file_system.js +5 -7
  1435. package/dist/storage/file_system.js.map +1 -1
  1436. package/dist/storage/in_memory.cjs +5 -5
  1437. package/dist/storage/in_memory.js +2 -3
  1438. package/dist/stores/doc/base.cjs +3 -3
  1439. package/dist/stores/doc/base.cjs.map +1 -1
  1440. package/dist/stores/doc/base.d.cts +0 -1
  1441. package/dist/stores/doc/base.d.cts.map +1 -1
  1442. package/dist/stores/doc/base.d.ts +0 -1
  1443. package/dist/stores/doc/base.d.ts.map +1 -1
  1444. package/dist/stores/doc/base.js +2 -3
  1445. package/dist/stores/doc/base.js.map +1 -1
  1446. package/dist/stores/doc/in_memory.cjs +3 -3
  1447. package/dist/stores/doc/in_memory.cjs.map +1 -1
  1448. package/dist/stores/doc/in_memory.d.cts +0 -1
  1449. package/dist/stores/doc/in_memory.d.cts.map +1 -1
  1450. package/dist/stores/doc/in_memory.d.ts +0 -1
  1451. package/dist/stores/doc/in_memory.d.ts.map +1 -1
  1452. package/dist/stores/doc/in_memory.js +2 -3
  1453. package/dist/stores/doc/in_memory.js.map +1 -1
  1454. package/dist/stores/file/base.cjs +3 -3
  1455. package/dist/stores/file/base.cjs.map +1 -1
  1456. package/dist/stores/file/base.d.cts +0 -1
  1457. package/dist/stores/file/base.d.cts.map +1 -1
  1458. package/dist/stores/file/base.d.ts +0 -1
  1459. package/dist/stores/file/base.d.ts.map +1 -1
  1460. package/dist/stores/file/base.js.map +1 -1
  1461. package/dist/stores/file/in_memory.cjs +3 -3
  1462. package/dist/stores/file/in_memory.cjs.map +1 -1
  1463. package/dist/stores/file/in_memory.d.cts +0 -1
  1464. package/dist/stores/file/in_memory.d.cts.map +1 -1
  1465. package/dist/stores/file/in_memory.d.ts +0 -1
  1466. package/dist/stores/file/in_memory.d.ts.map +1 -1
  1467. package/dist/stores/file/in_memory.js +2 -3
  1468. package/dist/stores/file/in_memory.js.map +1 -1
  1469. package/dist/stores/file/node.cjs +7 -6
  1470. package/dist/stores/file/node.cjs.map +1 -1
  1471. package/dist/stores/file/node.d.cts +0 -1
  1472. package/dist/stores/file/node.d.cts.map +1 -1
  1473. package/dist/stores/file/node.d.ts +0 -1
  1474. package/dist/stores/file/node.d.ts.map +1 -1
  1475. package/dist/stores/file/node.js +6 -7
  1476. package/dist/stores/file/node.js.map +1 -1
  1477. package/dist/stores/message/in_memory.cjs +5 -5
  1478. package/dist/stores/message/in_memory.js +2 -3
  1479. package/dist/text_splitter.cjs +7 -6
  1480. package/dist/text_splitter.d.cts +3 -2
  1481. package/dist/text_splitter.d.cts.map +1 -1
  1482. package/dist/text_splitter.d.ts +3 -2
  1483. package/dist/text_splitter.d.ts.map +1 -1
  1484. package/dist/text_splitter.js +4 -4
  1485. package/dist/tools/chain.cjs +6 -6
  1486. package/dist/tools/chain.cjs.map +1 -1
  1487. package/dist/tools/chain.d.cts +0 -1
  1488. package/dist/tools/chain.d.cts.map +1 -1
  1489. package/dist/tools/chain.d.ts +0 -1
  1490. package/dist/tools/chain.d.ts.map +1 -1
  1491. package/dist/tools/chain.js +3 -4
  1492. package/dist/tools/chain.js.map +1 -1
  1493. package/dist/tools/fs.cjs +6 -6
  1494. package/dist/tools/fs.cjs.map +1 -1
  1495. package/dist/tools/fs.d.cts +0 -1
  1496. package/dist/tools/fs.d.cts.map +1 -1
  1497. package/dist/tools/fs.d.ts +0 -1
  1498. package/dist/tools/fs.d.ts.map +1 -1
  1499. package/dist/tools/fs.js +1 -1
  1500. package/dist/tools/fs.js.map +1 -1
  1501. package/dist/tools/index.cjs +13 -13
  1502. package/dist/tools/index.js +2 -3
  1503. package/dist/tools/json.cjs +10 -11
  1504. package/dist/tools/json.cjs.map +1 -1
  1505. package/dist/tools/json.d.cts.map +1 -1
  1506. package/dist/tools/json.d.ts.map +1 -1
  1507. package/dist/tools/json.js +2 -4
  1508. package/dist/tools/json.js.map +1 -1
  1509. package/dist/tools/render.cjs +9 -9
  1510. package/dist/tools/render.cjs.map +1 -1
  1511. package/dist/tools/render.d.cts +0 -1
  1512. package/dist/tools/render.d.cts.map +1 -1
  1513. package/dist/tools/render.d.ts +0 -1
  1514. package/dist/tools/render.d.ts.map +1 -1
  1515. package/dist/tools/render.js +2 -3
  1516. package/dist/tools/render.js.map +1 -1
  1517. package/dist/tools/requests.cjs +7 -11
  1518. package/dist/tools/requests.cjs.map +1 -1
  1519. package/dist/tools/requests.d.cts.map +1 -1
  1520. package/dist/tools/requests.d.ts.map +1 -1
  1521. package/dist/tools/requests.js +3 -7
  1522. package/dist/tools/requests.js.map +1 -1
  1523. package/dist/tools/retriever.cjs +7 -8
  1524. package/dist/tools/retriever.cjs.map +1 -1
  1525. package/dist/tools/retriever.d.cts.map +1 -1
  1526. package/dist/tools/retriever.d.ts.map +1 -1
  1527. package/dist/tools/retriever.js +3 -5
  1528. package/dist/tools/retriever.js.map +1 -1
  1529. package/dist/tools/sql.cjs +11 -12
  1530. package/dist/tools/sql.cjs.map +1 -1
  1531. package/dist/tools/sql.d.cts +0 -1
  1532. package/dist/tools/sql.d.cts.map +1 -1
  1533. package/dist/tools/sql.d.ts +0 -1
  1534. package/dist/tools/sql.d.ts.map +1 -1
  1535. package/dist/tools/sql.js +3 -5
  1536. package/dist/tools/sql.js.map +1 -1
  1537. package/dist/tools/vectorstore.cjs +3 -3
  1538. package/dist/tools/vectorstore.cjs.map +1 -1
  1539. package/dist/tools/vectorstore.d.cts +0 -1
  1540. package/dist/tools/vectorstore.d.cts.map +1 -1
  1541. package/dist/tools/vectorstore.d.ts +0 -1
  1542. package/dist/tools/vectorstore.d.ts.map +1 -1
  1543. package/dist/tools/vectorstore.js.map +1 -1
  1544. package/dist/tools/webbrowser.cjs +18 -23
  1545. package/dist/tools/webbrowser.cjs.map +1 -1
  1546. package/dist/tools/webbrowser.d.cts.map +1 -1
  1547. package/dist/tools/webbrowser.d.ts +1 -1
  1548. package/dist/tools/webbrowser.d.ts.map +1 -1
  1549. package/dist/tools/webbrowser.js +9 -16
  1550. package/dist/tools/webbrowser.js.map +1 -1
  1551. package/dist/types/expression-parser.d.cts.map +1 -1
  1552. package/dist/types/expression-parser.d.ts.map +1 -1
  1553. package/dist/types/type-utils.d.cts.map +1 -1
  1554. package/dist/types/type-utils.d.ts.map +1 -1
  1555. package/dist/util/document.cjs +3 -3
  1556. package/dist/util/document.cjs.map +1 -1
  1557. package/dist/util/document.d.cts +0 -1
  1558. package/dist/util/document.d.cts.map +1 -1
  1559. package/dist/util/document.d.ts +0 -1
  1560. package/dist/util/document.d.ts.map +1 -1
  1561. package/dist/util/document.js +2 -3
  1562. package/dist/util/document.js.map +1 -1
  1563. package/dist/util/entrypoint_deprecation.js +2 -0
  1564. package/dist/util/env.cjs +2 -2
  1565. package/dist/util/env.js +2 -0
  1566. package/dist/util/extname.cjs.map +1 -1
  1567. package/dist/util/extname.js.map +1 -1
  1568. package/dist/util/hub.cjs +9 -11
  1569. package/dist/util/hub.cjs.map +1 -1
  1570. package/dist/util/hub.js +5 -7
  1571. package/dist/util/hub.js.map +1 -1
  1572. package/dist/util/is-network-error/index.cjs +2 -3
  1573. package/dist/util/is-network-error/index.cjs.map +1 -1
  1574. package/dist/util/is-network-error/index.js +2 -3
  1575. package/dist/util/is-network-error/index.js.map +1 -1
  1576. package/dist/util/load.cjs +1 -2
  1577. package/dist/util/load.cjs.map +1 -1
  1578. package/dist/util/load.d.cts.map +1 -1
  1579. package/dist/util/load.d.ts.map +1 -1
  1580. package/dist/util/load.js +1 -2
  1581. package/dist/util/load.js.map +1 -1
  1582. package/dist/util/math.cjs +7 -6
  1583. package/dist/util/math.js +4 -4
  1584. package/dist/util/ml-distance/distances.cjs.map +1 -1
  1585. package/dist/util/ml-distance/distances.js.map +1 -1
  1586. package/dist/util/ml-distance/similarities.cjs.map +1 -1
  1587. package/dist/util/ml-distance/similarities.d.cts.map +1 -1
  1588. package/dist/util/ml-distance/similarities.d.ts.map +1 -1
  1589. package/dist/util/ml-distance/similarities.js.map +1 -1
  1590. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
  1591. package/dist/util/ml-distance-euclidean/euclidean.js.map +1 -1
  1592. package/dist/util/openapi.cjs +6 -7
  1593. package/dist/util/openapi.cjs.map +1 -1
  1594. package/dist/util/openapi.d.cts.map +1 -1
  1595. package/dist/util/openapi.d.ts.map +1 -1
  1596. package/dist/util/openapi.js +3 -5
  1597. package/dist/util/openapi.js.map +1 -1
  1598. package/dist/util/p-retry/index.cjs +2 -2
  1599. package/dist/util/p-retry/index.cjs.map +1 -1
  1600. package/dist/util/p-retry/index.js +2 -2
  1601. package/dist/util/p-retry/index.js.map +1 -1
  1602. package/dist/util/parse.cjs +3 -2
  1603. package/dist/util/parse.cjs.map +1 -1
  1604. package/dist/util/parse.js.map +1 -1
  1605. package/dist/util/set.cjs.map +1 -1
  1606. package/dist/util/set.js.map +1 -1
  1607. package/dist/util/sql_utils.cjs +16 -28
  1608. package/dist/util/sql_utils.cjs.map +1 -1
  1609. package/dist/util/sql_utils.d.cts.map +1 -1
  1610. package/dist/util/sql_utils.d.ts.map +1 -1
  1611. package/dist/util/sql_utils.js +16 -28
  1612. package/dist/util/sql_utils.js.map +1 -1
  1613. package/dist/util/time.cjs +3 -3
  1614. package/dist/util/time.cjs.map +1 -1
  1615. package/dist/util/time.d.cts.map +1 -1
  1616. package/dist/util/time.d.ts.map +1 -1
  1617. package/dist/util/time.js +2 -3
  1618. package/dist/util/time.js.map +1 -1
  1619. package/dist/vectorstores/memory.cjs +15 -22
  1620. package/dist/vectorstores/memory.cjs.map +1 -1
  1621. package/dist/vectorstores/memory.d.cts +0 -1
  1622. package/dist/vectorstores/memory.d.cts.map +1 -1
  1623. package/dist/vectorstores/memory.d.ts +0 -1
  1624. package/dist/vectorstores/memory.d.ts.map +1 -1
  1625. package/dist/vectorstores/memory.js +9 -17
  1626. package/dist/vectorstores/memory.js.map +1 -1
  1627. package/package.json +18 -18
  1628. package/dist/_virtual/rolldown_runtime.js +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["RunnableInterface","BaseRetriever","BaseRetrieverInput","Document","VectorStore","BaseTranslator","StructuredQuery","CallbackManagerForRetrieverRun","QueryConstructorRunnableOptions","BasicTranslator","FunctionalTranslator","SelfQueryRetrieverArgs","T","SelfQueryRetriever","Record","Promise","Omit"],"sources":["../../../src/retrievers/self_query/index.d.ts"],"sourcesContent":["import { RunnableInterface } from \"@langchain/core/runnables\";\nimport { BaseRetriever, type BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport { Document } from \"@langchain/core/documents\";\nimport { VectorStore } from \"@langchain/core/vectorstores\";\nimport { BaseTranslator, StructuredQuery } from \"@langchain/core/structured_query\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport { QueryConstructorRunnableOptions } from \"../../chains/query_constructor/index.js\";\nexport { BaseTranslator } from \"@langchain/core/structured_query\";\nexport { BasicTranslator, FunctionalTranslator, } from \"@langchain/core/structured_query\";\n/**\n * Interface for the arguments required to create a SelfQueryRetriever\n * instance. It extends the BaseRetrieverInput interface.\n */\nexport interface SelfQueryRetrieverArgs<T extends VectorStore> extends BaseRetrieverInput {\n vectorStore: T;\n structuredQueryTranslator: BaseTranslator<T>;\n queryConstructor: RunnableInterface<{\n query: string;\n }, StructuredQuery>;\n verbose?: boolean;\n useOriginalQuery?: boolean;\n searchParams?: {\n k?: number;\n filter?: T[\"FilterType\"];\n mergeFiltersOperator?: \"or\" | \"and\" | \"replace\";\n forceDefaultFilter?: boolean;\n };\n}\n/**\n * Class for question answering over an index. It retrieves relevant\n * documents based on a query. It extends the BaseRetriever class and\n * implements the SelfQueryRetrieverArgs interface.\n * @example\n * ```typescript\n * const selfQueryRetriever = SelfQueryRetriever.fromLLM({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * vectorStore: await HNSWLib.fromDocuments(docs, new OpenAIEmbeddings()),\n * documentContents: \"Brief summary of a movie\",\n * attributeInfo: attributeInfo,\n * structuredQueryTranslator: new FunctionalTranslator(),\n * });\n * const relevantDocuments = await selfQueryRetriever.invoke(\n * \"Which movies are directed by Greta Gerwig?\",\n * );\n * ```\n */\nexport declare class SelfQueryRetriever<T extends VectorStore> extends BaseRetriever implements SelfQueryRetrieverArgs<T> {\n static lc_name(): string;\n get lc_namespace(): string[];\n vectorStore: T;\n queryConstructor: RunnableInterface<{\n query: string;\n }, StructuredQuery>;\n verbose?: boolean;\n structuredQueryTranslator: BaseTranslator<T>;\n useOriginalQuery: boolean;\n searchParams?: {\n k?: number;\n filter?: T[\"FilterType\"];\n mergeFiltersOperator?: \"or\" | \"and\" | \"replace\";\n forceDefaultFilter?: boolean;\n };\n constructor(options: SelfQueryRetrieverArgs<T>);\n _getRelevantDocuments(query: string, runManager?: CallbackManagerForRetrieverRun): Promise<Document<Record<string, unknown>>[]>;\n /**\n * Static method to create a new SelfQueryRetriever instance from a\n * BaseLanguageModel and a VectorStore. It first loads a query constructor\n * chain using the loadQueryConstructorChain function, then creates a new\n * SelfQueryRetriever instance with the loaded chain and the provided\n * options.\n * @param options The options used to create the SelfQueryRetriever instance. It includes the QueryConstructorChainOptions and all the SelfQueryRetrieverArgs except 'llmChain'.\n * @returns A new instance of SelfQueryRetriever.\n */\n static fromLLM<T extends VectorStore>(options: QueryConstructorRunnableOptions & Omit<SelfQueryRetrieverArgs<T>, \"queryConstructor\">): SelfQueryRetriever<T>;\n}\n//# sourceMappingURL=index.d.ts.map"],"mappings":";;;;;;;;;;AAaA;;;;AAE+BK,UAFdM,sBAEcN,CAAAA,UAFmBD,WAEnBC,CAAAA,SAFwCH,kBAExCG,CAAAA;EAGxBC,WAAAA,EAJUM,CAIVN;EAFeN,yBAAAA,EADSK,gBACTL,CADwBY,CACxBZ,CAAAA;EAOLY,gBAAAA,EAPKZ,iBAOLY,CAAAA;IAVsDV,KAAAA,EAAAA,MAAAA;EAAkB,CAAA,EAKlFI,eALkF,CAAA;EAiCpEO,OAAAA,CAAAA,EAAAA,OAAAA;EAA6BT,gBAAAA,CAAAA,EAAAA,OAAAA;EAAqEQ,YAAAA,CAAAA,EAAAA;IAGtGA,CAAAA,CAAAA,EAAAA,MAAAA;IAGVN,MAAAA,CAAAA,EA7BUM,CA6BVN,CAAAA,YAAAA,CAAAA;IAFeN,oBAAAA,CAAAA,EAAAA,IAAAA,GAAAA,KAAAA,GAAAA,SAAAA;IAIwBY,kBAAAA,CAAAA,EAAAA,OAAAA;EAAfP,CAAAA;;;;;;;;;;;;;;;;;AARuF;;;cAAjGQ,6BAA6BT,qBAAqBH,aAAAA,YAAyBU,uBAAuBC;;;eAGtGA;oBACKZ;;KAEfM;;6BAEwBD,iBAAeO;;;;aAI7BA;;;;uBAIQD,uBAAuBC;oDACML,iCAAiCQ,QAAQZ,SAASW;;;;;;;;;;2BAU3EV,sBAAsBI,kCAAkCQ,KAAKL,uBAAuBC,0BAA0BC,mBAAmBD"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/retrievers/self_query/index.ts"],"mappings":";;;;;;;;;AA2BA;;;;AAAA,UAAiB,sBAAA,WACL,WAAA,UACF,kBAAA;EACR,WAAA,EAAa,CAAA;EACb,yBAAA,EAA2B,gBAAA,CAAe,CAAA;EAC1C,gBAAA,EAAkB,iBAAA;IAAoB,KAAA;EAAA,GAAiB,eAAA;EACvD,OAAA;EACA,gBAAA;EACA,YAAA;IACE,CAAA;IACA,MAAA,GAAS,CAAA;IACT,oBAAA;IACA,kBAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;AAsBJ;;cAAa,kBAAA,WAA6B,WAAA,UAChC,aAAA,YACG,sBAAA,CAAuB,CAAA;EAAA,OAE3B,OAAA,CAAA;EAAA,IAIH,YAAA,CAAA;EAIJ,WAAA,EAAa,CAAA;EAEb,gBAAA,EAAkB,iBAAA;IAAoB,KAAA;EAAA,GAAiB,eAAA;EAEvD,OAAA;EAEA,yBAAA,EAA2B,gBAAA,CAAe,CAAA;EAE1C,gBAAA;EAEA,YAAA;IACE,CAAA;IACA,MAAA,GAAS,CAAA;IACT,oBAAA;IACA,kBAAA;EAAA;EAGF,WAAA,CAAY,OAAA,EAAS,sBAAA,CAAuB,CAAA;EAUtC,qBAAA,CACJ,KAAA,UACA,UAAA,GAAa,8BAAA,GACZ,OAAA,CAAQ,QAAA,CAAS,MAAA;EA8CX;;;;;;;;;EAAA,OAFF,OAAA,WAAkB,WAAA,CAAA,CACvB,OAAA,EAAS,+BAAA,GACP,IAAA,CAAK,sBAAA,CAAuB,CAAA,yBAC7B,kBAAA,CAAmB,CAAA;AAAA"}
@@ -1,11 +1,10 @@
1
- import { __export } from "../../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
2
  import { loadQueryConstructorRunnable } from "../../chains/query_constructor/index.js";
3
3
  import { BaseTranslator, BasicTranslator, FunctionalTranslator } from "@langchain/core/structured_query";
4
4
  import { BaseRetriever } from "@langchain/core/retrievers";
5
5
 
6
6
  //#region src/retrievers/self_query/index.ts
7
- var self_query_exports = {};
8
- __export(self_query_exports, {
7
+ var self_query_exports = /* @__PURE__ */ __exportAll({
9
8
  BaseTranslator: () => BaseTranslator,
10
9
  BasicTranslator: () => BasicTranslator,
11
10
  FunctionalTranslator: () => FunctionalTranslator,
@@ -83,7 +82,7 @@ var SelfQueryRetriever = class SelfQueryRetriever extends BaseRetriever {
83
82
  * @returns A new instance of SelfQueryRetriever.
84
83
  */
85
84
  static fromLLM(options) {
86
- const { structuredQueryTranslator, allowedComparators, allowedOperators, llm, documentContents, attributeInfo, examples, vectorStore,...rest } = options;
85
+ const { structuredQueryTranslator, allowedComparators, allowedOperators, llm, documentContents, attributeInfo, examples, vectorStore, ...rest } = options;
87
86
  const queryConstructor = loadQueryConstructorRunnable({
88
87
  llm,
89
88
  documentContents,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["options: SelfQueryRetrieverArgs<T>","query: string","runManager?: CallbackManagerForRetrieverRun","options: QueryConstructorRunnableOptions &\n Omit<SelfQueryRetrieverArgs<T>, \"queryConstructor\">"],"sources":["../../../src/retrievers/self_query/index.ts"],"sourcesContent":["import { RunnableInterface } from \"@langchain/core/runnables\";\nimport {\n BaseRetriever,\n type BaseRetrieverInput,\n} from \"@langchain/core/retrievers\";\nimport { Document } from \"@langchain/core/documents\";\nimport { VectorStore } from \"@langchain/core/vectorstores\";\nimport {\n BaseTranslator,\n StructuredQuery,\n} from \"@langchain/core/structured_query\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport {\n loadQueryConstructorRunnable,\n QueryConstructorRunnableOptions,\n} from \"../../chains/query_constructor/index.js\";\n\nexport { BaseTranslator } from \"@langchain/core/structured_query\";\nexport {\n BasicTranslator,\n FunctionalTranslator,\n} from \"@langchain/core/structured_query\";\n\n/**\n * Interface for the arguments required to create a SelfQueryRetriever\n * instance. It extends the BaseRetrieverInput interface.\n */\nexport interface SelfQueryRetrieverArgs<\n T extends VectorStore,\n> extends BaseRetrieverInput {\n vectorStore: T;\n structuredQueryTranslator: BaseTranslator<T>;\n queryConstructor: RunnableInterface<{ query: string }, StructuredQuery>;\n verbose?: boolean;\n useOriginalQuery?: boolean;\n searchParams?: {\n k?: number;\n filter?: T[\"FilterType\"];\n mergeFiltersOperator?: \"or\" | \"and\" | \"replace\";\n forceDefaultFilter?: boolean;\n };\n}\n\n/**\n * Class for question answering over an index. It retrieves relevant\n * documents based on a query. It extends the BaseRetriever class and\n * implements the SelfQueryRetrieverArgs interface.\n * @example\n * ```typescript\n * const selfQueryRetriever = SelfQueryRetriever.fromLLM({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * vectorStore: await HNSWLib.fromDocuments(docs, new OpenAIEmbeddings()),\n * documentContents: \"Brief summary of a movie\",\n * attributeInfo: attributeInfo,\n * structuredQueryTranslator: new FunctionalTranslator(),\n * });\n * const relevantDocuments = await selfQueryRetriever.invoke(\n * \"Which movies are directed by Greta Gerwig?\",\n * );\n * ```\n */\nexport class SelfQueryRetriever<T extends VectorStore>\n extends BaseRetriever\n implements SelfQueryRetrieverArgs<T>\n{\n static lc_name() {\n return \"SelfQueryRetriever\";\n }\n\n get lc_namespace() {\n return [\"langchain\", \"retrievers\", \"self_query\"];\n }\n\n vectorStore: T;\n\n queryConstructor: RunnableInterface<{ query: string }, StructuredQuery>;\n\n verbose?: boolean;\n\n structuredQueryTranslator: BaseTranslator<T>;\n\n useOriginalQuery = false;\n\n searchParams?: {\n k?: number;\n filter?: T[\"FilterType\"];\n mergeFiltersOperator?: \"or\" | \"and\" | \"replace\";\n forceDefaultFilter?: boolean;\n } = { k: 4, forceDefaultFilter: false };\n\n constructor(options: SelfQueryRetrieverArgs<T>) {\n super(options);\n this.vectorStore = options.vectorStore;\n this.queryConstructor = options.queryConstructor;\n this.verbose = options.verbose ?? false;\n this.searchParams = options.searchParams ?? this.searchParams;\n this.useOriginalQuery = options.useOriginalQuery ?? this.useOriginalQuery;\n this.structuredQueryTranslator = options.structuredQueryTranslator;\n }\n\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<Document<Record<string, unknown>>[]> {\n const generatedStructuredQuery = await this.queryConstructor.invoke(\n { query },\n {\n callbacks: runManager?.getChild(\"query_constructor\"),\n runName: \"query_constructor\",\n }\n );\n\n const nextArg = this.structuredQueryTranslator.visitStructuredQuery(\n generatedStructuredQuery\n );\n\n const filter = this.structuredQueryTranslator.mergeFilters(\n this.searchParams?.filter,\n nextArg.filter,\n this.searchParams?.mergeFiltersOperator,\n this.searchParams?.forceDefaultFilter\n );\n\n const generatedQuery = generatedStructuredQuery.query;\n let myQuery = query;\n\n if (!this.useOriginalQuery && generatedQuery && generatedQuery.length > 0) {\n myQuery = generatedQuery;\n }\n\n return this.vectorStore\n .asRetriever({\n k: this.searchParams?.k,\n filter,\n })\n .invoke(myQuery, { callbacks: runManager?.getChild(\"retriever\") });\n }\n\n /**\n * Static method to create a new SelfQueryRetriever instance from a\n * BaseLanguageModel and a VectorStore. It first loads a query constructor\n * chain using the loadQueryConstructorChain function, then creates a new\n * SelfQueryRetriever instance with the loaded chain and the provided\n * options.\n * @param options The options used to create the SelfQueryRetriever instance. It includes the QueryConstructorChainOptions and all the SelfQueryRetrieverArgs except 'llmChain'.\n * @returns A new instance of SelfQueryRetriever.\n */\n static fromLLM<T extends VectorStore>(\n options: QueryConstructorRunnableOptions &\n Omit<SelfQueryRetrieverArgs<T>, \"queryConstructor\">\n ): SelfQueryRetriever<T> {\n const {\n structuredQueryTranslator,\n allowedComparators,\n allowedOperators,\n llm,\n documentContents,\n attributeInfo,\n examples,\n vectorStore,\n ...rest\n } = options;\n const queryConstructor = loadQueryConstructorRunnable({\n llm,\n documentContents,\n attributeInfo,\n examples,\n allowedComparators:\n allowedComparators ?? structuredQueryTranslator.allowedComparators,\n allowedOperators:\n allowedOperators ?? structuredQueryTranslator.allowedOperators,\n });\n return new SelfQueryRetriever<T>({\n ...rest,\n queryConstructor,\n vectorStore,\n structuredQueryTranslator,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAa,qBAAb,MAAa,2BACH,cAEV;CACE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,eAAe;AACjB,SAAO;GAAC;GAAa;GAAc;EAAa;CACjD;CAED;CAEA;CAEA;CAEA;CAEA,mBAAmB;CAEnB,eAKI;EAAE,GAAG;EAAG,oBAAoB;CAAO;CAEvC,YAAYA,SAAoC;EAC9C,MAAM,QAAQ;EACd,KAAK,cAAc,QAAQ;EAC3B,KAAK,mBAAmB,QAAQ;EAChC,KAAK,UAAU,QAAQ,WAAW;EAClC,KAAK,eAAe,QAAQ,gBAAgB,KAAK;EACjD,KAAK,mBAAmB,QAAQ,oBAAoB,KAAK;EACzD,KAAK,4BAA4B,QAAQ;CAC1C;CAED,MAAM,sBACJC,OACAC,YAC8C;EAC9C,MAAM,2BAA2B,MAAM,KAAK,iBAAiB,OAC3D,EAAE,MAAO,GACT;GACE,WAAW,YAAY,SAAS,oBAAoB;GACpD,SAAS;EACV,EACF;EAED,MAAM,UAAU,KAAK,0BAA0B,qBAC7C,yBACD;EAED,MAAM,SAAS,KAAK,0BAA0B,aAC5C,KAAK,cAAc,QACnB,QAAQ,QACR,KAAK,cAAc,sBACnB,KAAK,cAAc,mBACpB;EAED,MAAM,iBAAiB,yBAAyB;EAChD,IAAI,UAAU;AAEd,MAAI,CAAC,KAAK,oBAAoB,kBAAkB,eAAe,SAAS,GACtE,UAAU;AAGZ,SAAO,KAAK,YACT,YAAY;GACX,GAAG,KAAK,cAAc;GACtB;EACD,EAAC,CACD,OAAO,SAAS,EAAE,WAAW,YAAY,SAAS,YAAY,CAAE,EAAC;CACrE;;;;;;;;;;CAWD,OAAO,QACLC,SAEuB;EACvB,MAAM,EACJ,2BACA,oBACA,kBACA,KACA,kBACA,eACA,UACA,YACA,GAAG,MACJ,GAAG;EACJ,MAAM,mBAAmB,6BAA6B;GACpD;GACA;GACA;GACA;GACA,oBACE,sBAAsB,0BAA0B;GAClD,kBACE,oBAAoB,0BAA0B;EACjD,EAAC;AACF,SAAO,IAAI,mBAAsB;GAC/B,GAAG;GACH;GACA;GACA;EACD;CACF;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/retrievers/self_query/index.ts"],"sourcesContent":["import { RunnableInterface } from \"@langchain/core/runnables\";\nimport {\n BaseRetriever,\n type BaseRetrieverInput,\n} from \"@langchain/core/retrievers\";\nimport { Document } from \"@langchain/core/documents\";\nimport { VectorStore } from \"@langchain/core/vectorstores\";\nimport {\n BaseTranslator,\n StructuredQuery,\n} from \"@langchain/core/structured_query\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport {\n loadQueryConstructorRunnable,\n QueryConstructorRunnableOptions,\n} from \"../../chains/query_constructor/index.js\";\n\nexport { BaseTranslator } from \"@langchain/core/structured_query\";\nexport {\n BasicTranslator,\n FunctionalTranslator,\n} from \"@langchain/core/structured_query\";\n\n/**\n * Interface for the arguments required to create a SelfQueryRetriever\n * instance. It extends the BaseRetrieverInput interface.\n */\nexport interface SelfQueryRetrieverArgs<\n T extends VectorStore,\n> extends BaseRetrieverInput {\n vectorStore: T;\n structuredQueryTranslator: BaseTranslator<T>;\n queryConstructor: RunnableInterface<{ query: string }, StructuredQuery>;\n verbose?: boolean;\n useOriginalQuery?: boolean;\n searchParams?: {\n k?: number;\n filter?: T[\"FilterType\"];\n mergeFiltersOperator?: \"or\" | \"and\" | \"replace\";\n forceDefaultFilter?: boolean;\n };\n}\n\n/**\n * Class for question answering over an index. It retrieves relevant\n * documents based on a query. It extends the BaseRetriever class and\n * implements the SelfQueryRetrieverArgs interface.\n * @example\n * ```typescript\n * const selfQueryRetriever = SelfQueryRetriever.fromLLM({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * vectorStore: await HNSWLib.fromDocuments(docs, new OpenAIEmbeddings()),\n * documentContents: \"Brief summary of a movie\",\n * attributeInfo: attributeInfo,\n * structuredQueryTranslator: new FunctionalTranslator(),\n * });\n * const relevantDocuments = await selfQueryRetriever.invoke(\n * \"Which movies are directed by Greta Gerwig?\",\n * );\n * ```\n */\nexport class SelfQueryRetriever<T extends VectorStore>\n extends BaseRetriever\n implements SelfQueryRetrieverArgs<T>\n{\n static lc_name() {\n return \"SelfQueryRetriever\";\n }\n\n get lc_namespace() {\n return [\"langchain\", \"retrievers\", \"self_query\"];\n }\n\n vectorStore: T;\n\n queryConstructor: RunnableInterface<{ query: string }, StructuredQuery>;\n\n verbose?: boolean;\n\n structuredQueryTranslator: BaseTranslator<T>;\n\n useOriginalQuery = false;\n\n searchParams?: {\n k?: number;\n filter?: T[\"FilterType\"];\n mergeFiltersOperator?: \"or\" | \"and\" | \"replace\";\n forceDefaultFilter?: boolean;\n } = { k: 4, forceDefaultFilter: false };\n\n constructor(options: SelfQueryRetrieverArgs<T>) {\n super(options);\n this.vectorStore = options.vectorStore;\n this.queryConstructor = options.queryConstructor;\n this.verbose = options.verbose ?? false;\n this.searchParams = options.searchParams ?? this.searchParams;\n this.useOriginalQuery = options.useOriginalQuery ?? this.useOriginalQuery;\n this.structuredQueryTranslator = options.structuredQueryTranslator;\n }\n\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<Document<Record<string, unknown>>[]> {\n const generatedStructuredQuery = await this.queryConstructor.invoke(\n { query },\n {\n callbacks: runManager?.getChild(\"query_constructor\"),\n runName: \"query_constructor\",\n }\n );\n\n const nextArg = this.structuredQueryTranslator.visitStructuredQuery(\n generatedStructuredQuery\n );\n\n const filter = this.structuredQueryTranslator.mergeFilters(\n this.searchParams?.filter,\n nextArg.filter,\n this.searchParams?.mergeFiltersOperator,\n this.searchParams?.forceDefaultFilter\n );\n\n const generatedQuery = generatedStructuredQuery.query;\n let myQuery = query;\n\n if (!this.useOriginalQuery && generatedQuery && generatedQuery.length > 0) {\n myQuery = generatedQuery;\n }\n\n return this.vectorStore\n .asRetriever({\n k: this.searchParams?.k,\n filter,\n })\n .invoke(myQuery, { callbacks: runManager?.getChild(\"retriever\") });\n }\n\n /**\n * Static method to create a new SelfQueryRetriever instance from a\n * BaseLanguageModel and a VectorStore. It first loads a query constructor\n * chain using the loadQueryConstructorChain function, then creates a new\n * SelfQueryRetriever instance with the loaded chain and the provided\n * options.\n * @param options The options used to create the SelfQueryRetriever instance. It includes the QueryConstructorChainOptions and all the SelfQueryRetrieverArgs except 'llmChain'.\n * @returns A new instance of SelfQueryRetriever.\n */\n static fromLLM<T extends VectorStore>(\n options: QueryConstructorRunnableOptions &\n Omit<SelfQueryRetrieverArgs<T>, \"queryConstructor\">\n ): SelfQueryRetriever<T> {\n const {\n structuredQueryTranslator,\n allowedComparators,\n allowedOperators,\n llm,\n documentContents,\n attributeInfo,\n examples,\n vectorStore,\n ...rest\n } = options;\n const queryConstructor = loadQueryConstructorRunnable({\n llm,\n documentContents,\n attributeInfo,\n examples,\n allowedComparators:\n allowedComparators ?? structuredQueryTranslator.allowedComparators,\n allowedOperators:\n allowedOperators ?? structuredQueryTranslator.allowedOperators,\n });\n return new SelfQueryRetriever<T>({\n ...rest,\n queryConstructor,\n vectorStore,\n structuredQueryTranslator,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAa,qBAAb,MAAa,2BACH,cAEV;CACE,OAAO,UAAU;AACf,SAAO;;CAGT,IAAI,eAAe;AACjB,SAAO;GAAC;GAAa;GAAc;GAAa;;CAGlD;CAEA;CAEA;CAEA;CAEA,mBAAmB;CAEnB,eAKI;EAAE,GAAG;EAAG,oBAAoB;EAAO;CAEvC,YAAY,SAAoC;AAC9C,QAAM,QAAQ;AACd,OAAK,cAAc,QAAQ;AAC3B,OAAK,mBAAmB,QAAQ;AAChC,OAAK,UAAU,QAAQ,WAAW;AAClC,OAAK,eAAe,QAAQ,gBAAgB,KAAK;AACjD,OAAK,mBAAmB,QAAQ,oBAAoB,KAAK;AACzD,OAAK,4BAA4B,QAAQ;;CAG3C,MAAM,sBACJ,OACA,YAC8C;EAC9C,MAAM,2BAA2B,MAAM,KAAK,iBAAiB,OAC3D,EAAE,OAAO,EACT;GACE,WAAW,YAAY,SAAS,oBAAoB;GACpD,SAAS;GACV,CACF;EAED,MAAM,UAAU,KAAK,0BAA0B,qBAC7C,yBACD;EAED,MAAM,SAAS,KAAK,0BAA0B,aAC5C,KAAK,cAAc,QACnB,QAAQ,QACR,KAAK,cAAc,sBACnB,KAAK,cAAc,mBACpB;EAED,MAAM,iBAAiB,yBAAyB;EAChD,IAAI,UAAU;AAEd,MAAI,CAAC,KAAK,oBAAoB,kBAAkB,eAAe,SAAS,EACtE,WAAU;AAGZ,SAAO,KAAK,YACT,YAAY;GACX,GAAG,KAAK,cAAc;GACtB;GACD,CAAC,CACD,OAAO,SAAS,EAAE,WAAW,YAAY,SAAS,YAAY,EAAE,CAAC;;;;;;;;;;;CAYtE,OAAO,QACL,SAEuB;EACvB,MAAM,EACJ,2BACA,oBACA,kBACA,KACA,kBACA,eACA,UACA,aACA,GAAG,SACD;EACJ,MAAM,mBAAmB,6BAA6B;GACpD;GACA;GACA;GACA;GACA,oBACE,sBAAsB,0BAA0B;GAClD,kBACE,oBAAoB,0BAA0B;GACjD,CAAC;AACF,SAAO,IAAI,mBAAsB;GAC/B,GAAG;GACH;GACA;GACA;GACD,CAAC"}
@@ -1,9 +1,9 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const __langchain_core_retrievers = require_rolldown_runtime.__toESM(require("@langchain/core/retrievers"));
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ let _langchain_core_retrievers = require("@langchain/core/retrievers");
3
4
 
4
5
  //#region src/retrievers/time_weighted.ts
5
- var time_weighted_exports = {};
6
- require_rolldown_runtime.__export(time_weighted_exports, {
6
+ var time_weighted_exports = /* @__PURE__ */ require_runtime.__exportAll({
7
7
  BUFFER_IDX: () => BUFFER_IDX,
8
8
  LAST_ACCESSED_AT_KEY: () => LAST_ACCESSED_AT_KEY,
9
9
  TimeWeightedVectorStoreRetriever: () => TimeWeightedVectorStoreRetriever
@@ -30,7 +30,7 @@ const BUFFER_IDX = "buffer_idx";
30
30
  * );
31
31
  * ```
32
32
  */
33
- var TimeWeightedVectorStoreRetriever = class extends __langchain_core_retrievers.BaseRetriever {
33
+ var TimeWeightedVectorStoreRetriever = class extends _langchain_core_retrievers.BaseRetriever {
34
34
  static lc_name() {
35
35
  return "TimeWeightedVectorStoreRetriever";
36
36
  }
@@ -153,9 +153,8 @@ var TimeWeightedVectorStoreRetriever = class extends __langchain_core_retrievers
153
153
  for (const [fetchedDoc, score] of docAndScores) {
154
154
  const bufferIdx = fetchedDoc.metadata[BUFFER_IDX];
155
155
  if (bufferIdx === void 0) throw new Error(`Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the "addDocuments" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`);
156
- const doc = this.memoryStream[bufferIdx];
157
156
  results[bufferIdx] = {
158
- doc,
157
+ doc: this.memoryStream[bufferIdx],
159
158
  score
160
159
  };
161
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"time_weighted.cjs","names":["BaseRetriever","fields: TimeWeightedVectorStoreRetrieverFields","memoryStream: DocumentInterface[]","query: string","runManager?: CallbackManagerForRetrieverRun","docs: DocumentInterface[]","memoryDocsAndScores: Record<\n number,\n { doc: DocumentInterface; score: number }\n >","docAndScores: [DocumentInterface, number][]","results: Record<number, { doc: DocumentInterface; score: number }>","docsAndScores: Record<number, { doc: DocumentInterface; score: number }>","now: number","results: DocumentInterface[]","doc: DocumentInterface","vectorRelevance: number | null","nowMsec: number","time: number","refTime: number"],"sources":["../../src/retrievers/time_weighted.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Interface for the fields required to initialize a\n * TimeWeightedVectorStoreRetriever instance.\n */\nexport interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {\n vectorStore: VectorStoreInterface;\n searchKwargs?: number;\n memoryStream?: DocumentInterface[];\n decayRate?: number;\n k?: number;\n otherScoreKeys?: string[];\n defaultSalience?: number;\n}\n\nexport const LAST_ACCESSED_AT_KEY = \"last_accessed_at\";\nexport const BUFFER_IDX = \"buffer_idx\";\n\n/**\n * TimeWeightedVectorStoreRetriever retrieves documents based on their time-weighted relevance.\n * ref: https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/retrievers/time_weighted_retriever.py\n * @example\n * ```typescript\n * const retriever = new TimeWeightedVectorStoreRetriever({\n * vectorStore: new MemoryVectorStore(new OpenAIEmbeddings()),\n * memoryStream: [],\n * searchKwargs: 2,\n * });\n * await retriever.addDocuments([\n * { pageContent: \"My name is John.\", metadata: {} },\n * { pageContent: \"My favourite food is pizza.\", metadata: {} },\n *\n * ]);\n * const results = await retriever.invoke(\n * \"What is my favourite food?\",\n * );\n * ```\n */\nexport class TimeWeightedVectorStoreRetriever extends BaseRetriever {\n static lc_name() {\n return \"TimeWeightedVectorStoreRetriever\";\n }\n\n get lc_namespace() {\n return [\"langchain\", \"retrievers\", \"time_weighted\"];\n }\n\n /**\n * The vectorstore to store documents and determine salience.\n */\n private vectorStore: VectorStoreInterface;\n\n /**\n * The number of top K most relevant documents to consider when searching.\n */\n private searchKwargs: number;\n\n /**\n * The memory_stream of documents to search through.\n */\n private memoryStream: DocumentInterface[];\n\n /**\n * The exponential decay factor used as (1.0-decay_rate)**(hrs_passed).\n */\n private decayRate: number;\n\n /**\n * The maximum number of documents to retrieve in a given call.\n */\n private k: number;\n\n /**\n * Other keys in the metadata to factor into the score, e.g. 'importance'.\n */\n private otherScoreKeys: string[];\n\n /**\n * The salience to assign memories not retrieved from the vector store.\n */\n private defaultSalience: number | null;\n\n /**\n * Constructor to initialize the required fields\n * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever\n */\n constructor(fields: TimeWeightedVectorStoreRetrieverFields) {\n super(fields);\n this.vectorStore = fields.vectorStore;\n this.searchKwargs = fields.searchKwargs ?? 100;\n this.memoryStream = fields.memoryStream ?? [];\n this.decayRate = fields.decayRate ?? 0.01;\n this.k = fields.k ?? 4;\n this.otherScoreKeys = fields.otherScoreKeys ?? [];\n this.defaultSalience = fields.defaultSalience ?? null;\n }\n\n /**\n * Get the memory stream of documents.\n * @returns The memory stream of documents.\n */\n getMemoryStream(): DocumentInterface[] {\n return this.memoryStream;\n }\n\n /**\n * Set the memory stream of documents.\n * @param memoryStream The new memory stream of documents.\n */\n setMemoryStream(memoryStream: DocumentInterface[]) {\n this.memoryStream = memoryStream;\n }\n\n /**\n * Get relevant documents based on time-weighted relevance\n * @param query - The query to search for\n * @returns The relevant documents\n */\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const now = Math.floor(Date.now() / 1000);\n const memoryDocsAndScores = this.getMemoryDocsAndScores();\n\n const salientDocsAndScores = await this.getSalientDocuments(\n query,\n runManager\n );\n const docsAndScores = { ...memoryDocsAndScores, ...salientDocsAndScores };\n\n return this.computeResults(docsAndScores, now);\n }\n\n /**\n * NOTE: When adding documents to a vector store, use addDocuments\n * via retriever instead of directly to the vector store.\n * This is because it is necessary to process the document\n * in prepareDocuments.\n *\n * @param docs - The documents to add to vector store in the retriever\n */\n async addDocuments(docs: DocumentInterface[]): Promise<void> {\n const now = Math.floor(Date.now() / 1000);\n const savedDocs = this.prepareDocuments(docs, now);\n\n this.memoryStream.push(...savedDocs);\n await this.vectorStore.addDocuments(savedDocs);\n }\n\n /**\n * Get memory documents and their scores\n * @returns An object containing memory documents and their scores\n */\n private getMemoryDocsAndScores(): Record<\n number,\n { doc: DocumentInterface; score: number }\n > {\n const memoryDocsAndScores: Record<\n number,\n { doc: DocumentInterface; score: number }\n > = {};\n for (const doc of this.memoryStream.slice(-this.k)) {\n const bufferIdx = doc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n memoryDocsAndScores[bufferIdx] = {\n doc,\n score: this.defaultSalience ?? 0,\n };\n }\n return memoryDocsAndScores;\n }\n\n /**\n * Get salient documents and their scores based on the query\n * @param query - The query to search for\n * @returns An object containing salient documents and their scores\n */\n private async getSalientDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<Record<number, { doc: DocumentInterface; score: number }>> {\n const docAndScores: [DocumentInterface, number][] =\n await this.vectorStore.similaritySearchWithScore(\n query,\n this.searchKwargs,\n undefined,\n runManager?.getChild()\n );\n const results: Record<number, { doc: DocumentInterface; score: number }> =\n {};\n for (const [fetchedDoc, score] of docAndScores) {\n const bufferIdx = fetchedDoc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n const doc = this.memoryStream[bufferIdx];\n results[bufferIdx] = { doc, score };\n }\n return results;\n }\n\n /**\n * Compute the final result set of documents based on the combined scores\n * @param docsAndScores - An object containing documents and their scores\n * @param now - The current timestamp\n * @returns The final set of documents\n */\n private computeResults(\n docsAndScores: Record<number, { doc: DocumentInterface; score: number }>,\n now: number\n ): DocumentInterface[] {\n const recordedDocs = Object.values(docsAndScores)\n .map(({ doc, score }) => ({\n doc,\n score: this.getCombinedScore(doc, score, now),\n }))\n .sort((a, b) => b.score - a.score);\n\n const results: DocumentInterface[] = [];\n for (const { doc } of recordedDocs) {\n const bufferedDoc = this.memoryStream[doc.metadata[BUFFER_IDX]];\n bufferedDoc.metadata[LAST_ACCESSED_AT_KEY] = now;\n results.push(bufferedDoc);\n if (results.length > this.k) {\n break;\n }\n }\n return results;\n }\n\n /**\n * Prepare documents with necessary metadata before saving\n * @param docs - The documents to prepare\n * @param now - The current timestamp\n * @returns The prepared documents\n */\n private prepareDocuments(\n docs: DocumentInterface[],\n now: number\n ): DocumentInterface[] {\n return docs.map((doc, i) => ({\n ...doc,\n metadata: {\n ...doc.metadata,\n [LAST_ACCESSED_AT_KEY]: doc.metadata[LAST_ACCESSED_AT_KEY] ?? now,\n created_at: doc.metadata.created_at ?? now,\n [BUFFER_IDX]: this.memoryStream.length + i,\n },\n }));\n }\n\n /**\n * Calculate the combined score based on vector relevance and other factors\n * @param doc - The document to calculate the score for\n * @param vectorRelevance - The relevance score from the vector store\n * @param nowMsec - The current timestamp in milliseconds\n * @returns The combined score for the document\n */\n private getCombinedScore(\n doc: DocumentInterface,\n vectorRelevance: number | null,\n nowMsec: number\n ): number {\n const hoursPassed = this.getHoursPassed(\n nowMsec,\n doc.metadata[LAST_ACCESSED_AT_KEY]\n );\n let score = (1.0 - this.decayRate) ** hoursPassed;\n for (const key of this.otherScoreKeys) {\n score += doc.metadata[key];\n }\n if (vectorRelevance !== null) {\n score += vectorRelevance;\n }\n return score;\n }\n\n /**\n * Calculate the hours passed between two time points\n * @param time - The current time in seconds\n * @param refTime - The reference time in seconds\n * @returns The number of hours passed between the two time points\n */\n private getHoursPassed(time: number, refTime: number): number {\n return (time - refTime) / 3600;\n }\n}\n"],"mappings":";;;;;;;;;;AAmBA,MAAa,uBAAuB;AACpC,MAAa,aAAa;;;;;;;;;;;;;;;;;;;;;AAsB1B,IAAa,mCAAb,cAAsDA,0CAAc;CAClE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,eAAe;AACjB,SAAO;GAAC;GAAa;GAAc;EAAgB;CACpD;;;;CAKD,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;;CAMR,YAAYC,QAAgD;EAC1D,MAAM,OAAO;EACb,KAAK,cAAc,OAAO;EAC1B,KAAK,eAAe,OAAO,gBAAgB;EAC3C,KAAK,eAAe,OAAO,gBAAgB,CAAE;EAC7C,KAAK,YAAY,OAAO,aAAa;EACrC,KAAK,IAAI,OAAO,KAAK;EACrB,KAAK,iBAAiB,OAAO,kBAAkB,CAAE;EACjD,KAAK,kBAAkB,OAAO,mBAAmB;CAClD;;;;;CAMD,kBAAuC;AACrC,SAAO,KAAK;CACb;;;;;CAMD,gBAAgBC,cAAmC;EACjD,KAAK,eAAe;CACrB;;;;;;CAOD,MAAM,sBACJC,OACAC,YAC8B;EAC9B,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,sBAAsB,KAAK,wBAAwB;EAEzD,MAAM,uBAAuB,MAAM,KAAK,oBACtC,OACA,WACD;EACD,MAAM,gBAAgB;GAAE,GAAG;GAAqB,GAAG;EAAsB;AAEzE,SAAO,KAAK,eAAe,eAAe,IAAI;CAC/C;;;;;;;;;CAUD,MAAM,aAAaC,MAA0C;EAC3D,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,YAAY,KAAK,iBAAiB,MAAM,IAAI;EAElD,KAAK,aAAa,KAAK,GAAG,UAAU;EACpC,MAAM,KAAK,YAAY,aAAa,UAAU;CAC/C;;;;;CAMD,AAAQ,yBAGN;EACA,MAAMC,sBAGF,CAAE;AACN,OAAK,MAAM,OAAO,KAAK,aAAa,MAAM,CAAC,KAAK,EAAE,EAAE;GAClD,MAAM,YAAY,IAAI,SAAS;AAC/B,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,CAAC,2RAA2R,CAAC;GAGjS,oBAAoB,aAAa;IAC/B;IACA,OAAO,KAAK,mBAAmB;GAChC;EACF;AACD,SAAO;CACR;;;;;;CAOD,MAAc,oBACZH,OACAC,YACoE;EACpE,MAAMG,eACJ,MAAM,KAAK,YAAY,0BACrB,OACA,KAAK,cACL,QACA,YAAY,UAAU,CACvB;EACH,MAAMC,UACJ,CAAE;AACJ,OAAK,MAAM,CAAC,YAAY,MAAM,IAAI,cAAc;GAC9C,MAAM,YAAY,WAAW,SAAS;AACtC,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,CAAC,2RAA2R,CAAC;GAGjS,MAAM,MAAM,KAAK,aAAa;GAC9B,QAAQ,aAAa;IAAE;IAAK;GAAO;EACpC;AACD,SAAO;CACR;;;;;;;CAQD,AAAQ,eACNC,eACAC,KACqB;EACrB,MAAM,eAAe,OAAO,OAAO,cAAc,CAC9C,IAAI,CAAC,EAAE,KAAK,OAAO,MAAM;GACxB;GACA,OAAO,KAAK,iBAAiB,KAAK,OAAO,IAAI;EAC9C,GAAE,CACF,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;EAEpC,MAAMC,UAA+B,CAAE;AACvC,OAAK,MAAM,EAAE,KAAK,IAAI,cAAc;GAClC,MAAM,cAAc,KAAK,aAAa,IAAI,SAAS;GACnD,YAAY,SAAS,wBAAwB;GAC7C,QAAQ,KAAK,YAAY;AACzB,OAAI,QAAQ,SAAS,KAAK,EACxB;EAEH;AACD,SAAO;CACR;;;;;;;CAQD,AAAQ,iBACNN,MACAK,KACqB;AACrB,SAAO,KAAK,IAAI,CAAC,KAAK,OAAO;GAC3B,GAAG;GACH,UAAU;IACR,GAAG,IAAI;KACN,uBAAuB,IAAI,SAAS,yBAAyB;IAC9D,YAAY,IAAI,SAAS,cAAc;KACtC,aAAa,KAAK,aAAa,SAAS;GAC1C;EACF,GAAE;CACJ;;;;;;;;CASD,AAAQ,iBACNE,KACAC,iBACAC,SACQ;EACR,MAAM,cAAc,KAAK,eACvB,SACA,IAAI,SAAS,sBACd;EACD,IAAI,SAAS,IAAM,KAAK,cAAc;AACtC,OAAK,MAAM,OAAO,KAAK,gBACrB,SAAS,IAAI,SAAS;AAExB,MAAI,oBAAoB,MACtB,SAAS;AAEX,SAAO;CACR;;;;;;;CAQD,AAAQ,eAAeC,MAAcC,SAAyB;AAC5D,UAAQ,OAAO,WAAW;CAC3B;AACF"}
1
+ {"version":3,"file":"time_weighted.cjs","names":["BaseRetriever"],"sources":["../../src/retrievers/time_weighted.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Interface for the fields required to initialize a\n * TimeWeightedVectorStoreRetriever instance.\n */\nexport interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {\n vectorStore: VectorStoreInterface;\n searchKwargs?: number;\n memoryStream?: DocumentInterface[];\n decayRate?: number;\n k?: number;\n otherScoreKeys?: string[];\n defaultSalience?: number;\n}\n\nexport const LAST_ACCESSED_AT_KEY = \"last_accessed_at\";\nexport const BUFFER_IDX = \"buffer_idx\";\n\n/**\n * TimeWeightedVectorStoreRetriever retrieves documents based on their time-weighted relevance.\n * ref: https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/retrievers/time_weighted_retriever.py\n * @example\n * ```typescript\n * const retriever = new TimeWeightedVectorStoreRetriever({\n * vectorStore: new MemoryVectorStore(new OpenAIEmbeddings()),\n * memoryStream: [],\n * searchKwargs: 2,\n * });\n * await retriever.addDocuments([\n * { pageContent: \"My name is John.\", metadata: {} },\n * { pageContent: \"My favourite food is pizza.\", metadata: {} },\n *\n * ]);\n * const results = await retriever.invoke(\n * \"What is my favourite food?\",\n * );\n * ```\n */\nexport class TimeWeightedVectorStoreRetriever extends BaseRetriever {\n static lc_name() {\n return \"TimeWeightedVectorStoreRetriever\";\n }\n\n get lc_namespace() {\n return [\"langchain\", \"retrievers\", \"time_weighted\"];\n }\n\n /**\n * The vectorstore to store documents and determine salience.\n */\n private vectorStore: VectorStoreInterface;\n\n /**\n * The number of top K most relevant documents to consider when searching.\n */\n private searchKwargs: number;\n\n /**\n * The memory_stream of documents to search through.\n */\n private memoryStream: DocumentInterface[];\n\n /**\n * The exponential decay factor used as (1.0-decay_rate)**(hrs_passed).\n */\n private decayRate: number;\n\n /**\n * The maximum number of documents to retrieve in a given call.\n */\n private k: number;\n\n /**\n * Other keys in the metadata to factor into the score, e.g. 'importance'.\n */\n private otherScoreKeys: string[];\n\n /**\n * The salience to assign memories not retrieved from the vector store.\n */\n private defaultSalience: number | null;\n\n /**\n * Constructor to initialize the required fields\n * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever\n */\n constructor(fields: TimeWeightedVectorStoreRetrieverFields) {\n super(fields);\n this.vectorStore = fields.vectorStore;\n this.searchKwargs = fields.searchKwargs ?? 100;\n this.memoryStream = fields.memoryStream ?? [];\n this.decayRate = fields.decayRate ?? 0.01;\n this.k = fields.k ?? 4;\n this.otherScoreKeys = fields.otherScoreKeys ?? [];\n this.defaultSalience = fields.defaultSalience ?? null;\n }\n\n /**\n * Get the memory stream of documents.\n * @returns The memory stream of documents.\n */\n getMemoryStream(): DocumentInterface[] {\n return this.memoryStream;\n }\n\n /**\n * Set the memory stream of documents.\n * @param memoryStream The new memory stream of documents.\n */\n setMemoryStream(memoryStream: DocumentInterface[]) {\n this.memoryStream = memoryStream;\n }\n\n /**\n * Get relevant documents based on time-weighted relevance\n * @param query - The query to search for\n * @returns The relevant documents\n */\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const now = Math.floor(Date.now() / 1000);\n const memoryDocsAndScores = this.getMemoryDocsAndScores();\n\n const salientDocsAndScores = await this.getSalientDocuments(\n query,\n runManager\n );\n const docsAndScores = { ...memoryDocsAndScores, ...salientDocsAndScores };\n\n return this.computeResults(docsAndScores, now);\n }\n\n /**\n * NOTE: When adding documents to a vector store, use addDocuments\n * via retriever instead of directly to the vector store.\n * This is because it is necessary to process the document\n * in prepareDocuments.\n *\n * @param docs - The documents to add to vector store in the retriever\n */\n async addDocuments(docs: DocumentInterface[]): Promise<void> {\n const now = Math.floor(Date.now() / 1000);\n const savedDocs = this.prepareDocuments(docs, now);\n\n this.memoryStream.push(...savedDocs);\n await this.vectorStore.addDocuments(savedDocs);\n }\n\n /**\n * Get memory documents and their scores\n * @returns An object containing memory documents and their scores\n */\n private getMemoryDocsAndScores(): Record<\n number,\n { doc: DocumentInterface; score: number }\n > {\n const memoryDocsAndScores: Record<\n number,\n { doc: DocumentInterface; score: number }\n > = {};\n for (const doc of this.memoryStream.slice(-this.k)) {\n const bufferIdx = doc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n memoryDocsAndScores[bufferIdx] = {\n doc,\n score: this.defaultSalience ?? 0,\n };\n }\n return memoryDocsAndScores;\n }\n\n /**\n * Get salient documents and their scores based on the query\n * @param query - The query to search for\n * @returns An object containing salient documents and their scores\n */\n private async getSalientDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<Record<number, { doc: DocumentInterface; score: number }>> {\n const docAndScores: [DocumentInterface, number][] =\n await this.vectorStore.similaritySearchWithScore(\n query,\n this.searchKwargs,\n undefined,\n runManager?.getChild()\n );\n const results: Record<number, { doc: DocumentInterface; score: number }> =\n {};\n for (const [fetchedDoc, score] of docAndScores) {\n const bufferIdx = fetchedDoc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n const doc = this.memoryStream[bufferIdx];\n results[bufferIdx] = { doc, score };\n }\n return results;\n }\n\n /**\n * Compute the final result set of documents based on the combined scores\n * @param docsAndScores - An object containing documents and their scores\n * @param now - The current timestamp\n * @returns The final set of documents\n */\n private computeResults(\n docsAndScores: Record<number, { doc: DocumentInterface; score: number }>,\n now: number\n ): DocumentInterface[] {\n const recordedDocs = Object.values(docsAndScores)\n .map(({ doc, score }) => ({\n doc,\n score: this.getCombinedScore(doc, score, now),\n }))\n .sort((a, b) => b.score - a.score);\n\n const results: DocumentInterface[] = [];\n for (const { doc } of recordedDocs) {\n const bufferedDoc = this.memoryStream[doc.metadata[BUFFER_IDX]];\n bufferedDoc.metadata[LAST_ACCESSED_AT_KEY] = now;\n results.push(bufferedDoc);\n if (results.length > this.k) {\n break;\n }\n }\n return results;\n }\n\n /**\n * Prepare documents with necessary metadata before saving\n * @param docs - The documents to prepare\n * @param now - The current timestamp\n * @returns The prepared documents\n */\n private prepareDocuments(\n docs: DocumentInterface[],\n now: number\n ): DocumentInterface[] {\n return docs.map((doc, i) => ({\n ...doc,\n metadata: {\n ...doc.metadata,\n [LAST_ACCESSED_AT_KEY]: doc.metadata[LAST_ACCESSED_AT_KEY] ?? now,\n created_at: doc.metadata.created_at ?? now,\n [BUFFER_IDX]: this.memoryStream.length + i,\n },\n }));\n }\n\n /**\n * Calculate the combined score based on vector relevance and other factors\n * @param doc - The document to calculate the score for\n * @param vectorRelevance - The relevance score from the vector store\n * @param nowMsec - The current timestamp in milliseconds\n * @returns The combined score for the document\n */\n private getCombinedScore(\n doc: DocumentInterface,\n vectorRelevance: number | null,\n nowMsec: number\n ): number {\n const hoursPassed = this.getHoursPassed(\n nowMsec,\n doc.metadata[LAST_ACCESSED_AT_KEY]\n );\n let score = (1.0 - this.decayRate) ** hoursPassed;\n for (const key of this.otherScoreKeys) {\n score += doc.metadata[key];\n }\n if (vectorRelevance !== null) {\n score += vectorRelevance;\n }\n return score;\n }\n\n /**\n * Calculate the hours passed between two time points\n * @param time - The current time in seconds\n * @param refTime - The reference time in seconds\n * @returns The number of hours passed between the two time points\n */\n private getHoursPassed(time: number, refTime: number): number {\n return (time - refTime) / 3600;\n }\n}\n"],"mappings":";;;;;;;;;;AAmBA,MAAa,uBAAuB;AACpC,MAAa,aAAa;;;;;;;;;;;;;;;;;;;;;AAsB1B,IAAa,mCAAb,cAAsDA,yCAAc;CAClE,OAAO,UAAU;AACf,SAAO;;CAGT,IAAI,eAAe;AACjB,SAAO;GAAC;GAAa;GAAc;GAAgB;;;;;CAMrD,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;;CAMR,YAAY,QAAgD;AAC1D,QAAM,OAAO;AACb,OAAK,cAAc,OAAO;AAC1B,OAAK,eAAe,OAAO,gBAAgB;AAC3C,OAAK,eAAe,OAAO,gBAAgB,EAAE;AAC7C,OAAK,YAAY,OAAO,aAAa;AACrC,OAAK,IAAI,OAAO,KAAK;AACrB,OAAK,iBAAiB,OAAO,kBAAkB,EAAE;AACjD,OAAK,kBAAkB,OAAO,mBAAmB;;;;;;CAOnD,kBAAuC;AACrC,SAAO,KAAK;;;;;;CAOd,gBAAgB,cAAmC;AACjD,OAAK,eAAe;;;;;;;CAQtB,MAAM,sBACJ,OACA,YAC8B;EAC9B,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,sBAAsB,KAAK,wBAAwB;EAEzD,MAAM,uBAAuB,MAAM,KAAK,oBACtC,OACA,WACD;EACD,MAAM,gBAAgB;GAAE,GAAG;GAAqB,GAAG;GAAsB;AAEzE,SAAO,KAAK,eAAe,eAAe,IAAI;;;;;;;;;;CAWhD,MAAM,aAAa,MAA0C;EAC3D,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,YAAY,KAAK,iBAAiB,MAAM,IAAI;AAElD,OAAK,aAAa,KAAK,GAAG,UAAU;AACpC,QAAM,KAAK,YAAY,aAAa,UAAU;;;;;;CAOhD,AAAQ,yBAGN;EACA,MAAM,sBAGF,EAAE;AACN,OAAK,MAAM,OAAO,KAAK,aAAa,MAAM,CAAC,KAAK,EAAE,EAAE;GAClD,MAAM,YAAY,IAAI,SAAS;AAC/B,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,8RACD;AAEH,uBAAoB,aAAa;IAC/B;IACA,OAAO,KAAK,mBAAmB;IAChC;;AAEH,SAAO;;;;;;;CAQT,MAAc,oBACZ,OACA,YACoE;EACpE,MAAM,eACJ,MAAM,KAAK,YAAY,0BACrB,OACA,KAAK,cACL,QACA,YAAY,UAAU,CACvB;EACH,MAAM,UACJ,EAAE;AACJ,OAAK,MAAM,CAAC,YAAY,UAAU,cAAc;GAC9C,MAAM,YAAY,WAAW,SAAS;AACtC,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,8RACD;AAGH,WAAQ,aAAa;IAAE,KADX,KAAK,aAAa;IACF;IAAO;;AAErC,SAAO;;;;;;;;CAST,AAAQ,eACN,eACA,KACqB;EACrB,MAAM,eAAe,OAAO,OAAO,cAAc,CAC9C,KAAK,EAAE,KAAK,aAAa;GACxB;GACA,OAAO,KAAK,iBAAiB,KAAK,OAAO,IAAI;GAC9C,EAAE,CACF,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;EAEpC,MAAM,UAA+B,EAAE;AACvC,OAAK,MAAM,EAAE,SAAS,cAAc;GAClC,MAAM,cAAc,KAAK,aAAa,IAAI,SAAS;AACnD,eAAY,SAAS,wBAAwB;AAC7C,WAAQ,KAAK,YAAY;AACzB,OAAI,QAAQ,SAAS,KAAK,EACxB;;AAGJ,SAAO;;;;;;;;CAST,AAAQ,iBACN,MACA,KACqB;AACrB,SAAO,KAAK,KAAK,KAAK,OAAO;GAC3B,GAAG;GACH,UAAU;IACR,GAAG,IAAI;KACN,uBAAuB,IAAI,SAAS,yBAAyB;IAC9D,YAAY,IAAI,SAAS,cAAc;KACtC,aAAa,KAAK,aAAa,SAAS;IAC1C;GACF,EAAE;;;;;;;;;CAUL,AAAQ,iBACN,KACA,iBACA,SACQ;EACR,MAAM,cAAc,KAAK,eACvB,SACA,IAAI,SAAS,sBACd;EACD,IAAI,SAAS,IAAM,KAAK,cAAc;AACtC,OAAK,MAAM,OAAO,KAAK,eACrB,UAAS,IAAI,SAAS;AAExB,MAAI,oBAAoB,KACtB,UAAS;AAEX,SAAO;;;;;;;;CAST,AAAQ,eAAe,MAAc,SAAyB;AAC5D,UAAQ,OAAO,WAAW"}
@@ -4,7 +4,6 @@ import { BaseRetriever, BaseRetrieverInput } from "@langchain/core/retrievers";
4
4
  import { DocumentInterface } from "@langchain/core/documents";
5
5
 
6
6
  //#region src/retrievers/time_weighted.d.ts
7
-
8
7
  /**
9
8
  * Interface for the fields required to initialize a
10
9
  * TimeWeightedVectorStoreRetriever instance.
@@ -1 +1 @@
1
- {"version":3,"file":"time_weighted.d.cts","names":["BaseRetriever","BaseRetrieverInput","VectorStoreInterface","DocumentInterface","CallbackManagerForRetrieverRun","TimeWeightedVectorStoreRetrieverFields","LAST_ACCESSED_AT_KEY","BUFFER_IDX","TimeWeightedVectorStoreRetriever","Promise"],"sources":["../../src/retrievers/time_weighted.d.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\n/**\n * Interface for the fields required to initialize a\n * TimeWeightedVectorStoreRetriever instance.\n */\nexport interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {\n vectorStore: VectorStoreInterface;\n searchKwargs?: number;\n memoryStream?: DocumentInterface[];\n decayRate?: number;\n k?: number;\n otherScoreKeys?: string[];\n defaultSalience?: number;\n}\nexport declare const LAST_ACCESSED_AT_KEY = \"last_accessed_at\";\nexport declare const BUFFER_IDX = \"buffer_idx\";\n/**\n * TimeWeightedVectorStoreRetriever retrieves documents based on their time-weighted relevance.\n * ref: https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/retrievers/time_weighted_retriever.py\n * @example\n * ```typescript\n * const retriever = new TimeWeightedVectorStoreRetriever({\n * vectorStore: new MemoryVectorStore(new OpenAIEmbeddings()),\n * memoryStream: [],\n * searchKwargs: 2,\n * });\n * await retriever.addDocuments([\n * { pageContent: \"My name is John.\", metadata: {} },\n * { pageContent: \"My favourite food is pizza.\", metadata: {} },\n *\n * ]);\n * const results = await retriever.invoke(\n * \"What is my favourite food?\",\n * );\n * ```\n */\nexport declare class TimeWeightedVectorStoreRetriever extends BaseRetriever {\n static lc_name(): string;\n get lc_namespace(): string[];\n /**\n * The vectorstore to store documents and determine salience.\n */\n private vectorStore;\n /**\n * The number of top K most relevant documents to consider when searching.\n */\n private searchKwargs;\n /**\n * The memory_stream of documents to search through.\n */\n private memoryStream;\n /**\n * The exponential decay factor used as (1.0-decay_rate)**(hrs_passed).\n */\n private decayRate;\n /**\n * The maximum number of documents to retrieve in a given call.\n */\n private k;\n /**\n * Other keys in the metadata to factor into the score, e.g. 'importance'.\n */\n private otherScoreKeys;\n /**\n * The salience to assign memories not retrieved from the vector store.\n */\n private defaultSalience;\n /**\n * Constructor to initialize the required fields\n * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever\n */\n constructor(fields: TimeWeightedVectorStoreRetrieverFields);\n /**\n * Get the memory stream of documents.\n * @returns The memory stream of documents.\n */\n getMemoryStream(): DocumentInterface[];\n /**\n * Set the memory stream of documents.\n * @param memoryStream The new memory stream of documents.\n */\n setMemoryStream(memoryStream: DocumentInterface[]): void;\n /**\n * Get relevant documents based on time-weighted relevance\n * @param query - The query to search for\n * @returns The relevant documents\n */\n _getRelevantDocuments(query: string, runManager?: CallbackManagerForRetrieverRun): Promise<DocumentInterface[]>;\n /**\n * NOTE: When adding documents to a vector store, use addDocuments\n * via retriever instead of directly to the vector store.\n * This is because it is necessary to process the document\n * in prepareDocuments.\n *\n * @param docs - The documents to add to vector store in the retriever\n */\n addDocuments(docs: DocumentInterface[]): Promise<void>;\n /**\n * Get memory documents and their scores\n * @returns An object containing memory documents and their scores\n */\n private getMemoryDocsAndScores;\n private getSalientDocuments;\n /**\n * Compute the final result set of documents based on the combined scores\n * @param docsAndScores - An object containing documents and their scores\n * @param now - The current timestamp\n * @returns The final set of documents\n */\n private computeResults;\n /**\n * Prepare documents with necessary metadata before saving\n * @param docs - The documents to prepare\n * @param now - The current timestamp\n * @returns The prepared documents\n */\n private prepareDocuments;\n /**\n * Calculate the combined score based on vector relevance and other factors\n * @param doc - The document to calculate the score for\n * @param vectorRelevance - The relevance score from the vector store\n * @param nowMsec - The current timestamp in milliseconds\n * @returns The combined score for the document\n */\n private getCombinedScore;\n /**\n * Calculate the hours passed between two time points\n * @param time - The current time in seconds\n * @param refTime - The reference time in seconds\n * @returns The number of hours passed between the two time points\n */\n private getHoursPassed;\n}\n//# sourceMappingURL=time_weighted.d.ts.map"],"mappings":";;;;;;;;;AAQA;;AAGmBG,UAHFE,sCAAAA,SAA+CJ,kBAG7CE,CAAAA;EAH6CF,WAAAA,EAC/CC,oBAD+CD;EAAkB,YAAA,CAAA,EAAA,MAAA;EAS7DK,YAAAA,CAAAA,EANFH,iBAMsB,EAAA;EACpBI,SAAAA,CAAAA,EAAAA,MAAU;EAqBVC,CAAAA,CAAAA,EAAAA,MAAAA;EAmCGH,cAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAKDF,eAAAA,CAAAA,EAAAA,MAAAA;;AAW+BC,cAzEjCE,oBAAAA,GAyEiCF,kBAAAA;AAAyCD,cAxE1EI,UAAAA,GAwE0EJ,YAAAA;;;;;AAnDpB;;;;;;;;;;;;;;;;cAAtDK,gCAAAA,SAAyCR,aAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAmCtCK;;;;;qBAKDF;;;;;gCAKWA;;;;;;oDAMoBC,iCAAiCK,QAAQN;;;;;;;;;qBASxEA,sBAAsBM"}
1
+ {"version":3,"file":"time_weighted.d.cts","names":[],"sources":["../../src/retrievers/time_weighted.ts"],"mappings":";;;;;;;;AASA;;UAAiB,sCAAA,SAA+C,kBAAA;EAC9D,WAAA,EAAa,oBAAA;EACb,YAAA;EACA,YAAA,GAAe,iBAAA;EACf,SAAA;EACA,CAAA;EACA,cAAA;EACA,eAAA;AAAA;AAAA,cAGW,oBAAA;AAAA,cACA,UAAA;;;;;;;;AADb;;;;;AACA;;;;;AAsBA;;;cAAa,gCAAA,SAAyC,aAAA;EAAA,OAC7C,OAAA,CAAA;EAAA,IAIH,YAAA,CAAA;EA6EW;;;EAAA,QAtEP,WAAA;EA4FuC;;;EAAA,QAvFvC,YAAA;EAjB4C;;;EAAA,QAsB5C,YAAA;EALA;;;EAAA,QAUA,SAAA;EAUA;;;EAAA,QALA,CAAA;EAgBI;;;EAAA,QAXJ,cAAA;EAkCsB;;;EAAA,QA7BtB,eAAA;EAwCO;;;;EAlCf,WAAA,CAAY,MAAA,EAAQ,sCAAA;EAwDK;;;;EAzCzB,eAAA,CAAA,GAAmB,iBAAA;EAiHX;;;;EAzGR,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAqLR;;;;;EA5KhB,qBAAA,CACJ,KAAA,UACA,UAAA,GAAa,8BAAA,GACZ,OAAA,CAAQ,iBAAA;;;;;;;;;EAqBL,YAAA,CAAa,IAAA,EAAM,iBAAA,KAAsB,OAAA;;;;;UAYvC,sBAAA;EAAA,QA4BM,mBAAA;;;;;;;UAgCN,cAAA;;;;;;;UA6BA,gBAAA;;;;;;;;UAsBA,gBAAA;;;;;;;UAyBA,cAAA;AAAA"}
@@ -1,10 +1,9 @@
1
- import { DocumentInterface } from "@langchain/core/documents";
2
1
  import { CallbackManagerForRetrieverRun } from "@langchain/core/callbacks/manager";
2
+ import { DocumentInterface } from "@langchain/core/documents";
3
3
  import { BaseRetriever, BaseRetrieverInput } from "@langchain/core/retrievers";
4
4
  import { VectorStoreInterface } from "@langchain/core/vectorstores";
5
5
 
6
6
  //#region src/retrievers/time_weighted.d.ts
7
-
8
7
  /**
9
8
  * Interface for the fields required to initialize a
10
9
  * TimeWeightedVectorStoreRetriever instance.
@@ -1 +1 @@
1
- {"version":3,"file":"time_weighted.d.ts","names":["BaseRetriever","BaseRetrieverInput","VectorStoreInterface","DocumentInterface","CallbackManagerForRetrieverRun","TimeWeightedVectorStoreRetrieverFields","LAST_ACCESSED_AT_KEY","BUFFER_IDX","TimeWeightedVectorStoreRetriever","Promise"],"sources":["../../src/retrievers/time_weighted.d.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\n/**\n * Interface for the fields required to initialize a\n * TimeWeightedVectorStoreRetriever instance.\n */\nexport interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {\n vectorStore: VectorStoreInterface;\n searchKwargs?: number;\n memoryStream?: DocumentInterface[];\n decayRate?: number;\n k?: number;\n otherScoreKeys?: string[];\n defaultSalience?: number;\n}\nexport declare const LAST_ACCESSED_AT_KEY = \"last_accessed_at\";\nexport declare const BUFFER_IDX = \"buffer_idx\";\n/**\n * TimeWeightedVectorStoreRetriever retrieves documents based on their time-weighted relevance.\n * ref: https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/retrievers/time_weighted_retriever.py\n * @example\n * ```typescript\n * const retriever = new TimeWeightedVectorStoreRetriever({\n * vectorStore: new MemoryVectorStore(new OpenAIEmbeddings()),\n * memoryStream: [],\n * searchKwargs: 2,\n * });\n * await retriever.addDocuments([\n * { pageContent: \"My name is John.\", metadata: {} },\n * { pageContent: \"My favourite food is pizza.\", metadata: {} },\n *\n * ]);\n * const results = await retriever.invoke(\n * \"What is my favourite food?\",\n * );\n * ```\n */\nexport declare class TimeWeightedVectorStoreRetriever extends BaseRetriever {\n static lc_name(): string;\n get lc_namespace(): string[];\n /**\n * The vectorstore to store documents and determine salience.\n */\n private vectorStore;\n /**\n * The number of top K most relevant documents to consider when searching.\n */\n private searchKwargs;\n /**\n * The memory_stream of documents to search through.\n */\n private memoryStream;\n /**\n * The exponential decay factor used as (1.0-decay_rate)**(hrs_passed).\n */\n private decayRate;\n /**\n * The maximum number of documents to retrieve in a given call.\n */\n private k;\n /**\n * Other keys in the metadata to factor into the score, e.g. 'importance'.\n */\n private otherScoreKeys;\n /**\n * The salience to assign memories not retrieved from the vector store.\n */\n private defaultSalience;\n /**\n * Constructor to initialize the required fields\n * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever\n */\n constructor(fields: TimeWeightedVectorStoreRetrieverFields);\n /**\n * Get the memory stream of documents.\n * @returns The memory stream of documents.\n */\n getMemoryStream(): DocumentInterface[];\n /**\n * Set the memory stream of documents.\n * @param memoryStream The new memory stream of documents.\n */\n setMemoryStream(memoryStream: DocumentInterface[]): void;\n /**\n * Get relevant documents based on time-weighted relevance\n * @param query - The query to search for\n * @returns The relevant documents\n */\n _getRelevantDocuments(query: string, runManager?: CallbackManagerForRetrieverRun): Promise<DocumentInterface[]>;\n /**\n * NOTE: When adding documents to a vector store, use addDocuments\n * via retriever instead of directly to the vector store.\n * This is because it is necessary to process the document\n * in prepareDocuments.\n *\n * @param docs - The documents to add to vector store in the retriever\n */\n addDocuments(docs: DocumentInterface[]): Promise<void>;\n /**\n * Get memory documents and their scores\n * @returns An object containing memory documents and their scores\n */\n private getMemoryDocsAndScores;\n private getSalientDocuments;\n /**\n * Compute the final result set of documents based on the combined scores\n * @param docsAndScores - An object containing documents and their scores\n * @param now - The current timestamp\n * @returns The final set of documents\n */\n private computeResults;\n /**\n * Prepare documents with necessary metadata before saving\n * @param docs - The documents to prepare\n * @param now - The current timestamp\n * @returns The prepared documents\n */\n private prepareDocuments;\n /**\n * Calculate the combined score based on vector relevance and other factors\n * @param doc - The document to calculate the score for\n * @param vectorRelevance - The relevance score from the vector store\n * @param nowMsec - The current timestamp in milliseconds\n * @returns The combined score for the document\n */\n private getCombinedScore;\n /**\n * Calculate the hours passed between two time points\n * @param time - The current time in seconds\n * @param refTime - The reference time in seconds\n * @returns The number of hours passed between the two time points\n */\n private getHoursPassed;\n}\n//# sourceMappingURL=time_weighted.d.ts.map"],"mappings":";;;;;;;;;AAQA;;AAGmBG,UAHFE,sCAAAA,SAA+CJ,kBAG7CE,CAAAA;EAH6CF,WAAAA,EAC/CC,oBAD+CD;EAAkB,YAAA,CAAA,EAAA,MAAA;EAS7DK,YAAAA,CAAAA,EANFH,iBAMsB,EAAA;EACpBI,SAAAA,CAAAA,EAAAA,MAAU;EAqBVC,CAAAA,CAAAA,EAAAA,MAAAA;EAmCGH,cAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAKDF,eAAAA,CAAAA,EAAAA,MAAAA;;AAW+BC,cAzEjCE,oBAAAA,GAyEiCF,kBAAAA;AAAyCD,cAxE1EI,UAAAA,GAwE0EJ,YAAAA;;;;;AAnDpB;;;;;;;;;;;;;;;;cAAtDK,gCAAAA,SAAyCR,aAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAmCtCK;;;;;qBAKDF;;;;;gCAKWA;;;;;;oDAMoBC,iCAAiCK,QAAQN;;;;;;;;;qBASxEA,sBAAsBM"}
1
+ {"version":3,"file":"time_weighted.d.ts","names":[],"sources":["../../src/retrievers/time_weighted.ts"],"mappings":";;;;;;;;AASA;;UAAiB,sCAAA,SAA+C,kBAAA;EAC9D,WAAA,EAAa,oBAAA;EACb,YAAA;EACA,YAAA,GAAe,iBAAA;EACf,SAAA;EACA,CAAA;EACA,cAAA;EACA,eAAA;AAAA;AAAA,cAGW,oBAAA;AAAA,cACA,UAAA;;;;;;;;AADb;;;;;AACA;;;;;AAsBA;;;cAAa,gCAAA,SAAyC,aAAA;EAAA,OAC7C,OAAA,CAAA;EAAA,IAIH,YAAA,CAAA;EA6EW;;;EAAA,QAtEP,WAAA;EA4FuC;;;EAAA,QAvFvC,YAAA;EAjB4C;;;EAAA,QAsB5C,YAAA;EALA;;;EAAA,QAUA,SAAA;EAUA;;;EAAA,QALA,CAAA;EAgBI;;;EAAA,QAXJ,cAAA;EAkCsB;;;EAAA,QA7BtB,eAAA;EAwCO;;;;EAlCf,WAAA,CAAY,MAAA,EAAQ,sCAAA;EAwDK;;;;EAzCzB,eAAA,CAAA,GAAmB,iBAAA;EAiHX;;;;EAzGR,eAAA,CAAgB,YAAA,EAAc,iBAAA;EAqLR;;;;;EA5KhB,qBAAA,CACJ,KAAA,UACA,UAAA,GAAa,8BAAA,GACZ,OAAA,CAAQ,iBAAA;;;;;;;;;EAqBL,YAAA,CAAa,IAAA,EAAM,iBAAA,KAAsB,OAAA;;;;;UAYvC,sBAAA;EAAA,QA4BM,mBAAA;;;;;;;UAgCN,cAAA;;;;;;;UA6BA,gBAAA;;;;;;;;UAsBA,gBAAA;;;;;;;UAyBA,cAAA;AAAA"}
@@ -1,9 +1,8 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { BaseRetriever } from "@langchain/core/retrievers";
3
3
 
4
4
  //#region src/retrievers/time_weighted.ts
5
- var time_weighted_exports = {};
6
- __export(time_weighted_exports, {
5
+ var time_weighted_exports = /* @__PURE__ */ __exportAll({
7
6
  BUFFER_IDX: () => BUFFER_IDX,
8
7
  LAST_ACCESSED_AT_KEY: () => LAST_ACCESSED_AT_KEY,
9
8
  TimeWeightedVectorStoreRetriever: () => TimeWeightedVectorStoreRetriever
@@ -153,9 +152,8 @@ var TimeWeightedVectorStoreRetriever = class extends BaseRetriever {
153
152
  for (const [fetchedDoc, score] of docAndScores) {
154
153
  const bufferIdx = fetchedDoc.metadata[BUFFER_IDX];
155
154
  if (bufferIdx === void 0) throw new Error(`Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the "addDocuments" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`);
156
- const doc = this.memoryStream[bufferIdx];
157
155
  results[bufferIdx] = {
158
- doc,
156
+ doc: this.memoryStream[bufferIdx],
159
157
  score
160
158
  };
161
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"time_weighted.js","names":["fields: TimeWeightedVectorStoreRetrieverFields","memoryStream: DocumentInterface[]","query: string","runManager?: CallbackManagerForRetrieverRun","docs: DocumentInterface[]","memoryDocsAndScores: Record<\n number,\n { doc: DocumentInterface; score: number }\n >","docAndScores: [DocumentInterface, number][]","results: Record<number, { doc: DocumentInterface; score: number }>","docsAndScores: Record<number, { doc: DocumentInterface; score: number }>","now: number","results: DocumentInterface[]","doc: DocumentInterface","vectorRelevance: number | null","nowMsec: number","time: number","refTime: number"],"sources":["../../src/retrievers/time_weighted.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Interface for the fields required to initialize a\n * TimeWeightedVectorStoreRetriever instance.\n */\nexport interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {\n vectorStore: VectorStoreInterface;\n searchKwargs?: number;\n memoryStream?: DocumentInterface[];\n decayRate?: number;\n k?: number;\n otherScoreKeys?: string[];\n defaultSalience?: number;\n}\n\nexport const LAST_ACCESSED_AT_KEY = \"last_accessed_at\";\nexport const BUFFER_IDX = \"buffer_idx\";\n\n/**\n * TimeWeightedVectorStoreRetriever retrieves documents based on their time-weighted relevance.\n * ref: https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/retrievers/time_weighted_retriever.py\n * @example\n * ```typescript\n * const retriever = new TimeWeightedVectorStoreRetriever({\n * vectorStore: new MemoryVectorStore(new OpenAIEmbeddings()),\n * memoryStream: [],\n * searchKwargs: 2,\n * });\n * await retriever.addDocuments([\n * { pageContent: \"My name is John.\", metadata: {} },\n * { pageContent: \"My favourite food is pizza.\", metadata: {} },\n *\n * ]);\n * const results = await retriever.invoke(\n * \"What is my favourite food?\",\n * );\n * ```\n */\nexport class TimeWeightedVectorStoreRetriever extends BaseRetriever {\n static lc_name() {\n return \"TimeWeightedVectorStoreRetriever\";\n }\n\n get lc_namespace() {\n return [\"langchain\", \"retrievers\", \"time_weighted\"];\n }\n\n /**\n * The vectorstore to store documents and determine salience.\n */\n private vectorStore: VectorStoreInterface;\n\n /**\n * The number of top K most relevant documents to consider when searching.\n */\n private searchKwargs: number;\n\n /**\n * The memory_stream of documents to search through.\n */\n private memoryStream: DocumentInterface[];\n\n /**\n * The exponential decay factor used as (1.0-decay_rate)**(hrs_passed).\n */\n private decayRate: number;\n\n /**\n * The maximum number of documents to retrieve in a given call.\n */\n private k: number;\n\n /**\n * Other keys in the metadata to factor into the score, e.g. 'importance'.\n */\n private otherScoreKeys: string[];\n\n /**\n * The salience to assign memories not retrieved from the vector store.\n */\n private defaultSalience: number | null;\n\n /**\n * Constructor to initialize the required fields\n * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever\n */\n constructor(fields: TimeWeightedVectorStoreRetrieverFields) {\n super(fields);\n this.vectorStore = fields.vectorStore;\n this.searchKwargs = fields.searchKwargs ?? 100;\n this.memoryStream = fields.memoryStream ?? [];\n this.decayRate = fields.decayRate ?? 0.01;\n this.k = fields.k ?? 4;\n this.otherScoreKeys = fields.otherScoreKeys ?? [];\n this.defaultSalience = fields.defaultSalience ?? null;\n }\n\n /**\n * Get the memory stream of documents.\n * @returns The memory stream of documents.\n */\n getMemoryStream(): DocumentInterface[] {\n return this.memoryStream;\n }\n\n /**\n * Set the memory stream of documents.\n * @param memoryStream The new memory stream of documents.\n */\n setMemoryStream(memoryStream: DocumentInterface[]) {\n this.memoryStream = memoryStream;\n }\n\n /**\n * Get relevant documents based on time-weighted relevance\n * @param query - The query to search for\n * @returns The relevant documents\n */\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const now = Math.floor(Date.now() / 1000);\n const memoryDocsAndScores = this.getMemoryDocsAndScores();\n\n const salientDocsAndScores = await this.getSalientDocuments(\n query,\n runManager\n );\n const docsAndScores = { ...memoryDocsAndScores, ...salientDocsAndScores };\n\n return this.computeResults(docsAndScores, now);\n }\n\n /**\n * NOTE: When adding documents to a vector store, use addDocuments\n * via retriever instead of directly to the vector store.\n * This is because it is necessary to process the document\n * in prepareDocuments.\n *\n * @param docs - The documents to add to vector store in the retriever\n */\n async addDocuments(docs: DocumentInterface[]): Promise<void> {\n const now = Math.floor(Date.now() / 1000);\n const savedDocs = this.prepareDocuments(docs, now);\n\n this.memoryStream.push(...savedDocs);\n await this.vectorStore.addDocuments(savedDocs);\n }\n\n /**\n * Get memory documents and their scores\n * @returns An object containing memory documents and their scores\n */\n private getMemoryDocsAndScores(): Record<\n number,\n { doc: DocumentInterface; score: number }\n > {\n const memoryDocsAndScores: Record<\n number,\n { doc: DocumentInterface; score: number }\n > = {};\n for (const doc of this.memoryStream.slice(-this.k)) {\n const bufferIdx = doc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n memoryDocsAndScores[bufferIdx] = {\n doc,\n score: this.defaultSalience ?? 0,\n };\n }\n return memoryDocsAndScores;\n }\n\n /**\n * Get salient documents and their scores based on the query\n * @param query - The query to search for\n * @returns An object containing salient documents and their scores\n */\n private async getSalientDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<Record<number, { doc: DocumentInterface; score: number }>> {\n const docAndScores: [DocumentInterface, number][] =\n await this.vectorStore.similaritySearchWithScore(\n query,\n this.searchKwargs,\n undefined,\n runManager?.getChild()\n );\n const results: Record<number, { doc: DocumentInterface; score: number }> =\n {};\n for (const [fetchedDoc, score] of docAndScores) {\n const bufferIdx = fetchedDoc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n const doc = this.memoryStream[bufferIdx];\n results[bufferIdx] = { doc, score };\n }\n return results;\n }\n\n /**\n * Compute the final result set of documents based on the combined scores\n * @param docsAndScores - An object containing documents and their scores\n * @param now - The current timestamp\n * @returns The final set of documents\n */\n private computeResults(\n docsAndScores: Record<number, { doc: DocumentInterface; score: number }>,\n now: number\n ): DocumentInterface[] {\n const recordedDocs = Object.values(docsAndScores)\n .map(({ doc, score }) => ({\n doc,\n score: this.getCombinedScore(doc, score, now),\n }))\n .sort((a, b) => b.score - a.score);\n\n const results: DocumentInterface[] = [];\n for (const { doc } of recordedDocs) {\n const bufferedDoc = this.memoryStream[doc.metadata[BUFFER_IDX]];\n bufferedDoc.metadata[LAST_ACCESSED_AT_KEY] = now;\n results.push(bufferedDoc);\n if (results.length > this.k) {\n break;\n }\n }\n return results;\n }\n\n /**\n * Prepare documents with necessary metadata before saving\n * @param docs - The documents to prepare\n * @param now - The current timestamp\n * @returns The prepared documents\n */\n private prepareDocuments(\n docs: DocumentInterface[],\n now: number\n ): DocumentInterface[] {\n return docs.map((doc, i) => ({\n ...doc,\n metadata: {\n ...doc.metadata,\n [LAST_ACCESSED_AT_KEY]: doc.metadata[LAST_ACCESSED_AT_KEY] ?? now,\n created_at: doc.metadata.created_at ?? now,\n [BUFFER_IDX]: this.memoryStream.length + i,\n },\n }));\n }\n\n /**\n * Calculate the combined score based on vector relevance and other factors\n * @param doc - The document to calculate the score for\n * @param vectorRelevance - The relevance score from the vector store\n * @param nowMsec - The current timestamp in milliseconds\n * @returns The combined score for the document\n */\n private getCombinedScore(\n doc: DocumentInterface,\n vectorRelevance: number | null,\n nowMsec: number\n ): number {\n const hoursPassed = this.getHoursPassed(\n nowMsec,\n doc.metadata[LAST_ACCESSED_AT_KEY]\n );\n let score = (1.0 - this.decayRate) ** hoursPassed;\n for (const key of this.otherScoreKeys) {\n score += doc.metadata[key];\n }\n if (vectorRelevance !== null) {\n score += vectorRelevance;\n }\n return score;\n }\n\n /**\n * Calculate the hours passed between two time points\n * @param time - The current time in seconds\n * @param refTime - The reference time in seconds\n * @returns The number of hours passed between the two time points\n */\n private getHoursPassed(time: number, refTime: number): number {\n return (time - refTime) / 3600;\n }\n}\n"],"mappings":";;;;;;;;;;AAmBA,MAAa,uBAAuB;AACpC,MAAa,aAAa;;;;;;;;;;;;;;;;;;;;;AAsB1B,IAAa,mCAAb,cAAsD,cAAc;CAClE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,eAAe;AACjB,SAAO;GAAC;GAAa;GAAc;EAAgB;CACpD;;;;CAKD,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;;CAMR,YAAYA,QAAgD;EAC1D,MAAM,OAAO;EACb,KAAK,cAAc,OAAO;EAC1B,KAAK,eAAe,OAAO,gBAAgB;EAC3C,KAAK,eAAe,OAAO,gBAAgB,CAAE;EAC7C,KAAK,YAAY,OAAO,aAAa;EACrC,KAAK,IAAI,OAAO,KAAK;EACrB,KAAK,iBAAiB,OAAO,kBAAkB,CAAE;EACjD,KAAK,kBAAkB,OAAO,mBAAmB;CAClD;;;;;CAMD,kBAAuC;AACrC,SAAO,KAAK;CACb;;;;;CAMD,gBAAgBC,cAAmC;EACjD,KAAK,eAAe;CACrB;;;;;;CAOD,MAAM,sBACJC,OACAC,YAC8B;EAC9B,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,sBAAsB,KAAK,wBAAwB;EAEzD,MAAM,uBAAuB,MAAM,KAAK,oBACtC,OACA,WACD;EACD,MAAM,gBAAgB;GAAE,GAAG;GAAqB,GAAG;EAAsB;AAEzE,SAAO,KAAK,eAAe,eAAe,IAAI;CAC/C;;;;;;;;;CAUD,MAAM,aAAaC,MAA0C;EAC3D,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,YAAY,KAAK,iBAAiB,MAAM,IAAI;EAElD,KAAK,aAAa,KAAK,GAAG,UAAU;EACpC,MAAM,KAAK,YAAY,aAAa,UAAU;CAC/C;;;;;CAMD,AAAQ,yBAGN;EACA,MAAMC,sBAGF,CAAE;AACN,OAAK,MAAM,OAAO,KAAK,aAAa,MAAM,CAAC,KAAK,EAAE,EAAE;GAClD,MAAM,YAAY,IAAI,SAAS;AAC/B,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,CAAC,2RAA2R,CAAC;GAGjS,oBAAoB,aAAa;IAC/B;IACA,OAAO,KAAK,mBAAmB;GAChC;EACF;AACD,SAAO;CACR;;;;;;CAOD,MAAc,oBACZH,OACAC,YACoE;EACpE,MAAMG,eACJ,MAAM,KAAK,YAAY,0BACrB,OACA,KAAK,cACL,QACA,YAAY,UAAU,CACvB;EACH,MAAMC,UACJ,CAAE;AACJ,OAAK,MAAM,CAAC,YAAY,MAAM,IAAI,cAAc;GAC9C,MAAM,YAAY,WAAW,SAAS;AACtC,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,CAAC,2RAA2R,CAAC;GAGjS,MAAM,MAAM,KAAK,aAAa;GAC9B,QAAQ,aAAa;IAAE;IAAK;GAAO;EACpC;AACD,SAAO;CACR;;;;;;;CAQD,AAAQ,eACNC,eACAC,KACqB;EACrB,MAAM,eAAe,OAAO,OAAO,cAAc,CAC9C,IAAI,CAAC,EAAE,KAAK,OAAO,MAAM;GACxB;GACA,OAAO,KAAK,iBAAiB,KAAK,OAAO,IAAI;EAC9C,GAAE,CACF,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;EAEpC,MAAMC,UAA+B,CAAE;AACvC,OAAK,MAAM,EAAE,KAAK,IAAI,cAAc;GAClC,MAAM,cAAc,KAAK,aAAa,IAAI,SAAS;GACnD,YAAY,SAAS,wBAAwB;GAC7C,QAAQ,KAAK,YAAY;AACzB,OAAI,QAAQ,SAAS,KAAK,EACxB;EAEH;AACD,SAAO;CACR;;;;;;;CAQD,AAAQ,iBACNN,MACAK,KACqB;AACrB,SAAO,KAAK,IAAI,CAAC,KAAK,OAAO;GAC3B,GAAG;GACH,UAAU;IACR,GAAG,IAAI;KACN,uBAAuB,IAAI,SAAS,yBAAyB;IAC9D,YAAY,IAAI,SAAS,cAAc;KACtC,aAAa,KAAK,aAAa,SAAS;GAC1C;EACF,GAAE;CACJ;;;;;;;;CASD,AAAQ,iBACNE,KACAC,iBACAC,SACQ;EACR,MAAM,cAAc,KAAK,eACvB,SACA,IAAI,SAAS,sBACd;EACD,IAAI,SAAS,IAAM,KAAK,cAAc;AACtC,OAAK,MAAM,OAAO,KAAK,gBACrB,SAAS,IAAI,SAAS;AAExB,MAAI,oBAAoB,MACtB,SAAS;AAEX,SAAO;CACR;;;;;;;CAQD,AAAQ,eAAeC,MAAcC,SAAyB;AAC5D,UAAQ,OAAO,WAAW;CAC3B;AACF"}
1
+ {"version":3,"file":"time_weighted.js","names":[],"sources":["../../src/retrievers/time_weighted.ts"],"sourcesContent":["import { BaseRetriever, BaseRetrieverInput } from \"@langchain/core/retrievers\";\nimport type { VectorStoreInterface } from \"@langchain/core/vectorstores\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Interface for the fields required to initialize a\n * TimeWeightedVectorStoreRetriever instance.\n */\nexport interface TimeWeightedVectorStoreRetrieverFields extends BaseRetrieverInput {\n vectorStore: VectorStoreInterface;\n searchKwargs?: number;\n memoryStream?: DocumentInterface[];\n decayRate?: number;\n k?: number;\n otherScoreKeys?: string[];\n defaultSalience?: number;\n}\n\nexport const LAST_ACCESSED_AT_KEY = \"last_accessed_at\";\nexport const BUFFER_IDX = \"buffer_idx\";\n\n/**\n * TimeWeightedVectorStoreRetriever retrieves documents based on their time-weighted relevance.\n * ref: https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/retrievers/time_weighted_retriever.py\n * @example\n * ```typescript\n * const retriever = new TimeWeightedVectorStoreRetriever({\n * vectorStore: new MemoryVectorStore(new OpenAIEmbeddings()),\n * memoryStream: [],\n * searchKwargs: 2,\n * });\n * await retriever.addDocuments([\n * { pageContent: \"My name is John.\", metadata: {} },\n * { pageContent: \"My favourite food is pizza.\", metadata: {} },\n *\n * ]);\n * const results = await retriever.invoke(\n * \"What is my favourite food?\",\n * );\n * ```\n */\nexport class TimeWeightedVectorStoreRetriever extends BaseRetriever {\n static lc_name() {\n return \"TimeWeightedVectorStoreRetriever\";\n }\n\n get lc_namespace() {\n return [\"langchain\", \"retrievers\", \"time_weighted\"];\n }\n\n /**\n * The vectorstore to store documents and determine salience.\n */\n private vectorStore: VectorStoreInterface;\n\n /**\n * The number of top K most relevant documents to consider when searching.\n */\n private searchKwargs: number;\n\n /**\n * The memory_stream of documents to search through.\n */\n private memoryStream: DocumentInterface[];\n\n /**\n * The exponential decay factor used as (1.0-decay_rate)**(hrs_passed).\n */\n private decayRate: number;\n\n /**\n * The maximum number of documents to retrieve in a given call.\n */\n private k: number;\n\n /**\n * Other keys in the metadata to factor into the score, e.g. 'importance'.\n */\n private otherScoreKeys: string[];\n\n /**\n * The salience to assign memories not retrieved from the vector store.\n */\n private defaultSalience: number | null;\n\n /**\n * Constructor to initialize the required fields\n * @param fields - The fields required for initializing the TimeWeightedVectorStoreRetriever\n */\n constructor(fields: TimeWeightedVectorStoreRetrieverFields) {\n super(fields);\n this.vectorStore = fields.vectorStore;\n this.searchKwargs = fields.searchKwargs ?? 100;\n this.memoryStream = fields.memoryStream ?? [];\n this.decayRate = fields.decayRate ?? 0.01;\n this.k = fields.k ?? 4;\n this.otherScoreKeys = fields.otherScoreKeys ?? [];\n this.defaultSalience = fields.defaultSalience ?? null;\n }\n\n /**\n * Get the memory stream of documents.\n * @returns The memory stream of documents.\n */\n getMemoryStream(): DocumentInterface[] {\n return this.memoryStream;\n }\n\n /**\n * Set the memory stream of documents.\n * @param memoryStream The new memory stream of documents.\n */\n setMemoryStream(memoryStream: DocumentInterface[]) {\n this.memoryStream = memoryStream;\n }\n\n /**\n * Get relevant documents based on time-weighted relevance\n * @param query - The query to search for\n * @returns The relevant documents\n */\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const now = Math.floor(Date.now() / 1000);\n const memoryDocsAndScores = this.getMemoryDocsAndScores();\n\n const salientDocsAndScores = await this.getSalientDocuments(\n query,\n runManager\n );\n const docsAndScores = { ...memoryDocsAndScores, ...salientDocsAndScores };\n\n return this.computeResults(docsAndScores, now);\n }\n\n /**\n * NOTE: When adding documents to a vector store, use addDocuments\n * via retriever instead of directly to the vector store.\n * This is because it is necessary to process the document\n * in prepareDocuments.\n *\n * @param docs - The documents to add to vector store in the retriever\n */\n async addDocuments(docs: DocumentInterface[]): Promise<void> {\n const now = Math.floor(Date.now() / 1000);\n const savedDocs = this.prepareDocuments(docs, now);\n\n this.memoryStream.push(...savedDocs);\n await this.vectorStore.addDocuments(savedDocs);\n }\n\n /**\n * Get memory documents and their scores\n * @returns An object containing memory documents and their scores\n */\n private getMemoryDocsAndScores(): Record<\n number,\n { doc: DocumentInterface; score: number }\n > {\n const memoryDocsAndScores: Record<\n number,\n { doc: DocumentInterface; score: number }\n > = {};\n for (const doc of this.memoryStream.slice(-this.k)) {\n const bufferIdx = doc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n memoryDocsAndScores[bufferIdx] = {\n doc,\n score: this.defaultSalience ?? 0,\n };\n }\n return memoryDocsAndScores;\n }\n\n /**\n * Get salient documents and their scores based on the query\n * @param query - The query to search for\n * @returns An object containing salient documents and their scores\n */\n private async getSalientDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<Record<number, { doc: DocumentInterface; score: number }>> {\n const docAndScores: [DocumentInterface, number][] =\n await this.vectorStore.similaritySearchWithScore(\n query,\n this.searchKwargs,\n undefined,\n runManager?.getChild()\n );\n const results: Record<number, { doc: DocumentInterface; score: number }> =\n {};\n for (const [fetchedDoc, score] of docAndScores) {\n const bufferIdx = fetchedDoc.metadata[BUFFER_IDX];\n if (bufferIdx === undefined) {\n throw new Error(\n `Found a document in the vector store that is missing required metadata. This retriever only supports vector stores with documents that have been added through the \"addDocuments\" method on a TimeWeightedVectorStoreRetriever, not directly added or loaded into the backing vector store.`\n );\n }\n const doc = this.memoryStream[bufferIdx];\n results[bufferIdx] = { doc, score };\n }\n return results;\n }\n\n /**\n * Compute the final result set of documents based on the combined scores\n * @param docsAndScores - An object containing documents and their scores\n * @param now - The current timestamp\n * @returns The final set of documents\n */\n private computeResults(\n docsAndScores: Record<number, { doc: DocumentInterface; score: number }>,\n now: number\n ): DocumentInterface[] {\n const recordedDocs = Object.values(docsAndScores)\n .map(({ doc, score }) => ({\n doc,\n score: this.getCombinedScore(doc, score, now),\n }))\n .sort((a, b) => b.score - a.score);\n\n const results: DocumentInterface[] = [];\n for (const { doc } of recordedDocs) {\n const bufferedDoc = this.memoryStream[doc.metadata[BUFFER_IDX]];\n bufferedDoc.metadata[LAST_ACCESSED_AT_KEY] = now;\n results.push(bufferedDoc);\n if (results.length > this.k) {\n break;\n }\n }\n return results;\n }\n\n /**\n * Prepare documents with necessary metadata before saving\n * @param docs - The documents to prepare\n * @param now - The current timestamp\n * @returns The prepared documents\n */\n private prepareDocuments(\n docs: DocumentInterface[],\n now: number\n ): DocumentInterface[] {\n return docs.map((doc, i) => ({\n ...doc,\n metadata: {\n ...doc.metadata,\n [LAST_ACCESSED_AT_KEY]: doc.metadata[LAST_ACCESSED_AT_KEY] ?? now,\n created_at: doc.metadata.created_at ?? now,\n [BUFFER_IDX]: this.memoryStream.length + i,\n },\n }));\n }\n\n /**\n * Calculate the combined score based on vector relevance and other factors\n * @param doc - The document to calculate the score for\n * @param vectorRelevance - The relevance score from the vector store\n * @param nowMsec - The current timestamp in milliseconds\n * @returns The combined score for the document\n */\n private getCombinedScore(\n doc: DocumentInterface,\n vectorRelevance: number | null,\n nowMsec: number\n ): number {\n const hoursPassed = this.getHoursPassed(\n nowMsec,\n doc.metadata[LAST_ACCESSED_AT_KEY]\n );\n let score = (1.0 - this.decayRate) ** hoursPassed;\n for (const key of this.otherScoreKeys) {\n score += doc.metadata[key];\n }\n if (vectorRelevance !== null) {\n score += vectorRelevance;\n }\n return score;\n }\n\n /**\n * Calculate the hours passed between two time points\n * @param time - The current time in seconds\n * @param refTime - The reference time in seconds\n * @returns The number of hours passed between the two time points\n */\n private getHoursPassed(time: number, refTime: number): number {\n return (time - refTime) / 3600;\n }\n}\n"],"mappings":";;;;;;;;;AAmBA,MAAa,uBAAuB;AACpC,MAAa,aAAa;;;;;;;;;;;;;;;;;;;;;AAsB1B,IAAa,mCAAb,cAAsD,cAAc;CAClE,OAAO,UAAU;AACf,SAAO;;CAGT,IAAI,eAAe;AACjB,SAAO;GAAC;GAAa;GAAc;GAAgB;;;;;CAMrD,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;CAKR,AAAQ;;;;;CAMR,YAAY,QAAgD;AAC1D,QAAM,OAAO;AACb,OAAK,cAAc,OAAO;AAC1B,OAAK,eAAe,OAAO,gBAAgB;AAC3C,OAAK,eAAe,OAAO,gBAAgB,EAAE;AAC7C,OAAK,YAAY,OAAO,aAAa;AACrC,OAAK,IAAI,OAAO,KAAK;AACrB,OAAK,iBAAiB,OAAO,kBAAkB,EAAE;AACjD,OAAK,kBAAkB,OAAO,mBAAmB;;;;;;CAOnD,kBAAuC;AACrC,SAAO,KAAK;;;;;;CAOd,gBAAgB,cAAmC;AACjD,OAAK,eAAe;;;;;;;CAQtB,MAAM,sBACJ,OACA,YAC8B;EAC9B,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,sBAAsB,KAAK,wBAAwB;EAEzD,MAAM,uBAAuB,MAAM,KAAK,oBACtC,OACA,WACD;EACD,MAAM,gBAAgB;GAAE,GAAG;GAAqB,GAAG;GAAsB;AAEzE,SAAO,KAAK,eAAe,eAAe,IAAI;;;;;;;;;;CAWhD,MAAM,aAAa,MAA0C;EAC3D,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;EACzC,MAAM,YAAY,KAAK,iBAAiB,MAAM,IAAI;AAElD,OAAK,aAAa,KAAK,GAAG,UAAU;AACpC,QAAM,KAAK,YAAY,aAAa,UAAU;;;;;;CAOhD,AAAQ,yBAGN;EACA,MAAM,sBAGF,EAAE;AACN,OAAK,MAAM,OAAO,KAAK,aAAa,MAAM,CAAC,KAAK,EAAE,EAAE;GAClD,MAAM,YAAY,IAAI,SAAS;AAC/B,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,8RACD;AAEH,uBAAoB,aAAa;IAC/B;IACA,OAAO,KAAK,mBAAmB;IAChC;;AAEH,SAAO;;;;;;;CAQT,MAAc,oBACZ,OACA,YACoE;EACpE,MAAM,eACJ,MAAM,KAAK,YAAY,0BACrB,OACA,KAAK,cACL,QACA,YAAY,UAAU,CACvB;EACH,MAAM,UACJ,EAAE;AACJ,OAAK,MAAM,CAAC,YAAY,UAAU,cAAc;GAC9C,MAAM,YAAY,WAAW,SAAS;AACtC,OAAI,cAAc,OAChB,OAAM,IAAI,MACR,8RACD;AAGH,WAAQ,aAAa;IAAE,KADX,KAAK,aAAa;IACF;IAAO;;AAErC,SAAO;;;;;;;;CAST,AAAQ,eACN,eACA,KACqB;EACrB,MAAM,eAAe,OAAO,OAAO,cAAc,CAC9C,KAAK,EAAE,KAAK,aAAa;GACxB;GACA,OAAO,KAAK,iBAAiB,KAAK,OAAO,IAAI;GAC9C,EAAE,CACF,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;EAEpC,MAAM,UAA+B,EAAE;AACvC,OAAK,MAAM,EAAE,SAAS,cAAc;GAClC,MAAM,cAAc,KAAK,aAAa,IAAI,SAAS;AACnD,eAAY,SAAS,wBAAwB;AAC7C,WAAQ,KAAK,YAAY;AACzB,OAAI,QAAQ,SAAS,KAAK,EACxB;;AAGJ,SAAO;;;;;;;;CAST,AAAQ,iBACN,MACA,KACqB;AACrB,SAAO,KAAK,KAAK,KAAK,OAAO;GAC3B,GAAG;GACH,UAAU;IACR,GAAG,IAAI;KACN,uBAAuB,IAAI,SAAS,yBAAyB;IAC9D,YAAY,IAAI,SAAS,cAAc;KACtC,aAAa,KAAK,aAAa,SAAS;IAC1C;GACF,EAAE;;;;;;;;;CAUL,AAAQ,iBACN,KACA,iBACA,SACQ;EACR,MAAM,cAAc,KAAK,eACvB,SACA,IAAI,SAAS,sBACd;EACD,IAAI,SAAS,IAAM,KAAK,cAAc;AACtC,OAAK,MAAM,OAAO,KAAK,eACrB,UAAS,IAAI,SAAS;AAExB,MAAI,oBAAoB,KACtB,UAAS;AAEX,SAAO;;;;;;;;CAST,AAAQ,eAAe,MAAc,SAAyB;AAC5D,UAAQ,OAAO,WAAW"}
@@ -1,8 +1,8 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
3
 
3
4
  //#region src/schema/prompt_template.ts
4
- var prompt_template_exports = {};
5
- require_rolldown_runtime.__export(prompt_template_exports, { formatDocument: () => formatDocument });
5
+ var prompt_template_exports = /* @__PURE__ */ require_runtime.__exportAll({ formatDocument: () => formatDocument });
6
6
  /**
7
7
  * Formats a document using a given prompt template.
8
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"prompt_template.cjs","names":["document: Document","prompt: BasePromptTemplate"],"sources":["../../src/schema/prompt_template.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\n\n/**\n * Formats a document using a given prompt template.\n *\n * @async\n * @param {Document} document - The document to format.\n * @param {BasePromptTemplate} prompt - The prompt template to use for formatting.\n * @returns {Promise<string>} A Promise that resolves to the formatted document as a string.\n * @throws {Error} If the document is missing required metadata variables specified in the prompt template.\n */\nexport const formatDocument = async (\n document: Document,\n prompt: BasePromptTemplate\n): Promise<string> => {\n const baseInfo = {\n pageContent: document.pageContent,\n ...document.metadata,\n };\n const variables = new Set(prompt.inputVariables);\n const requiredMetadata = new Set(\n prompt.inputVariables\n .map((v) => (v !== \"pageContent\" ? v : null))\n .filter((v) => v !== null)\n );\n const missingMetadata = [];\n for (const variable of variables) {\n if (!(variable in baseInfo) && variable !== \"pageContent\") {\n missingMetadata.push(variable);\n }\n }\n if (missingMetadata.length) {\n throw new Error(\n `Document prompt requires documents to have metadata variables: ${JSON.stringify(\n requiredMetadata\n )}. Received document with missing metadata: ${JSON.stringify(\n missingMetadata\n )}`\n );\n }\n return prompt.format(baseInfo);\n};\n"],"mappings":";;;;;;;;;;;;;;AAYA,MAAa,iBAAiB,OAC5BA,UACAC,WACoB;CACpB,MAAM,WAAW;EACf,aAAa,SAAS;EACtB,GAAG,SAAS;CACb;CACD,MAAM,YAAY,IAAI,IAAI,OAAO;CACjC,MAAM,mBAAmB,IAAI,IAC3B,OAAO,eACJ,IAAI,CAAC,MAAO,MAAM,gBAAgB,IAAI,KAAM,CAC5C,OAAO,CAAC,MAAM,MAAM,KAAK;CAE9B,MAAM,kBAAkB,CAAE;AAC1B,MAAK,MAAM,YAAY,UACrB,KAAI,EAAE,YAAY,aAAa,aAAa,eAC1C,gBAAgB,KAAK,SAAS;AAGlC,KAAI,gBAAgB,OAClB,OAAM,IAAI,MACR,CAAC,+DAA+D,EAAE,KAAK,UACrE,iBACD,CAAC,2CAA2C,EAAE,KAAK,UAClD,gBACD,EAAE;AAGP,QAAO,OAAO,OAAO,SAAS;AAC/B"}
1
+ {"version":3,"file":"prompt_template.cjs","names":[],"sources":["../../src/schema/prompt_template.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\n\n/**\n * Formats a document using a given prompt template.\n *\n * @async\n * @param {Document} document - The document to format.\n * @param {BasePromptTemplate} prompt - The prompt template to use for formatting.\n * @returns {Promise<string>} A Promise that resolves to the formatted document as a string.\n * @throws {Error} If the document is missing required metadata variables specified in the prompt template.\n */\nexport const formatDocument = async (\n document: Document,\n prompt: BasePromptTemplate\n): Promise<string> => {\n const baseInfo = {\n pageContent: document.pageContent,\n ...document.metadata,\n };\n const variables = new Set(prompt.inputVariables);\n const requiredMetadata = new Set(\n prompt.inputVariables\n .map((v) => (v !== \"pageContent\" ? v : null))\n .filter((v) => v !== null)\n );\n const missingMetadata = [];\n for (const variable of variables) {\n if (!(variable in baseInfo) && variable !== \"pageContent\") {\n missingMetadata.push(variable);\n }\n }\n if (missingMetadata.length) {\n throw new Error(\n `Document prompt requires documents to have metadata variables: ${JSON.stringify(\n requiredMetadata\n )}. Received document with missing metadata: ${JSON.stringify(\n missingMetadata\n )}`\n );\n }\n return prompt.format(baseInfo);\n};\n"],"mappings":";;;;;;;;;;;;;;AAYA,MAAa,iBAAiB,OAC5B,UACA,WACoB;CACpB,MAAM,WAAW;EACf,aAAa,SAAS;EACtB,GAAG,SAAS;EACb;CACD,MAAM,YAAY,IAAI,IAAI,OAAO,eAAe;CAChD,MAAM,mBAAmB,IAAI,IAC3B,OAAO,eACJ,KAAK,MAAO,MAAM,gBAAgB,IAAI,KAAM,CAC5C,QAAQ,MAAM,MAAM,KAAK,CAC7B;CACD,MAAM,kBAAkB,EAAE;AAC1B,MAAK,MAAM,YAAY,UACrB,KAAI,EAAE,YAAY,aAAa,aAAa,cAC1C,iBAAgB,KAAK,SAAS;AAGlC,KAAI,gBAAgB,OAClB,OAAM,IAAI,MACR,kEAAkE,KAAK,UACrE,iBACD,CAAC,6CAA6C,KAAK,UAClD,gBACD,GACF;AAEH,QAAO,OAAO,OAAO,SAAS"}
@@ -3,7 +3,6 @@ import * as _langchain_core_prompt_values0 from "@langchain/core/prompt_values";
3
3
  import { Document } from "@langchain/core/documents";
4
4
 
5
5
  //#region src/schema/prompt_template.d.ts
6
-
7
6
  /**
8
7
  * Formats a document using a given prompt template.
9
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"prompt_template.d.cts","names":["Document","BasePromptTemplate","formatDocument","Record","_langchain_core_prompt_values0","BasePromptValueInterface","Promise"],"sources":["../../src/schema/prompt_template.d.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\n/**\n * Formats a document using a given prompt template.\n *\n * @async\n * @param {Document} document - The document to format.\n * @param {BasePromptTemplate} prompt - The prompt template to use for formatting.\n * @returns {Promise<string>} A Promise that resolves to the formatted document as a string.\n * @throws {Error} If the document is missing required metadata variables specified in the prompt template.\n */\nexport declare const formatDocument: (document: Document<Record<string, any>>, prompt: BasePromptTemplate<any, import(\"@langchain/core/prompt_values\").BasePromptValueInterface, any>) => Promise<string>;\n//# sourceMappingURL=prompt_template.d.ts.map"],"mappings":";;;;;;;;;AAWA;;;;;;AAAiM,cAA5KE,cAA4K,EAAA,CAAA,QAAA,EAAjJF,QAAiJ,CAAxIG,MAAwI,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,EAAA,MAAA,EAA1GF,kBAA0G,CAAA,GAAA,EAAzIG,8BAAAA,CAA+FC,wBAAAA,EAA0C,GAAA,CAAA,EAAA,GAAPC,OAAO,CAAA,MAAA,CAAA"}
1
+ {"version":3,"file":"prompt_template.d.cts","names":[],"sources":["../../src/schema/prompt_template.ts"],"mappings":";;;;;;;;AAYA;;;;;;cAAa,cAAA,GAAc,QAAA,EAAA,QAAA,CAAA,MAAA,gBAAA,MAAA,EAAA,kBAAA,MAAA,8BAAA,CAAA,wBAAA,WAAA,OAAA"}
@@ -1,9 +1,8 @@
1
- import { Document } from "@langchain/core/documents";
2
1
  import { BasePromptTemplate } from "@langchain/core/prompts";
2
+ import { Document } from "@langchain/core/documents";
3
3
  import * as _langchain_core_prompt_values0 from "@langchain/core/prompt_values";
4
4
 
5
5
  //#region src/schema/prompt_template.d.ts
6
-
7
6
  /**
8
7
  * Formats a document using a given prompt template.
9
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"prompt_template.d.ts","names":["Document","BasePromptTemplate","formatDocument","Record","_langchain_core_prompt_values0","BasePromptValueInterface","Promise"],"sources":["../../src/schema/prompt_template.d.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\n/**\n * Formats a document using a given prompt template.\n *\n * @async\n * @param {Document} document - The document to format.\n * @param {BasePromptTemplate} prompt - The prompt template to use for formatting.\n * @returns {Promise<string>} A Promise that resolves to the formatted document as a string.\n * @throws {Error} If the document is missing required metadata variables specified in the prompt template.\n */\nexport declare const formatDocument: (document: Document<Record<string, any>>, prompt: BasePromptTemplate<any, import(\"@langchain/core/prompt_values\").BasePromptValueInterface, any>) => Promise<string>;\n//# sourceMappingURL=prompt_template.d.ts.map"],"mappings":";;;;;;;;;AAWA;;;;;;AAAiM,cAA5KE,cAA4K,EAAA,CAAA,QAAA,EAAjJF,QAAiJ,CAAxIG,MAAwI,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,EAAA,MAAA,EAA1GF,kBAA0G,CAAA,GAAA,EAAzIG,8BAAAA,CAA+FC,wBAAAA,EAA0C,GAAA,CAAA,EAAA,GAAPC,OAAO,CAAA,MAAA,CAAA"}
1
+ {"version":3,"file":"prompt_template.d.ts","names":[],"sources":["../../src/schema/prompt_template.ts"],"mappings":";;;;;;;;AAYA;;;;;;cAAa,cAAA,GAAc,QAAA,EAAA,QAAA,CAAA,MAAA,gBAAA,MAAA,EAAA,kBAAA,MAAA,8BAAA,CAAA,wBAAA,WAAA,OAAA"}
@@ -1,8 +1,7 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
 
3
3
  //#region src/schema/prompt_template.ts
4
- var prompt_template_exports = {};
5
- __export(prompt_template_exports, { formatDocument: () => formatDocument });
4
+ var prompt_template_exports = /* @__PURE__ */ __exportAll({ formatDocument: () => formatDocument });
6
5
  /**
7
6
  * Formats a document using a given prompt template.
8
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"prompt_template.js","names":["document: Document","prompt: BasePromptTemplate"],"sources":["../../src/schema/prompt_template.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\n\n/**\n * Formats a document using a given prompt template.\n *\n * @async\n * @param {Document} document - The document to format.\n * @param {BasePromptTemplate} prompt - The prompt template to use for formatting.\n * @returns {Promise<string>} A Promise that resolves to the formatted document as a string.\n * @throws {Error} If the document is missing required metadata variables specified in the prompt template.\n */\nexport const formatDocument = async (\n document: Document,\n prompt: BasePromptTemplate\n): Promise<string> => {\n const baseInfo = {\n pageContent: document.pageContent,\n ...document.metadata,\n };\n const variables = new Set(prompt.inputVariables);\n const requiredMetadata = new Set(\n prompt.inputVariables\n .map((v) => (v !== \"pageContent\" ? v : null))\n .filter((v) => v !== null)\n );\n const missingMetadata = [];\n for (const variable of variables) {\n if (!(variable in baseInfo) && variable !== \"pageContent\") {\n missingMetadata.push(variable);\n }\n }\n if (missingMetadata.length) {\n throw new Error(\n `Document prompt requires documents to have metadata variables: ${JSON.stringify(\n requiredMetadata\n )}. Received document with missing metadata: ${JSON.stringify(\n missingMetadata\n )}`\n );\n }\n return prompt.format(baseInfo);\n};\n"],"mappings":";;;;;;;;;;;;;;AAYA,MAAa,iBAAiB,OAC5BA,UACAC,WACoB;CACpB,MAAM,WAAW;EACf,aAAa,SAAS;EACtB,GAAG,SAAS;CACb;CACD,MAAM,YAAY,IAAI,IAAI,OAAO;CACjC,MAAM,mBAAmB,IAAI,IAC3B,OAAO,eACJ,IAAI,CAAC,MAAO,MAAM,gBAAgB,IAAI,KAAM,CAC5C,OAAO,CAAC,MAAM,MAAM,KAAK;CAE9B,MAAM,kBAAkB,CAAE;AAC1B,MAAK,MAAM,YAAY,UACrB,KAAI,EAAE,YAAY,aAAa,aAAa,eAC1C,gBAAgB,KAAK,SAAS;AAGlC,KAAI,gBAAgB,OAClB,OAAM,IAAI,MACR,CAAC,+DAA+D,EAAE,KAAK,UACrE,iBACD,CAAC,2CAA2C,EAAE,KAAK,UAClD,gBACD,EAAE;AAGP,QAAO,OAAO,OAAO,SAAS;AAC/B"}
1
+ {"version":3,"file":"prompt_template.js","names":[],"sources":["../../src/schema/prompt_template.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\n\n/**\n * Formats a document using a given prompt template.\n *\n * @async\n * @param {Document} document - The document to format.\n * @param {BasePromptTemplate} prompt - The prompt template to use for formatting.\n * @returns {Promise<string>} A Promise that resolves to the formatted document as a string.\n * @throws {Error} If the document is missing required metadata variables specified in the prompt template.\n */\nexport const formatDocument = async (\n document: Document,\n prompt: BasePromptTemplate\n): Promise<string> => {\n const baseInfo = {\n pageContent: document.pageContent,\n ...document.metadata,\n };\n const variables = new Set(prompt.inputVariables);\n const requiredMetadata = new Set(\n prompt.inputVariables\n .map((v) => (v !== \"pageContent\" ? v : null))\n .filter((v) => v !== null)\n );\n const missingMetadata = [];\n for (const variable of variables) {\n if (!(variable in baseInfo) && variable !== \"pageContent\") {\n missingMetadata.push(variable);\n }\n }\n if (missingMetadata.length) {\n throw new Error(\n `Document prompt requires documents to have metadata variables: ${JSON.stringify(\n requiredMetadata\n )}. Received document with missing metadata: ${JSON.stringify(\n missingMetadata\n )}`\n );\n }\n return prompt.format(baseInfo);\n};\n"],"mappings":";;;;;;;;;;;;;AAYA,MAAa,iBAAiB,OAC5B,UACA,WACoB;CACpB,MAAM,WAAW;EACf,aAAa,SAAS;EACtB,GAAG,SAAS;EACb;CACD,MAAM,YAAY,IAAI,IAAI,OAAO,eAAe;CAChD,MAAM,mBAAmB,IAAI,IAC3B,OAAO,eACJ,KAAK,MAAO,MAAM,gBAAgB,IAAI,KAAM,CAC5C,QAAQ,MAAM,MAAM,KAAK,CAC7B;CACD,MAAM,kBAAkB,EAAE;AAC1B,MAAK,MAAM,YAAY,UACrB,KAAI,EAAE,YAAY,aAAa,aAAa,cAC1C,iBAAgB,KAAK,SAAS;AAGlC,KAAI,gBAAgB,OAClB,OAAM,IAAI,MACR,kEAAkE,KAAK,UACrE,iBACD,CAAC,6CAA6C,KAAK,UAClD,gBACD,GACF;AAEH,QAAO,OAAO,OAAO,SAAS"}
@@ -1,8 +1,8 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
3
 
3
4
  //#region src/schema/query_constructor.ts
4
- var query_constructor_exports = {};
5
- require_rolldown_runtime.__export(query_constructor_exports, { AttributeInfo: () => AttributeInfo });
5
+ var query_constructor_exports = /* @__PURE__ */ require_runtime.__exportAll({ AttributeInfo: () => AttributeInfo });
6
6
  /**
7
7
  * A simple data structure that holds information about an attribute. It
8
8
  * is typically used to provide metadata about attributes in other classes
@@ -1 +1 @@
1
- {"version":3,"file":"query_constructor.cjs","names":["name: string","type: string","description: string"],"sources":["../../src/schema/query_constructor.ts"],"sourcesContent":["/**\n * A simple data structure that holds information about an attribute. It\n * is typically used to provide metadata about attributes in other classes\n * or data structures within the LangChain framework.\n */\nexport class AttributeInfo {\n constructor(\n public name: string,\n public type: string,\n public description: string\n ) {}\n}\n"],"mappings":";;;;;;;;;;AAKA,IAAa,gBAAb,MAA2B;CACzB,YACSA,MACAC,MACAC,aACP;EAHO;EACA;EACA;CACL;AACL"}
1
+ {"version":3,"file":"query_constructor.cjs","names":[],"sources":["../../src/schema/query_constructor.ts"],"sourcesContent":["/**\n * A simple data structure that holds information about an attribute. It\n * is typically used to provide metadata about attributes in other classes\n * or data structures within the LangChain framework.\n */\nexport class AttributeInfo {\n constructor(\n public name: string,\n public type: string,\n public description: string\n ) {}\n}\n"],"mappings":";;;;;;;;;;AAKA,IAAa,gBAAb,MAA2B;CACzB,YACE,AAAO,MACP,AAAO,MACP,AAAO,aACP;EAHO;EACA;EACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"query_constructor.d.cts","names":["AttributeInfo"],"sources":["../../src/schema/query_constructor.d.ts"],"sourcesContent":["/**\n * A simple data structure that holds information about an attribute. It\n * is typically used to provide metadata about attributes in other classes\n * or data structures within the LangChain framework.\n */\nexport declare class AttributeInfo {\n name: string;\n type: string;\n description: string;\n constructor(name: string, type: string, description: string);\n}\n//# sourceMappingURL=query_constructor.d.ts.map"],"mappings":";;AAKA;;;;cAAqBA,aAAAA"}
1
+ {"version":3,"file":"query_constructor.d.cts","names":[],"sources":["../../src/schema/query_constructor.ts"],"mappings":";;AAKA;;;;cAAa,aAAA;EAEF,IAAA;EACA,IAAA;EACA,WAAA;EAHT,WAAA,CACS,IAAA,UACA,IAAA,UACA,WAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"query_constructor.d.ts","names":["AttributeInfo"],"sources":["../../src/schema/query_constructor.d.ts"],"sourcesContent":["/**\n * A simple data structure that holds information about an attribute. It\n * is typically used to provide metadata about attributes in other classes\n * or data structures within the LangChain framework.\n */\nexport declare class AttributeInfo {\n name: string;\n type: string;\n description: string;\n constructor(name: string, type: string, description: string);\n}\n//# sourceMappingURL=query_constructor.d.ts.map"],"mappings":";;AAKA;;;;cAAqBA,aAAAA"}
1
+ {"version":3,"file":"query_constructor.d.ts","names":[],"sources":["../../src/schema/query_constructor.ts"],"mappings":";;AAKA;;;;cAAa,aAAA;EAEF,IAAA;EACA,IAAA;EACA,WAAA;EAHT,WAAA,CACS,IAAA,UACA,IAAA,UACA,WAAA;AAAA"}
@@ -1,8 +1,7 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
 
3
3
  //#region src/schema/query_constructor.ts
4
- var query_constructor_exports = {};
5
- __export(query_constructor_exports, { AttributeInfo: () => AttributeInfo });
4
+ var query_constructor_exports = /* @__PURE__ */ __exportAll({ AttributeInfo: () => AttributeInfo });
6
5
  /**
7
6
  * A simple data structure that holds information about an attribute. It
8
7
  * is typically used to provide metadata about attributes in other classes
@@ -1 +1 @@
1
- {"version":3,"file":"query_constructor.js","names":["name: string","type: string","description: string"],"sources":["../../src/schema/query_constructor.ts"],"sourcesContent":["/**\n * A simple data structure that holds information about an attribute. It\n * is typically used to provide metadata about attributes in other classes\n * or data structures within the LangChain framework.\n */\nexport class AttributeInfo {\n constructor(\n public name: string,\n public type: string,\n public description: string\n ) {}\n}\n"],"mappings":";;;;;;;;;;AAKA,IAAa,gBAAb,MAA2B;CACzB,YACSA,MACAC,MACAC,aACP;EAHO;EACA;EACA;CACL;AACL"}
1
+ {"version":3,"file":"query_constructor.js","names":[],"sources":["../../src/schema/query_constructor.ts"],"sourcesContent":["/**\n * A simple data structure that holds information about an attribute. It\n * is typically used to provide metadata about attributes in other classes\n * or data structures within the LangChain framework.\n */\nexport class AttributeInfo {\n constructor(\n public name: string,\n public type: string,\n public description: string\n ) {}\n}\n"],"mappings":";;;;;;;;;AAKA,IAAa,gBAAb,MAA2B;CACzB,YACE,AAAO,MACP,AAAO,MACP,AAAO,aACP;EAHO;EACA;EACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.cjs","names":["evaluator: T | EvalConfig | U","value: unknown","criteria: CriteriaType | Record<string, string>","config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"llm\" | \"feedbackKey\"\n >","distanceMetric: EmbeddingDistanceEvalChainInput[\"distanceMetric\"]","config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"embedding\" | \"feedbackKey\"\n >"],"sources":["../../src/smith/config.ts"],"sourcesContent":["import { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { Example, Run } from \"langsmith\";\nimport { EvaluationResult, RunEvaluator } from \"langsmith/evaluation\";\nimport {\n Criteria as CriteriaType,\n type EmbeddingDistanceEvalChainInput,\n} from \"../evaluation/index.js\";\nimport { LoadEvaluatorOptions } from \"../evaluation/loader.js\";\nimport { EvaluatorType } from \"../evaluation/types.js\";\n\nexport type EvaluatorInputs = {\n input?: string | unknown;\n prediction: string | unknown;\n reference?: string | unknown;\n};\n\nexport type EvaluatorInputFormatter = ({\n rawInput,\n rawPrediction,\n rawReferenceOutput,\n run,\n}: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawInput: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawPrediction: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawReferenceOutput?: any;\n run: Run;\n}) => EvaluatorInputs;\n\nexport type DynamicRunEvaluatorParams<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Input extends Record<string, any> = Record<string, unknown>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Prediction extends Record<string, any> = Record<string, unknown>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Reference extends Record<string, any> = Record<string, unknown>,\n> = {\n input: Input;\n prediction?: Prediction;\n reference?: Reference;\n run: Run;\n example?: Example;\n};\n\n/**\n * Type of a function that can be coerced into a RunEvaluator function.\n * While we have the class-based RunEvaluator, it's often more convenient to directly\n * pass a function to the runner. This type allows us to do that.\n */\nexport type RunEvaluatorLike =\n | ((\n props: DynamicRunEvaluatorParams,\n options: RunnableConfig\n ) => Promise<EvaluationResult>)\n | ((\n props: DynamicRunEvaluatorParams,\n options: RunnableConfig\n ) => EvaluationResult);\n\nexport function isOffTheShelfEvaluator<\n T extends keyof EvaluatorType,\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n>(evaluator: T | EvalConfig | U): evaluator is T | EvalConfig {\n return typeof evaluator === \"string\" || \"evaluatorType\" in evaluator;\n}\n\nexport function isCustomEvaluator<\n T extends keyof EvaluatorType,\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n>(evaluator: T | EvalConfig | U): evaluator is U {\n return !isOffTheShelfEvaluator(evaluator);\n}\n\nexport type RunEvalType<\n T extends keyof EvaluatorType =\n | \"criteria\"\n | \"labeled_criteria\"\n | \"embedding_distance\",\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n> = T | EvalConfig | U;\n\n/**\n * Configuration class for running evaluations on datasets.\n *\n * @remarks\n * RunEvalConfig in LangSmith is a configuration class for running evaluations on datasets. Its primary purpose is to define the parameters and evaluators that will be applied during the evaluation of a dataset. This configuration can include various evaluators, custom evaluators, and different keys for inputs, predictions, and references.\n *\n * @typeparam T - The type of evaluators.\n * @typeparam U - The type of custom evaluators.\n */\nexport type RunEvalConfig<\n T extends keyof EvaluatorType =\n | \"criteria\"\n | \"labeled_criteria\"\n | \"embedding_distance\",\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n> = {\n /**\n * Evaluators to apply to a dataset run.\n * You can optionally specify these by name, or by\n * configuring them with an EvalConfig object.\n */\n evaluators?: RunEvalType<T, U>[];\n\n /**\n * Convert the evaluation data into formats that can be used by the evaluator.\n * This should most commonly be a string.\n * Parameters are the raw input from the run, the raw output, raw reference output, and the raw run.\n * @example\n * ```ts\n * // Chain input: { input: \"some string\" }\n * // Chain output: { output: \"some output\" }\n * // Reference example output format: { output: \"some reference output\" }\n * const formatEvaluatorInputs = ({\n * rawInput,\n * rawPrediction,\n * rawReferenceOutput,\n * }) => {\n * return {\n * input: rawInput.input,\n * prediction: rawPrediction.output,\n * reference: rawReferenceOutput.output,\n * };\n * };\n * ```\n * @returns The prepared data.\n */\n formatEvaluatorInputs?: EvaluatorInputFormatter;\n\n /**\n * Custom evaluators to apply to a dataset run.\n * Each evaluator is provided with a run trace containing the model\n * outputs, as well as an \"example\" object representing a record\n * in the dataset.\n *\n * @deprecated Use `evaluators` instead.\n */\n customEvaluators?: U[];\n};\n\nexport interface EvalConfig extends LoadEvaluatorOptions {\n /**\n * The name of the evaluator to use.\n * Example: labeled_criteria, criteria, etc.\n */\n evaluatorType: keyof EvaluatorType;\n\n /**\n * The feedback (or metric) name to use for the logged\n * evaluation results. If none provided, we default to\n * the evaluationName.\n */\n feedbackKey?: string;\n\n /**\n * Convert the evaluation data into formats that can be used by the evaluator.\n * This should most commonly be a string.\n * Parameters are the raw input from the run, the raw output, raw reference output, and the raw run.\n * @example\n * ```ts\n * // Chain input: { input: \"some string\" }\n * // Chain output: { output: \"some output\" }\n * // Reference example output format: { output: \"some reference output\" }\n * const formatEvaluatorInputs = ({\n * rawInput,\n * rawPrediction,\n * rawReferenceOutput,\n * }) => {\n * return {\n * input: rawInput.input,\n * prediction: rawPrediction.output,\n * reference: rawReferenceOutput.output,\n * };\n * };\n * ```\n * @returns The prepared data.\n */\n formatEvaluatorInputs: EvaluatorInputFormatter;\n}\n\nconst isStringifiableValue = (\n value: unknown\n): value is string | number | boolean | bigint =>\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n typeof value === \"bigint\";\n\nconst getSingleStringifiedValue = (value: unknown) => {\n if (isStringifiableValue(value)) {\n return `${value}`;\n }\n\n if (typeof value === \"object\" && value != null && !Array.isArray(value)) {\n const entries = Object.entries(value);\n\n if (entries.length === 1 && isStringifiableValue(entries[0][1])) {\n return `${entries[0][1]}`;\n }\n }\n\n console.warn(\"Non-stringifiable value found when coercing\", value);\n return `${value}`;\n};\n\n/**\n * Configuration to load a \"CriteriaEvalChain\" evaluator,\n * which prompts an LLM to determine whether the model's\n * prediction complies with the provided criteria.\n * @param criteria - The criteria to use for the evaluator.\n * @param llm - The language model to use for the evaluator.\n * @returns The configuration for the evaluator.\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [Criteria(\"helpfulness\")],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [\n * Criteria({\n * \"isCompliant\": \"Does the submission comply with the requirements of XYZ\"\n * })\n * ],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"criteria\",\n * criteria: \"helpfulness\"\n * formatEvaluatorInputs: ...\n * }]\n * };\n * ```\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"criteria\",\n * criteria: { \"isCompliant\": \"Does the submission comply with the requirements of XYZ\" },\n * formatEvaluatorInputs: ...\n * }]\n * };\n */\nexport type Criteria = EvalConfig & {\n evaluatorType: \"criteria\";\n\n /**\n * The \"criteria\" to insert into the prompt template\n * used for evaluation. See the prompt at\n * https://smith.langchain.com/hub/langchain-ai/criteria-evaluator\n * for more information.\n */\n criteria?: CriteriaType | Record<string, string>;\n\n /**\n * The language model to use as the evaluator, defaults to GPT-4\n */\n llm?: BaseLanguageModel;\n};\n\n// for compatibility reasons\nexport type CriteriaEvalChainConfig = Criteria;\n\nexport function Criteria(\n criteria: CriteriaType | Record<string, string>,\n config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"llm\" | \"feedbackKey\"\n >\n): EvalConfig {\n const formatEvaluatorInputs =\n config?.formatEvaluatorInputs ??\n ((payload) => ({\n prediction: getSingleStringifiedValue(payload.rawPrediction),\n input: getSingleStringifiedValue(payload.rawInput),\n }));\n\n if (typeof criteria !== \"string\" && Object.keys(criteria).length !== 1) {\n throw new Error(\n \"Only one criteria key is allowed when specifying custom criteria.\"\n );\n }\n\n const criteriaKey =\n typeof criteria === \"string\" ? criteria : Object.keys(criteria)[0];\n\n return {\n evaluatorType: \"criteria\",\n criteria,\n feedbackKey: config?.feedbackKey ?? criteriaKey,\n llm: config?.llm,\n formatEvaluatorInputs,\n };\n}\n\n/**\n * Configuration to load a \"LabeledCriteriaEvalChain\" evaluator,\n * which prompts an LLM to determine whether the model's\n * prediction complies with the provided criteria and also\n * provides a \"ground truth\" label for the evaluator to incorporate\n * in its evaluation.\n * @param criteria - The criteria to use for the evaluator.\n * @param llm - The language model to use for the evaluator.\n * @returns The configuration for the evaluator.\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [LabeledCriteria(\"correctness\")],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [\n * LabeledCriteria({\n * \"mentionsAllFacts\": \"Does the include all facts provided in the reference?\"\n * })\n * ],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"labeled_criteria\",\n * criteria: \"correctness\",\n * formatEvaluatorInputs: ...\n * }],\n * };\n * ```\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"labeled_criteria\",\n * criteria: { \"mentionsAllFacts\": \"Does the include all facts provided in the reference?\" },\n * formatEvaluatorInputs: ...\n * }],\n * };\n */\nexport type LabeledCriteria = EvalConfig & {\n evaluatorType: \"labeled_criteria\";\n\n /**\n * The \"criteria\" to insert into the prompt template\n * used for evaluation. See the prompt at\n * https://smith.langchain.com/hub/langchain-ai/labeled-criteria\n * for more information.\n */\n criteria?: CriteriaType | Record<string, string>;\n\n /**\n * The language model to use as the evaluator, defaults to GPT-4\n */\n llm?: BaseLanguageModel;\n};\n\nexport function LabeledCriteria(\n criteria: CriteriaType | Record<string, string>,\n config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"llm\" | \"feedbackKey\"\n >\n): LabeledCriteria {\n const formatEvaluatorInputs =\n config?.formatEvaluatorInputs ??\n ((payload) => ({\n prediction: getSingleStringifiedValue(payload.rawPrediction),\n input: getSingleStringifiedValue(payload.rawInput),\n reference: getSingleStringifiedValue(payload.rawReferenceOutput),\n }));\n\n if (typeof criteria !== \"string\" && Object.keys(criteria).length !== 1) {\n throw new Error(\n \"Only one labeled criteria key is allowed when specifying custom criteria.\"\n );\n }\n\n const criteriaKey =\n typeof criteria === \"string\" ? criteria : Object.keys(criteria)[0];\n\n return {\n evaluatorType: \"labeled_criteria\",\n criteria,\n feedbackKey: config?.feedbackKey ?? criteriaKey,\n llm: config?.llm,\n formatEvaluatorInputs,\n };\n}\n\n/**\n * Configuration to load a \"EmbeddingDistanceEvalChain\" evaluator,\n * which embeds distances to score semantic difference between\n * a prediction and reference.\n */\nexport type EmbeddingDistance = EvalConfig &\n EmbeddingDistanceEvalChainInput & { evaluatorType: \"embedding_distance\" };\n\nexport function EmbeddingDistance(\n distanceMetric: EmbeddingDistanceEvalChainInput[\"distanceMetric\"],\n config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"embedding\" | \"feedbackKey\"\n >\n): EmbeddingDistance {\n const formatEvaluatorInputs =\n config?.formatEvaluatorInputs ??\n ((payload) => ({\n prediction: getSingleStringifiedValue(payload.rawPrediction),\n reference: getSingleStringifiedValue(payload.rawReferenceOutput),\n }));\n\n return {\n evaluatorType: \"embedding_distance\",\n embedding: config?.embedding,\n distanceMetric,\n feedbackKey: config?.feedbackKey ?? \"embedding_distance\",\n formatEvaluatorInputs,\n };\n}\n"],"mappings":";;AA8DA,SAAgB,uBAGdA,WAA4D;AAC5D,QAAO,OAAO,cAAc,YAAY,mBAAmB;AAC5D;AAED,SAAgB,kBAGdA,WAA+C;AAC/C,QAAO,CAAC,uBAAuB,UAAU;AAC1C;AA6GD,MAAM,uBAAuB,CAC3BC,UAEA,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,aACjB,OAAO,UAAU;AAEnB,MAAM,4BAA4B,CAACA,UAAmB;AACpD,KAAI,qBAAqB,MAAM,CAC7B,QAAO,GAAG,OAAO;AAGnB,KAAI,OAAO,UAAU,YAAY,SAAS,QAAQ,CAAC,MAAM,QAAQ,MAAM,EAAE;EACvE,MAAM,UAAU,OAAO,QAAQ,MAAM;AAErC,MAAI,QAAQ,WAAW,KAAK,qBAAqB,QAAQ,GAAG,GAAG,CAC7D,QAAO,GAAG,QAAQ,GAAG,IAAI;CAE5B;CAED,QAAQ,KAAK,+CAA+C,MAAM;AAClE,QAAO,GAAG,OAAO;AAClB;AA+DD,SAAgB,SACdC,UACAC,QAIY;CACZ,MAAM,wBACJ,QAAQ,0BACP,CAAC,aAAa;EACb,YAAY,0BAA0B,QAAQ,cAAc;EAC5D,OAAO,0BAA0B,QAAQ,SAAS;CACnD;AAEH,KAAI,OAAO,aAAa,YAAY,OAAO,KAAK,SAAS,CAAC,WAAW,EACnE,OAAM,IAAI,MACR;CAIJ,MAAM,cACJ,OAAO,aAAa,WAAW,WAAW,OAAO,KAAK,SAAS,CAAC;AAElE,QAAO;EACL,eAAe;EACf;EACA,aAAa,QAAQ,eAAe;EACpC,KAAK,QAAQ;EACb;CACD;AACF;AA8DD,SAAgB,gBACdD,UACAC,QAIiB;CACjB,MAAM,wBACJ,QAAQ,0BACP,CAAC,aAAa;EACb,YAAY,0BAA0B,QAAQ,cAAc;EAC5D,OAAO,0BAA0B,QAAQ,SAAS;EAClD,WAAW,0BAA0B,QAAQ,mBAAmB;CACjE;AAEH,KAAI,OAAO,aAAa,YAAY,OAAO,KAAK,SAAS,CAAC,WAAW,EACnE,OAAM,IAAI,MACR;CAIJ,MAAM,cACJ,OAAO,aAAa,WAAW,WAAW,OAAO,KAAK,SAAS,CAAC;AAElE,QAAO;EACL,eAAe;EACf;EACA,aAAa,QAAQ,eAAe;EACpC,KAAK,QAAQ;EACb;CACD;AACF;AAUD,SAAgB,kBACdC,gBACAC,QAImB;CACnB,MAAM,wBACJ,QAAQ,0BACP,CAAC,aAAa;EACb,YAAY,0BAA0B,QAAQ,cAAc;EAC5D,WAAW,0BAA0B,QAAQ,mBAAmB;CACjE;AAEH,QAAO;EACL,eAAe;EACf,WAAW,QAAQ;EACnB;EACA,aAAa,QAAQ,eAAe;EACpC;CACD;AACF"}
1
+ {"version":3,"file":"config.cjs","names":[],"sources":["../../src/smith/config.ts"],"sourcesContent":["import { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport { Example, Run } from \"langsmith\";\nimport { EvaluationResult, RunEvaluator } from \"langsmith/evaluation\";\nimport {\n Criteria as CriteriaType,\n type EmbeddingDistanceEvalChainInput,\n} from \"../evaluation/index.js\";\nimport { LoadEvaluatorOptions } from \"../evaluation/loader.js\";\nimport { EvaluatorType } from \"../evaluation/types.js\";\n\nexport type EvaluatorInputs = {\n input?: string | unknown;\n prediction: string | unknown;\n reference?: string | unknown;\n};\n\nexport type EvaluatorInputFormatter = ({\n rawInput,\n rawPrediction,\n rawReferenceOutput,\n run,\n}: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawInput: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawPrediction: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawReferenceOutput?: any;\n run: Run;\n}) => EvaluatorInputs;\n\nexport type DynamicRunEvaluatorParams<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Input extends Record<string, any> = Record<string, unknown>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Prediction extends Record<string, any> = Record<string, unknown>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Reference extends Record<string, any> = Record<string, unknown>,\n> = {\n input: Input;\n prediction?: Prediction;\n reference?: Reference;\n run: Run;\n example?: Example;\n};\n\n/**\n * Type of a function that can be coerced into a RunEvaluator function.\n * While we have the class-based RunEvaluator, it's often more convenient to directly\n * pass a function to the runner. This type allows us to do that.\n */\nexport type RunEvaluatorLike =\n | ((\n props: DynamicRunEvaluatorParams,\n options: RunnableConfig\n ) => Promise<EvaluationResult>)\n | ((\n props: DynamicRunEvaluatorParams,\n options: RunnableConfig\n ) => EvaluationResult);\n\nexport function isOffTheShelfEvaluator<\n T extends keyof EvaluatorType,\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n>(evaluator: T | EvalConfig | U): evaluator is T | EvalConfig {\n return typeof evaluator === \"string\" || \"evaluatorType\" in evaluator;\n}\n\nexport function isCustomEvaluator<\n T extends keyof EvaluatorType,\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n>(evaluator: T | EvalConfig | U): evaluator is U {\n return !isOffTheShelfEvaluator(evaluator);\n}\n\nexport type RunEvalType<\n T extends keyof EvaluatorType =\n | \"criteria\"\n | \"labeled_criteria\"\n | \"embedding_distance\",\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n> = T | EvalConfig | U;\n\n/**\n * Configuration class for running evaluations on datasets.\n *\n * @remarks\n * RunEvalConfig in LangSmith is a configuration class for running evaluations on datasets. Its primary purpose is to define the parameters and evaluators that will be applied during the evaluation of a dataset. This configuration can include various evaluators, custom evaluators, and different keys for inputs, predictions, and references.\n *\n * @typeparam T - The type of evaluators.\n * @typeparam U - The type of custom evaluators.\n */\nexport type RunEvalConfig<\n T extends keyof EvaluatorType =\n | \"criteria\"\n | \"labeled_criteria\"\n | \"embedding_distance\",\n U extends RunEvaluator | RunEvaluatorLike = RunEvaluator | RunEvaluatorLike,\n> = {\n /**\n * Evaluators to apply to a dataset run.\n * You can optionally specify these by name, or by\n * configuring them with an EvalConfig object.\n */\n evaluators?: RunEvalType<T, U>[];\n\n /**\n * Convert the evaluation data into formats that can be used by the evaluator.\n * This should most commonly be a string.\n * Parameters are the raw input from the run, the raw output, raw reference output, and the raw run.\n * @example\n * ```ts\n * // Chain input: { input: \"some string\" }\n * // Chain output: { output: \"some output\" }\n * // Reference example output format: { output: \"some reference output\" }\n * const formatEvaluatorInputs = ({\n * rawInput,\n * rawPrediction,\n * rawReferenceOutput,\n * }) => {\n * return {\n * input: rawInput.input,\n * prediction: rawPrediction.output,\n * reference: rawReferenceOutput.output,\n * };\n * };\n * ```\n * @returns The prepared data.\n */\n formatEvaluatorInputs?: EvaluatorInputFormatter;\n\n /**\n * Custom evaluators to apply to a dataset run.\n * Each evaluator is provided with a run trace containing the model\n * outputs, as well as an \"example\" object representing a record\n * in the dataset.\n *\n * @deprecated Use `evaluators` instead.\n */\n customEvaluators?: U[];\n};\n\nexport interface EvalConfig extends LoadEvaluatorOptions {\n /**\n * The name of the evaluator to use.\n * Example: labeled_criteria, criteria, etc.\n */\n evaluatorType: keyof EvaluatorType;\n\n /**\n * The feedback (or metric) name to use for the logged\n * evaluation results. If none provided, we default to\n * the evaluationName.\n */\n feedbackKey?: string;\n\n /**\n * Convert the evaluation data into formats that can be used by the evaluator.\n * This should most commonly be a string.\n * Parameters are the raw input from the run, the raw output, raw reference output, and the raw run.\n * @example\n * ```ts\n * // Chain input: { input: \"some string\" }\n * // Chain output: { output: \"some output\" }\n * // Reference example output format: { output: \"some reference output\" }\n * const formatEvaluatorInputs = ({\n * rawInput,\n * rawPrediction,\n * rawReferenceOutput,\n * }) => {\n * return {\n * input: rawInput.input,\n * prediction: rawPrediction.output,\n * reference: rawReferenceOutput.output,\n * };\n * };\n * ```\n * @returns The prepared data.\n */\n formatEvaluatorInputs: EvaluatorInputFormatter;\n}\n\nconst isStringifiableValue = (\n value: unknown\n): value is string | number | boolean | bigint =>\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n typeof value === \"bigint\";\n\nconst getSingleStringifiedValue = (value: unknown) => {\n if (isStringifiableValue(value)) {\n return `${value}`;\n }\n\n if (typeof value === \"object\" && value != null && !Array.isArray(value)) {\n const entries = Object.entries(value);\n\n if (entries.length === 1 && isStringifiableValue(entries[0][1])) {\n return `${entries[0][1]}`;\n }\n }\n\n console.warn(\"Non-stringifiable value found when coercing\", value);\n return `${value}`;\n};\n\n/**\n * Configuration to load a \"CriteriaEvalChain\" evaluator,\n * which prompts an LLM to determine whether the model's\n * prediction complies with the provided criteria.\n * @param criteria - The criteria to use for the evaluator.\n * @param llm - The language model to use for the evaluator.\n * @returns The configuration for the evaluator.\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [Criteria(\"helpfulness\")],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [\n * Criteria({\n * \"isCompliant\": \"Does the submission comply with the requirements of XYZ\"\n * })\n * ],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"criteria\",\n * criteria: \"helpfulness\"\n * formatEvaluatorInputs: ...\n * }]\n * };\n * ```\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"criteria\",\n * criteria: { \"isCompliant\": \"Does the submission comply with the requirements of XYZ\" },\n * formatEvaluatorInputs: ...\n * }]\n * };\n */\nexport type Criteria = EvalConfig & {\n evaluatorType: \"criteria\";\n\n /**\n * The \"criteria\" to insert into the prompt template\n * used for evaluation. See the prompt at\n * https://smith.langchain.com/hub/langchain-ai/criteria-evaluator\n * for more information.\n */\n criteria?: CriteriaType | Record<string, string>;\n\n /**\n * The language model to use as the evaluator, defaults to GPT-4\n */\n llm?: BaseLanguageModel;\n};\n\n// for compatibility reasons\nexport type CriteriaEvalChainConfig = Criteria;\n\nexport function Criteria(\n criteria: CriteriaType | Record<string, string>,\n config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"llm\" | \"feedbackKey\"\n >\n): EvalConfig {\n const formatEvaluatorInputs =\n config?.formatEvaluatorInputs ??\n ((payload) => ({\n prediction: getSingleStringifiedValue(payload.rawPrediction),\n input: getSingleStringifiedValue(payload.rawInput),\n }));\n\n if (typeof criteria !== \"string\" && Object.keys(criteria).length !== 1) {\n throw new Error(\n \"Only one criteria key is allowed when specifying custom criteria.\"\n );\n }\n\n const criteriaKey =\n typeof criteria === \"string\" ? criteria : Object.keys(criteria)[0];\n\n return {\n evaluatorType: \"criteria\",\n criteria,\n feedbackKey: config?.feedbackKey ?? criteriaKey,\n llm: config?.llm,\n formatEvaluatorInputs,\n };\n}\n\n/**\n * Configuration to load a \"LabeledCriteriaEvalChain\" evaluator,\n * which prompts an LLM to determine whether the model's\n * prediction complies with the provided criteria and also\n * provides a \"ground truth\" label for the evaluator to incorporate\n * in its evaluation.\n * @param criteria - The criteria to use for the evaluator.\n * @param llm - The language model to use for the evaluator.\n * @returns The configuration for the evaluator.\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [LabeledCriteria(\"correctness\")],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [\n * LabeledCriteria({\n * \"mentionsAllFacts\": \"Does the include all facts provided in the reference?\"\n * })\n * ],\n * };\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"labeled_criteria\",\n * criteria: \"correctness\",\n * formatEvaluatorInputs: ...\n * }],\n * };\n * ```\n * @example\n * ```ts\n * const evalConfig = {\n * evaluators: [{\n * evaluatorType: \"labeled_criteria\",\n * criteria: { \"mentionsAllFacts\": \"Does the include all facts provided in the reference?\" },\n * formatEvaluatorInputs: ...\n * }],\n * };\n */\nexport type LabeledCriteria = EvalConfig & {\n evaluatorType: \"labeled_criteria\";\n\n /**\n * The \"criteria\" to insert into the prompt template\n * used for evaluation. See the prompt at\n * https://smith.langchain.com/hub/langchain-ai/labeled-criteria\n * for more information.\n */\n criteria?: CriteriaType | Record<string, string>;\n\n /**\n * The language model to use as the evaluator, defaults to GPT-4\n */\n llm?: BaseLanguageModel;\n};\n\nexport function LabeledCriteria(\n criteria: CriteriaType | Record<string, string>,\n config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"llm\" | \"feedbackKey\"\n >\n): LabeledCriteria {\n const formatEvaluatorInputs =\n config?.formatEvaluatorInputs ??\n ((payload) => ({\n prediction: getSingleStringifiedValue(payload.rawPrediction),\n input: getSingleStringifiedValue(payload.rawInput),\n reference: getSingleStringifiedValue(payload.rawReferenceOutput),\n }));\n\n if (typeof criteria !== \"string\" && Object.keys(criteria).length !== 1) {\n throw new Error(\n \"Only one labeled criteria key is allowed when specifying custom criteria.\"\n );\n }\n\n const criteriaKey =\n typeof criteria === \"string\" ? criteria : Object.keys(criteria)[0];\n\n return {\n evaluatorType: \"labeled_criteria\",\n criteria,\n feedbackKey: config?.feedbackKey ?? criteriaKey,\n llm: config?.llm,\n formatEvaluatorInputs,\n };\n}\n\n/**\n * Configuration to load a \"EmbeddingDistanceEvalChain\" evaluator,\n * which embeds distances to score semantic difference between\n * a prediction and reference.\n */\nexport type EmbeddingDistance = EvalConfig &\n EmbeddingDistanceEvalChainInput & { evaluatorType: \"embedding_distance\" };\n\nexport function EmbeddingDistance(\n distanceMetric: EmbeddingDistanceEvalChainInput[\"distanceMetric\"],\n config?: Pick<\n Partial<LabeledCriteria>,\n \"formatEvaluatorInputs\" | \"embedding\" | \"feedbackKey\"\n >\n): EmbeddingDistance {\n const formatEvaluatorInputs =\n config?.formatEvaluatorInputs ??\n ((payload) => ({\n prediction: getSingleStringifiedValue(payload.rawPrediction),\n reference: getSingleStringifiedValue(payload.rawReferenceOutput),\n }));\n\n return {\n evaluatorType: \"embedding_distance\",\n embedding: config?.embedding,\n distanceMetric,\n feedbackKey: config?.feedbackKey ?? \"embedding_distance\",\n formatEvaluatorInputs,\n };\n}\n"],"mappings":";;AA8DA,SAAgB,uBAGd,WAA4D;AAC5D,QAAO,OAAO,cAAc,YAAY,mBAAmB;;AAG7D,SAAgB,kBAGd,WAA+C;AAC/C,QAAO,CAAC,uBAAuB,UAAU;;AA8G3C,MAAM,wBACJ,UAEA,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,aACjB,OAAO,UAAU;AAEnB,MAAM,6BAA6B,UAAmB;AACpD,KAAI,qBAAqB,MAAM,CAC7B,QAAO,GAAG;AAGZ,KAAI,OAAO,UAAU,YAAY,SAAS,QAAQ,CAAC,MAAM,QAAQ,MAAM,EAAE;EACvE,MAAM,UAAU,OAAO,QAAQ,MAAM;AAErC,MAAI,QAAQ,WAAW,KAAK,qBAAqB,QAAQ,GAAG,GAAG,CAC7D,QAAO,GAAG,QAAQ,GAAG;;AAIzB,SAAQ,KAAK,+CAA+C,MAAM;AAClE,QAAO,GAAG;;AAgEZ,SAAgB,SACd,UACA,QAIY;CACZ,MAAM,wBACJ,QAAQ,2BACN,aAAa;EACb,YAAY,0BAA0B,QAAQ,cAAc;EAC5D,OAAO,0BAA0B,QAAQ,SAAS;EACnD;AAEH,KAAI,OAAO,aAAa,YAAY,OAAO,KAAK,SAAS,CAAC,WAAW,EACnE,OAAM,IAAI,MACR,oEACD;CAGH,MAAM,cACJ,OAAO,aAAa,WAAW,WAAW,OAAO,KAAK,SAAS,CAAC;AAElE,QAAO;EACL,eAAe;EACf;EACA,aAAa,QAAQ,eAAe;EACpC,KAAK,QAAQ;EACb;EACD;;AA+DH,SAAgB,gBACd,UACA,QAIiB;CACjB,MAAM,wBACJ,QAAQ,2BACN,aAAa;EACb,YAAY,0BAA0B,QAAQ,cAAc;EAC5D,OAAO,0BAA0B,QAAQ,SAAS;EAClD,WAAW,0BAA0B,QAAQ,mBAAmB;EACjE;AAEH,KAAI,OAAO,aAAa,YAAY,OAAO,KAAK,SAAS,CAAC,WAAW,EACnE,OAAM,IAAI,MACR,4EACD;CAGH,MAAM,cACJ,OAAO,aAAa,WAAW,WAAW,OAAO,KAAK,SAAS,CAAC;AAElE,QAAO;EACL,eAAe;EACf;EACA,aAAa,QAAQ,eAAe;EACpC,KAAK,QAAQ;EACb;EACD;;AAWH,SAAgB,kBACd,gBACA,QAImB;CACnB,MAAM,wBACJ,QAAQ,2BACN,aAAa;EACb,YAAY,0BAA0B,QAAQ,cAAc;EAC5D,WAAW,0BAA0B,QAAQ,mBAAmB;EACjE;AAEH,QAAO;EACL,eAAe;EACf,WAAW,QAAQ;EACnB;EACA,aAAa,QAAQ,eAAe;EACpC;EACD"}