@langchain/core 1.2.0-dev-1765937705265 → 1.2.0

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 (1873) hide show
  1. package/CHANGELOG.md +429 -0
  2. package/README.md +1 -1
  3. package/agents.cjs +1 -0
  4. package/agents.d.cts +1 -0
  5. package/agents.d.ts +1 -0
  6. package/agents.js +1 -0
  7. package/caches.cjs +1 -0
  8. package/caches.d.cts +1 -0
  9. package/caches.d.ts +1 -0
  10. package/caches.js +1 -0
  11. package/callbacks/base.cjs +1 -0
  12. package/callbacks/base.d.cts +1 -0
  13. package/callbacks/base.d.ts +1 -0
  14. package/callbacks/base.js +1 -0
  15. package/callbacks/dispatch/web.cjs +1 -0
  16. package/callbacks/dispatch/web.d.cts +1 -0
  17. package/callbacks/dispatch/web.d.ts +1 -0
  18. package/callbacks/dispatch/web.js +1 -0
  19. package/callbacks/dispatch.cjs +1 -0
  20. package/callbacks/dispatch.d.cts +1 -0
  21. package/callbacks/dispatch.d.ts +1 -0
  22. package/callbacks/dispatch.js +1 -0
  23. package/callbacks/manager.cjs +1 -0
  24. package/callbacks/manager.d.cts +1 -0
  25. package/callbacks/manager.d.ts +1 -0
  26. package/callbacks/manager.js +1 -0
  27. package/callbacks/promises.cjs +1 -0
  28. package/callbacks/promises.d.cts +1 -0
  29. package/callbacks/promises.d.ts +1 -0
  30. package/callbacks/promises.js +1 -0
  31. package/chat_history.cjs +1 -0
  32. package/chat_history.d.cts +1 -0
  33. package/chat_history.d.ts +1 -0
  34. package/chat_history.js +1 -0
  35. package/context.cjs +1 -0
  36. package/context.d.cts +1 -0
  37. package/context.d.ts +1 -0
  38. package/context.js +1 -0
  39. package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +7 -6
  40. package/dist/_virtual/_rolldown/runtime.js +13 -0
  41. package/dist/agents.cjs +8 -8
  42. package/dist/agents.cjs.map +1 -1
  43. package/dist/agents.d.cts.map +1 -1
  44. package/dist/agents.d.ts.map +1 -1
  45. package/dist/agents.js +3 -2
  46. package/dist/agents.js.map +1 -1
  47. package/dist/caches/index.cjs +12 -13
  48. package/dist/caches/index.cjs.map +1 -1
  49. package/dist/caches/index.d.cts.map +1 -1
  50. package/dist/caches/index.d.ts.map +1 -1
  51. package/dist/caches/index.js +4 -6
  52. package/dist/caches/index.js.map +1 -1
  53. package/dist/callbacks/base.cjs +22 -26
  54. package/dist/callbacks/base.cjs.map +1 -1
  55. package/dist/callbacks/base.d.cts +100 -39
  56. package/dist/callbacks/base.d.cts.map +1 -1
  57. package/dist/callbacks/base.d.ts +100 -39
  58. package/dist/callbacks/base.d.ts.map +1 -1
  59. package/dist/callbacks/base.js +14 -20
  60. package/dist/callbacks/base.js.map +1 -1
  61. package/dist/callbacks/dispatch/index.cjs +11 -12
  62. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  63. package/dist/callbacks/dispatch/index.d.cts +0 -2
  64. package/dist/callbacks/dispatch/index.d.cts.map +1 -1
  65. package/dist/callbacks/dispatch/index.d.ts +0 -3
  66. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  67. package/dist/callbacks/dispatch/index.js +5 -7
  68. package/dist/callbacks/dispatch/index.js.map +1 -1
  69. package/dist/callbacks/dispatch/web.cjs +3 -3
  70. package/dist/callbacks/dispatch/web.cjs.map +1 -1
  71. package/dist/callbacks/dispatch/web.d.cts +0 -2
  72. package/dist/callbacks/dispatch/web.d.cts.map +1 -1
  73. package/dist/callbacks/dispatch/web.d.ts +0 -3
  74. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  75. package/dist/callbacks/dispatch/web.js +1 -2
  76. package/dist/callbacks/dispatch/web.js.map +1 -1
  77. package/dist/callbacks/manager.cjs +94 -80
  78. package/dist/callbacks/manager.cjs.map +1 -1
  79. package/dist/callbacks/manager.d.cts +7 -2
  80. package/dist/callbacks/manager.d.cts.map +1 -1
  81. package/dist/callbacks/manager.d.ts +7 -2
  82. package/dist/callbacks/manager.d.ts.map +1 -1
  83. package/dist/callbacks/manager.js +74 -61
  84. package/dist/callbacks/manager.js.map +1 -1
  85. package/dist/callbacks/promises.cjs +10 -11
  86. package/dist/callbacks/promises.js +3 -5
  87. package/dist/chat_history.cjs +13 -14
  88. package/dist/chat_history.cjs.map +1 -1
  89. package/dist/chat_history.d.cts +0 -2
  90. package/dist/chat_history.d.cts.map +1 -1
  91. package/dist/chat_history.d.ts +0 -3
  92. package/dist/chat_history.d.ts.map +1 -1
  93. package/dist/chat_history.js +4 -6
  94. package/dist/chat_history.js.map +1 -1
  95. package/dist/context.cjs +14 -7
  96. package/dist/context.cjs.map +1 -1
  97. package/dist/context.d.cts.map +1 -1
  98. package/dist/context.d.ts.map +1 -1
  99. package/dist/context.js +8 -2
  100. package/dist/context.js.map +1 -1
  101. package/dist/document_loaders/base.cjs +8 -10
  102. package/dist/document_loaders/base.cjs.map +1 -1
  103. package/dist/document_loaders/base.d.cts +0 -1
  104. package/dist/document_loaders/base.d.cts.map +1 -1
  105. package/dist/document_loaders/base.d.ts +0 -1
  106. package/dist/document_loaders/base.d.ts.map +1 -1
  107. package/dist/document_loaders/base.js +3 -5
  108. package/dist/document_loaders/base.js.map +1 -1
  109. package/dist/document_loaders/langsmith.cjs +11 -12
  110. package/dist/document_loaders/langsmith.cjs.map +1 -1
  111. package/dist/document_loaders/langsmith.d.cts.map +1 -1
  112. package/dist/document_loaders/langsmith.d.ts.map +1 -1
  113. package/dist/document_loaders/langsmith.js +3 -5
  114. package/dist/document_loaders/langsmith.js.map +1 -1
  115. package/dist/documents/document.cjs +1 -2
  116. package/dist/documents/document.cjs.map +1 -1
  117. package/dist/documents/document.d.cts.map +1 -1
  118. package/dist/documents/document.d.ts.map +1 -1
  119. package/dist/documents/document.js +1 -1
  120. package/dist/documents/document.js.map +1 -1
  121. package/dist/documents/index.cjs +11 -12
  122. package/dist/documents/index.js +3 -5
  123. package/dist/documents/transformers.cjs +2 -3
  124. package/dist/documents/transformers.cjs.map +1 -1
  125. package/dist/documents/transformers.d.cts +0 -1
  126. package/dist/documents/transformers.d.cts.map +1 -1
  127. package/dist/documents/transformers.d.ts +0 -1
  128. package/dist/documents/transformers.d.ts.map +1 -1
  129. package/dist/documents/transformers.js +1 -2
  130. package/dist/documents/transformers.js.map +1 -1
  131. package/dist/embeddings.cjs +10 -11
  132. package/dist/embeddings.cjs.map +1 -1
  133. package/dist/embeddings.d.cts +0 -1
  134. package/dist/embeddings.d.cts.map +1 -1
  135. package/dist/embeddings.d.ts +0 -1
  136. package/dist/embeddings.d.ts.map +1 -1
  137. package/dist/embeddings.js +3 -5
  138. package/dist/embeddings.js.map +1 -1
  139. package/dist/errors/index.cjs +165 -2
  140. package/dist/errors/index.cjs.map +1 -1
  141. package/dist/errors/index.d.cts +150 -0
  142. package/dist/errors/index.d.cts.map +1 -0
  143. package/dist/errors/index.d.ts +150 -0
  144. package/dist/errors/index.d.ts.map +1 -0
  145. package/dist/errors/index.js +155 -2
  146. package/dist/errors/index.js.map +1 -1
  147. package/dist/example_selectors/base.cjs +2 -3
  148. package/dist/example_selectors/base.cjs.map +1 -1
  149. package/dist/example_selectors/base.d.cts +0 -1
  150. package/dist/example_selectors/base.d.cts.map +1 -1
  151. package/dist/example_selectors/base.d.ts +0 -1
  152. package/dist/example_selectors/base.d.ts.map +1 -1
  153. package/dist/example_selectors/base.js +1 -2
  154. package/dist/example_selectors/base.js.map +1 -1
  155. package/dist/example_selectors/conditional.cjs +2 -4
  156. package/dist/example_selectors/conditional.cjs.map +1 -1
  157. package/dist/example_selectors/conditional.d.cts.map +1 -1
  158. package/dist/example_selectors/conditional.d.ts.map +1 -1
  159. package/dist/example_selectors/conditional.js +2 -3
  160. package/dist/example_selectors/conditional.js.map +1 -1
  161. package/dist/example_selectors/index.cjs +13 -14
  162. package/dist/example_selectors/index.js +3 -5
  163. package/dist/example_selectors/length_based.cjs +3 -5
  164. package/dist/example_selectors/length_based.cjs.map +1 -1
  165. package/dist/example_selectors/length_based.d.cts +0 -1
  166. package/dist/example_selectors/length_based.d.cts.map +1 -1
  167. package/dist/example_selectors/length_based.d.ts +0 -1
  168. package/dist/example_selectors/length_based.d.ts.map +1 -1
  169. package/dist/example_selectors/length_based.js +2 -4
  170. package/dist/example_selectors/length_based.js.map +1 -1
  171. package/dist/example_selectors/semantic_similarity.cjs +7 -12
  172. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  173. package/dist/example_selectors/semantic_similarity.d.cts +0 -1
  174. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
  175. package/dist/example_selectors/semantic_similarity.d.ts +0 -1
  176. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
  177. package/dist/example_selectors/semantic_similarity.js +5 -10
  178. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  179. package/dist/index.cjs +8 -8
  180. package/dist/index.js +3 -2
  181. package/dist/indexing/base.cjs +11 -17
  182. package/dist/indexing/base.cjs.map +1 -1
  183. package/dist/indexing/base.d.cts.map +1 -1
  184. package/dist/indexing/base.d.ts.map +1 -1
  185. package/dist/indexing/base.js +7 -12
  186. package/dist/indexing/base.js.map +1 -1
  187. package/dist/indexing/index.cjs +11 -12
  188. package/dist/indexing/index.js +3 -5
  189. package/dist/indexing/record_manager.cjs +2 -3
  190. package/dist/indexing/record_manager.cjs.map +1 -1
  191. package/dist/indexing/record_manager.d.cts.map +1 -1
  192. package/dist/indexing/record_manager.d.ts.map +1 -1
  193. package/dist/indexing/record_manager.js +1 -2
  194. package/dist/indexing/record_manager.js.map +1 -1
  195. package/dist/language_models/base.cjs +40 -26
  196. package/dist/language_models/base.cjs.map +1 -1
  197. package/dist/language_models/base.d.cts +22 -14
  198. package/dist/language_models/base.d.cts.map +1 -1
  199. package/dist/language_models/base.d.ts +22 -16
  200. package/dist/language_models/base.d.ts.map +1 -1
  201. package/dist/language_models/base.js +29 -16
  202. package/dist/language_models/base.js.map +1 -1
  203. package/dist/language_models/chat_models.cjs +173 -75
  204. package/dist/language_models/chat_models.cjs.map +1 -1
  205. package/dist/language_models/chat_models.d.cts +147 -10
  206. package/dist/language_models/chat_models.d.cts.map +1 -1
  207. package/dist/language_models/chat_models.d.ts +147 -13
  208. package/dist/language_models/chat_models.d.ts.map +1 -1
  209. package/dist/language_models/chat_models.js +155 -58
  210. package/dist/language_models/chat_models.js.map +1 -1
  211. package/dist/language_models/compat.cjs +412 -0
  212. package/dist/language_models/compat.cjs.map +1 -0
  213. package/dist/language_models/compat.d.cts +20 -0
  214. package/dist/language_models/compat.d.cts.map +1 -0
  215. package/dist/language_models/compat.d.ts +20 -0
  216. package/dist/language_models/compat.d.ts.map +1 -0
  217. package/dist/language_models/compat.js +404 -0
  218. package/dist/language_models/compat.js.map +1 -0
  219. package/dist/language_models/event.cjs +12 -0
  220. package/dist/language_models/event.cjs.map +1 -0
  221. package/dist/language_models/event.d.cts +185 -0
  222. package/dist/language_models/event.d.cts.map +1 -0
  223. package/dist/language_models/event.d.ts +185 -0
  224. package/dist/language_models/event.d.ts.map +1 -0
  225. package/dist/language_models/event.js +7 -0
  226. package/dist/language_models/event.js.map +1 -0
  227. package/dist/language_models/llms.cjs +41 -33
  228. package/dist/language_models/llms.cjs.map +1 -1
  229. package/dist/language_models/llms.d.cts +4 -4
  230. package/dist/language_models/llms.d.cts.map +1 -1
  231. package/dist/language_models/llms.d.ts +4 -5
  232. package/dist/language_models/llms.d.ts.map +1 -1
  233. package/dist/language_models/llms.js +30 -23
  234. package/dist/language_models/llms.js.map +1 -1
  235. package/dist/language_models/openai_completions_stream.cjs +308 -0
  236. package/dist/language_models/openai_completions_stream.cjs.map +1 -0
  237. package/dist/language_models/openai_completions_stream.d.cts +75 -0
  238. package/dist/language_models/openai_completions_stream.d.cts.map +1 -0
  239. package/dist/language_models/openai_completions_stream.d.ts +75 -0
  240. package/dist/language_models/openai_completions_stream.d.ts.map +1 -0
  241. package/dist/language_models/openai_completions_stream.js +301 -0
  242. package/dist/language_models/openai_completions_stream.js.map +1 -0
  243. package/dist/language_models/profile.cjs +8 -8
  244. package/dist/language_models/profile.d.cts.map +1 -1
  245. package/dist/language_models/profile.d.ts.map +1 -1
  246. package/dist/language_models/profile.js +3 -2
  247. package/dist/language_models/stream.cjs +506 -0
  248. package/dist/language_models/stream.cjs.map +1 -0
  249. package/dist/language_models/stream.d.cts +106 -0
  250. package/dist/language_models/stream.d.cts.map +1 -0
  251. package/dist/language_models/stream.d.ts +106 -0
  252. package/dist/language_models/stream.d.ts.map +1 -0
  253. package/dist/language_models/stream.js +495 -0
  254. package/dist/language_models/stream.js.map +1 -0
  255. package/dist/language_models/structured_output.cjs +87 -0
  256. package/dist/language_models/structured_output.cjs.map +1 -0
  257. package/dist/language_models/structured_output.d.cts +45 -0
  258. package/dist/language_models/structured_output.d.cts.map +1 -0
  259. package/dist/language_models/structured_output.d.ts +45 -0
  260. package/dist/language_models/structured_output.d.ts.map +1 -0
  261. package/dist/language_models/structured_output.js +78 -0
  262. package/dist/language_models/structured_output.js.map +1 -0
  263. package/dist/language_models/utils.cjs +1 -2
  264. package/dist/language_models/utils.cjs.map +1 -1
  265. package/dist/language_models/utils.js +1 -1
  266. package/dist/language_models/utils.js.map +1 -1
  267. package/dist/load/import_constants.cjs +1 -2
  268. package/dist/load/import_constants.cjs.map +1 -1
  269. package/dist/load/import_constants.js +1 -1
  270. package/dist/load/import_constants.js.map +1 -1
  271. package/dist/load/import_map.cjs +86 -66
  272. package/dist/load/import_map.cjs.map +1 -1
  273. package/dist/load/import_map.js +49 -29
  274. package/dist/load/import_map.js.map +1 -1
  275. package/dist/load/import_type.d.cts.map +1 -1
  276. package/dist/load/import_type.d.ts.map +1 -1
  277. package/dist/load/index.cjs +179 -41
  278. package/dist/load/index.cjs.map +1 -1
  279. package/dist/load/index.d.cts +126 -3
  280. package/dist/load/index.d.cts.map +1 -1
  281. package/dist/load/index.d.ts +126 -3
  282. package/dist/load/index.d.ts.map +1 -1
  283. package/dist/load/index.js +168 -31
  284. package/dist/load/index.js.map +1 -1
  285. package/dist/load/map_keys.cjs +14 -7
  286. package/dist/load/map_keys.cjs.map +1 -1
  287. package/dist/load/map_keys.d.cts.map +1 -1
  288. package/dist/load/map_keys.d.ts.map +1 -1
  289. package/dist/load/map_keys.js +12 -4
  290. package/dist/load/map_keys.js.map +1 -1
  291. package/dist/load/serializable.cjs +22 -26
  292. package/dist/load/serializable.cjs.map +1 -1
  293. package/dist/load/serializable.d.cts +15 -1
  294. package/dist/load/serializable.d.cts.map +1 -1
  295. package/dist/load/serializable.d.ts +15 -1
  296. package/dist/load/serializable.d.ts.map +1 -1
  297. package/dist/load/serializable.js +15 -20
  298. package/dist/load/serializable.js.map +1 -1
  299. package/dist/load/validation.cjs +120 -0
  300. package/dist/load/validation.cjs.map +1 -0
  301. package/dist/load/validation.js +118 -0
  302. package/dist/load/validation.js.map +1 -0
  303. package/dist/memory.cjs +10 -18
  304. package/dist/memory.cjs.map +1 -1
  305. package/dist/memory.d.cts +2 -2
  306. package/dist/memory.d.cts.map +1 -1
  307. package/dist/memory.d.ts +2 -2
  308. package/dist/memory.d.ts.map +1 -1
  309. package/dist/memory.js +5 -13
  310. package/dist/memory.js.map +1 -1
  311. package/dist/messages/ai.cjs +27 -18
  312. package/dist/messages/ai.cjs.map +1 -1
  313. package/dist/messages/ai.d.cts +2 -2
  314. package/dist/messages/ai.d.cts.map +1 -1
  315. package/dist/messages/ai.d.ts +2 -2
  316. package/dist/messages/ai.d.ts.map +1 -1
  317. package/dist/messages/ai.js +22 -13
  318. package/dist/messages/ai.js.map +1 -1
  319. package/dist/messages/base.cjs +121 -44
  320. package/dist/messages/base.cjs.map +1 -1
  321. package/dist/messages/base.d.cts +58 -12
  322. package/dist/messages/base.d.cts.map +1 -1
  323. package/dist/messages/base.d.ts +58 -12
  324. package/dist/messages/base.d.ts.map +1 -1
  325. package/dist/messages/base.js +114 -38
  326. package/dist/messages/base.js.map +1 -1
  327. package/dist/messages/block_translators/anthropic.cjs +32 -38
  328. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  329. package/dist/messages/block_translators/anthropic.js +31 -37
  330. package/dist/messages/block_translators/anthropic.js.map +1 -1
  331. package/dist/messages/block_translators/bedrock_converse.cjs +40 -49
  332. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  333. package/dist/messages/block_translators/bedrock_converse.js +39 -48
  334. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  335. package/dist/messages/block_translators/data.cjs +3 -4
  336. package/dist/messages/block_translators/data.cjs.map +1 -1
  337. package/dist/messages/block_translators/data.js +1 -2
  338. package/dist/messages/block_translators/data.js.map +1 -1
  339. package/dist/messages/block_translators/deepseek.cjs +58 -0
  340. package/dist/messages/block_translators/deepseek.cjs.map +1 -0
  341. package/dist/messages/block_translators/deepseek.js +58 -0
  342. package/dist/messages/block_translators/deepseek.js.map +1 -0
  343. package/dist/messages/block_translators/google.cjs +97 -0
  344. package/dist/messages/block_translators/google.cjs.map +1 -0
  345. package/dist/messages/block_translators/google.js +97 -0
  346. package/dist/messages/block_translators/google.js.map +1 -0
  347. package/dist/messages/block_translators/google_genai.cjs +9 -3
  348. package/dist/messages/block_translators/google_genai.cjs.map +1 -1
  349. package/dist/messages/block_translators/google_genai.js +8 -2
  350. package/dist/messages/block_translators/google_genai.js.map +1 -1
  351. package/dist/messages/block_translators/google_vertexai.cjs +10 -6
  352. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  353. package/dist/messages/block_translators/google_vertexai.js +9 -5
  354. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  355. package/dist/messages/block_translators/groq.cjs +96 -0
  356. package/dist/messages/block_translators/groq.cjs.map +1 -0
  357. package/dist/messages/block_translators/groq.js +96 -0
  358. package/dist/messages/block_translators/groq.js.map +1 -0
  359. package/dist/messages/block_translators/index.cjs +19 -8
  360. package/dist/messages/block_translators/index.cjs.map +1 -1
  361. package/dist/messages/block_translators/index.js +14 -3
  362. package/dist/messages/block_translators/index.js.map +1 -1
  363. package/dist/messages/block_translators/ollama.cjs +58 -0
  364. package/dist/messages/block_translators/ollama.cjs.map +1 -0
  365. package/dist/messages/block_translators/ollama.js +58 -0
  366. package/dist/messages/block_translators/ollama.js.map +1 -0
  367. package/dist/messages/block_translators/openai.cjs +85 -26
  368. package/dist/messages/block_translators/openai.cjs.map +1 -1
  369. package/dist/messages/block_translators/openai.js +83 -24
  370. package/dist/messages/block_translators/openai.js.map +1 -1
  371. package/dist/messages/block_translators/openrouter.cjs +101 -0
  372. package/dist/messages/block_translators/openrouter.cjs.map +1 -0
  373. package/dist/messages/block_translators/openrouter.js +101 -0
  374. package/dist/messages/block_translators/openrouter.js.map +1 -0
  375. package/dist/messages/block_translators/utils.cjs +2 -3
  376. package/dist/messages/block_translators/utils.cjs.map +1 -1
  377. package/dist/messages/block_translators/utils.js +2 -2
  378. package/dist/messages/block_translators/utils.js.map +1 -1
  379. package/dist/messages/block_translators/xai.cjs +94 -0
  380. package/dist/messages/block_translators/xai.cjs.map +1 -0
  381. package/dist/messages/block_translators/xai.js +94 -0
  382. package/dist/messages/block_translators/xai.js.map +1 -0
  383. package/dist/messages/chat.cjs +2 -3
  384. package/dist/messages/chat.cjs.map +1 -1
  385. package/dist/messages/chat.d.cts.map +1 -1
  386. package/dist/messages/chat.d.ts.map +1 -1
  387. package/dist/messages/chat.js +1 -2
  388. package/dist/messages/chat.js.map +1 -1
  389. package/dist/messages/content/base.d.cts.map +1 -1
  390. package/dist/messages/content/base.d.ts.map +1 -1
  391. package/dist/messages/content/data.cjs +2 -5
  392. package/dist/messages/content/data.cjs.map +1 -1
  393. package/dist/messages/content/data.d.cts +0 -1
  394. package/dist/messages/content/data.d.cts.map +1 -1
  395. package/dist/messages/content/data.d.ts +0 -1
  396. package/dist/messages/content/data.d.ts.map +1 -1
  397. package/dist/messages/content/data.js +2 -4
  398. package/dist/messages/content/data.js.map +1 -1
  399. package/dist/messages/content/index.cjs +5 -6
  400. package/dist/messages/content/index.cjs.map +1 -1
  401. package/dist/messages/content/index.d.cts +7 -3
  402. package/dist/messages/content/index.d.cts.map +1 -1
  403. package/dist/messages/content/index.d.ts +7 -3
  404. package/dist/messages/content/index.d.ts.map +1 -1
  405. package/dist/messages/content/index.js +7 -8
  406. package/dist/messages/content/index.js.map +1 -1
  407. package/dist/messages/content/multimodal.cjs +1 -2
  408. package/dist/messages/content/multimodal.cjs.map +1 -1
  409. package/dist/messages/content/multimodal.d.cts +4 -8
  410. package/dist/messages/content/multimodal.d.cts.map +1 -1
  411. package/dist/messages/content/multimodal.d.ts +4 -8
  412. package/dist/messages/content/multimodal.d.ts.map +1 -1
  413. package/dist/messages/content/multimodal.js +1 -1
  414. package/dist/messages/content/multimodal.js.map +1 -1
  415. package/dist/messages/content/tools.cjs +1 -2
  416. package/dist/messages/content/tools.cjs.map +1 -1
  417. package/dist/messages/content/tools.d.cts +1 -1
  418. package/dist/messages/content/tools.d.cts.map +1 -1
  419. package/dist/messages/content/tools.d.ts +1 -1
  420. package/dist/messages/content/tools.d.ts.map +1 -1
  421. package/dist/messages/content/tools.js +1 -1
  422. package/dist/messages/content/tools.js.map +1 -1
  423. package/dist/messages/format.cjs +1 -2
  424. package/dist/messages/format.cjs.map +1 -1
  425. package/dist/messages/format.d.cts.map +1 -1
  426. package/dist/messages/format.d.ts.map +1 -1
  427. package/dist/messages/format.js +1 -1
  428. package/dist/messages/format.js.map +1 -1
  429. package/dist/messages/function.cjs +2 -3
  430. package/dist/messages/function.cjs.map +1 -1
  431. package/dist/messages/function.d.cts.map +1 -1
  432. package/dist/messages/function.d.ts.map +1 -1
  433. package/dist/messages/function.js +1 -2
  434. package/dist/messages/function.js.map +1 -1
  435. package/dist/messages/human.cjs +2 -3
  436. package/dist/messages/human.cjs.map +1 -1
  437. package/dist/messages/human.d.cts.map +1 -1
  438. package/dist/messages/human.d.ts.map +1 -1
  439. package/dist/messages/human.js +1 -2
  440. package/dist/messages/human.js.map +1 -1
  441. package/dist/messages/index.cjs +25 -24
  442. package/dist/messages/index.d.cts +4 -4
  443. package/dist/messages/index.d.ts +4 -4
  444. package/dist/messages/index.js +7 -8
  445. package/dist/messages/message.cjs +1 -2
  446. package/dist/messages/message.cjs.map +1 -1
  447. package/dist/messages/message.d.cts +50 -27
  448. package/dist/messages/message.d.cts.map +1 -1
  449. package/dist/messages/message.d.ts +50 -27
  450. package/dist/messages/message.d.ts.map +1 -1
  451. package/dist/messages/message.js +1 -1
  452. package/dist/messages/message.js.map +1 -1
  453. package/dist/messages/metadata.cjs +3 -5
  454. package/dist/messages/metadata.cjs.map +1 -1
  455. package/dist/messages/metadata.d.cts.map +1 -1
  456. package/dist/messages/metadata.d.ts.map +1 -1
  457. package/dist/messages/metadata.js +2 -4
  458. package/dist/messages/metadata.js.map +1 -1
  459. package/dist/messages/modifier.cjs +8 -3
  460. package/dist/messages/modifier.cjs.map +1 -1
  461. package/dist/messages/modifier.d.cts +9 -4
  462. package/dist/messages/modifier.d.cts.map +1 -1
  463. package/dist/messages/modifier.d.ts +9 -4
  464. package/dist/messages/modifier.d.ts.map +1 -1
  465. package/dist/messages/modifier.js +7 -2
  466. package/dist/messages/modifier.js.map +1 -1
  467. package/dist/messages/system.cjs +10 -7
  468. package/dist/messages/system.cjs.map +1 -1
  469. package/dist/messages/system.d.cts.map +1 -1
  470. package/dist/messages/system.d.ts.map +1 -1
  471. package/dist/messages/system.js +9 -6
  472. package/dist/messages/system.js.map +1 -1
  473. package/dist/messages/tool.cjs +10 -11
  474. package/dist/messages/tool.cjs.map +1 -1
  475. package/dist/messages/tool.d.cts +1 -1
  476. package/dist/messages/tool.d.cts.map +1 -1
  477. package/dist/messages/tool.d.ts +1 -1
  478. package/dist/messages/tool.d.ts.map +1 -1
  479. package/dist/messages/tool.js +3 -5
  480. package/dist/messages/tool.js.map +1 -1
  481. package/dist/messages/transformers.cjs +18 -25
  482. package/dist/messages/transformers.cjs.map +1 -1
  483. package/dist/messages/transformers.d.cts.map +1 -1
  484. package/dist/messages/transformers.d.ts.map +1 -1
  485. package/dist/messages/transformers.js +9 -16
  486. package/dist/messages/transformers.js.map +1 -1
  487. package/dist/messages/utils.cjs +85 -32
  488. package/dist/messages/utils.cjs.map +1 -1
  489. package/dist/messages/utils.d.cts +25 -8
  490. package/dist/messages/utils.d.cts.map +1 -1
  491. package/dist/messages/utils.d.ts +25 -8
  492. package/dist/messages/utils.d.ts.map +1 -1
  493. package/dist/messages/utils.js +77 -24
  494. package/dist/messages/utils.js.map +1 -1
  495. package/dist/output_parsers/base.cjs +10 -11
  496. package/dist/output_parsers/base.cjs.map +1 -1
  497. package/dist/output_parsers/base.d.cts +0 -1
  498. package/dist/output_parsers/base.d.cts.map +1 -1
  499. package/dist/output_parsers/base.d.ts +0 -4
  500. package/dist/output_parsers/base.d.ts.map +1 -1
  501. package/dist/output_parsers/base.js +6 -7
  502. package/dist/output_parsers/base.js.map +1 -1
  503. package/dist/output_parsers/bytes.cjs +2 -3
  504. package/dist/output_parsers/bytes.cjs.map +1 -1
  505. package/dist/output_parsers/bytes.d.cts +0 -1
  506. package/dist/output_parsers/bytes.d.cts.map +1 -1
  507. package/dist/output_parsers/bytes.d.ts +0 -1
  508. package/dist/output_parsers/bytes.d.ts.map +1 -1
  509. package/dist/output_parsers/bytes.js +1 -2
  510. package/dist/output_parsers/bytes.js.map +1 -1
  511. package/dist/output_parsers/index.cjs +21 -19
  512. package/dist/output_parsers/index.cjs.map +1 -1
  513. package/dist/output_parsers/index.d.cts +2 -1
  514. package/dist/output_parsers/index.d.ts +2 -1
  515. package/dist/output_parsers/index.js +7 -7
  516. package/dist/output_parsers/index.js.map +1 -1
  517. package/dist/output_parsers/json.cjs +16 -7
  518. package/dist/output_parsers/json.cjs.map +1 -1
  519. package/dist/output_parsers/json.d.cts +9 -1
  520. package/dist/output_parsers/json.d.cts.map +1 -1
  521. package/dist/output_parsers/json.d.ts +9 -1
  522. package/dist/output_parsers/json.d.ts.map +1 -1
  523. package/dist/output_parsers/json.js +13 -4
  524. package/dist/output_parsers/json.js.map +1 -1
  525. package/dist/output_parsers/list.cjs +3 -4
  526. package/dist/output_parsers/list.cjs.map +1 -1
  527. package/dist/output_parsers/list.d.cts +0 -1
  528. package/dist/output_parsers/list.d.cts.map +1 -1
  529. package/dist/output_parsers/list.d.ts +0 -2
  530. package/dist/output_parsers/list.d.ts.map +1 -1
  531. package/dist/output_parsers/list.js +1 -2
  532. package/dist/output_parsers/list.js.map +1 -1
  533. package/dist/output_parsers/openai_functions/index.cjs +10 -11
  534. package/dist/output_parsers/openai_functions/index.js +3 -5
  535. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +13 -17
  536. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  537. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +1 -2
  538. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
  539. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +1 -2
  540. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  541. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +7 -11
  542. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  543. package/dist/output_parsers/openai_tools/index.cjs +10 -11
  544. package/dist/output_parsers/openai_tools/index.d.cts +2 -2
  545. package/dist/output_parsers/openai_tools/index.d.ts +2 -2
  546. package/dist/output_parsers/openai_tools/index.js +3 -5
  547. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +29 -30
  548. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  549. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +10 -8
  550. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
  551. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +10 -8
  552. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
  553. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +23 -24
  554. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  555. package/dist/output_parsers/standard_schema.cjs +42 -0
  556. package/dist/output_parsers/standard_schema.cjs.map +1 -0
  557. package/dist/output_parsers/standard_schema.d.cts +18 -0
  558. package/dist/output_parsers/standard_schema.d.cts.map +1 -0
  559. package/dist/output_parsers/standard_schema.d.ts +18 -0
  560. package/dist/output_parsers/standard_schema.d.ts.map +1 -0
  561. package/dist/output_parsers/standard_schema.js +42 -0
  562. package/dist/output_parsers/standard_schema.js.map +1 -0
  563. package/dist/output_parsers/string.cjs +5 -3
  564. package/dist/output_parsers/string.cjs.map +1 -1
  565. package/dist/output_parsers/string.d.cts +0 -1
  566. package/dist/output_parsers/string.d.cts.map +1 -1
  567. package/dist/output_parsers/string.d.ts +0 -2
  568. package/dist/output_parsers/string.d.ts.map +1 -1
  569. package/dist/output_parsers/string.js +4 -2
  570. package/dist/output_parsers/string.js.map +1 -1
  571. package/dist/output_parsers/structured.cjs +17 -18
  572. package/dist/output_parsers/structured.cjs.map +1 -1
  573. package/dist/output_parsers/structured.d.cts +2 -0
  574. package/dist/output_parsers/structured.d.cts.map +1 -1
  575. package/dist/output_parsers/structured.d.ts +2 -0
  576. package/dist/output_parsers/structured.d.ts.map +1 -1
  577. package/dist/output_parsers/structured.js +12 -13
  578. package/dist/output_parsers/structured.js.map +1 -1
  579. package/dist/output_parsers/transform.cjs +8 -9
  580. package/dist/output_parsers/transform.cjs.map +1 -1
  581. package/dist/output_parsers/transform.d.cts +0 -1
  582. package/dist/output_parsers/transform.d.cts.map +1 -1
  583. package/dist/output_parsers/transform.d.ts +0 -1
  584. package/dist/output_parsers/transform.d.ts.map +1 -1
  585. package/dist/output_parsers/transform.js +1 -2
  586. package/dist/output_parsers/transform.js.map +1 -1
  587. package/dist/output_parsers/xml.cjs +11 -15
  588. package/dist/output_parsers/xml.cjs.map +1 -1
  589. package/dist/output_parsers/xml.d.cts +1 -1
  590. package/dist/output_parsers/xml.d.cts.map +1 -1
  591. package/dist/output_parsers/xml.d.ts +1 -1
  592. package/dist/output_parsers/xml.d.ts.map +1 -1
  593. package/dist/output_parsers/xml.js +7 -11
  594. package/dist/output_parsers/xml.js.map +1 -1
  595. package/dist/outputs.cjs +8 -10
  596. package/dist/outputs.cjs.map +1 -1
  597. package/dist/outputs.d.cts.map +1 -1
  598. package/dist/outputs.d.ts.map +1 -1
  599. package/dist/outputs.js +3 -5
  600. package/dist/outputs.js.map +1 -1
  601. package/dist/prompt_values.cjs +12 -13
  602. package/dist/prompt_values.cjs.map +1 -1
  603. package/dist/prompt_values.d.cts +1 -3
  604. package/dist/prompt_values.d.cts.map +1 -1
  605. package/dist/prompt_values.d.ts +1 -3
  606. package/dist/prompt_values.d.ts.map +1 -1
  607. package/dist/prompt_values.js +3 -5
  608. package/dist/prompt_values.js.map +1 -1
  609. package/dist/prompts/base.cjs +4 -6
  610. package/dist/prompts/base.cjs.map +1 -1
  611. package/dist/prompts/base.d.cts +0 -1
  612. package/dist/prompts/base.d.cts.map +1 -1
  613. package/dist/prompts/base.d.ts +0 -2
  614. package/dist/prompts/base.d.ts.map +1 -1
  615. package/dist/prompts/base.js +3 -5
  616. package/dist/prompts/base.js.map +1 -1
  617. package/dist/prompts/chat.cjs +37 -53
  618. package/dist/prompts/chat.cjs.map +1 -1
  619. package/dist/prompts/chat.d.cts +1 -0
  620. package/dist/prompts/chat.d.cts.map +1 -1
  621. package/dist/prompts/chat.d.ts +1 -1
  622. package/dist/prompts/chat.d.ts.map +1 -1
  623. package/dist/prompts/chat.js +23 -39
  624. package/dist/prompts/chat.js.map +1 -1
  625. package/dist/prompts/dict.cjs +3 -4
  626. package/dist/prompts/dict.cjs.map +1 -1
  627. package/dist/prompts/dict.d.cts.map +1 -1
  628. package/dist/prompts/dict.d.ts.map +1 -1
  629. package/dist/prompts/dict.js +1 -2
  630. package/dist/prompts/dict.js.map +1 -1
  631. package/dist/prompts/few_shot.cjs +14 -20
  632. package/dist/prompts/few_shot.cjs.map +1 -1
  633. package/dist/prompts/few_shot.d.cts.map +1 -1
  634. package/dist/prompts/few_shot.d.ts +0 -1
  635. package/dist/prompts/few_shot.d.ts.map +1 -1
  636. package/dist/prompts/few_shot.js +10 -16
  637. package/dist/prompts/few_shot.js.map +1 -1
  638. package/dist/prompts/image.cjs +7 -10
  639. package/dist/prompts/image.cjs.map +1 -1
  640. package/dist/prompts/image.d.cts +0 -1
  641. package/dist/prompts/image.d.cts.map +1 -1
  642. package/dist/prompts/image.d.ts +0 -2
  643. package/dist/prompts/image.d.ts.map +1 -1
  644. package/dist/prompts/image.js +4 -7
  645. package/dist/prompts/image.js.map +1 -1
  646. package/dist/prompts/index.cjs +19 -20
  647. package/dist/prompts/index.js +3 -5
  648. package/dist/prompts/pipeline.cjs +3 -4
  649. package/dist/prompts/pipeline.cjs.map +1 -1
  650. package/dist/prompts/pipeline.d.cts +0 -1
  651. package/dist/prompts/pipeline.d.cts.map +1 -1
  652. package/dist/prompts/pipeline.d.ts +0 -1
  653. package/dist/prompts/pipeline.d.ts.map +1 -1
  654. package/dist/prompts/pipeline.js +1 -2
  655. package/dist/prompts/pipeline.js.map +1 -1
  656. package/dist/prompts/prompt.cjs +13 -17
  657. package/dist/prompts/prompt.cjs.map +1 -1
  658. package/dist/prompts/prompt.d.cts +1 -2
  659. package/dist/prompts/prompt.d.cts.map +1 -1
  660. package/dist/prompts/prompt.d.ts +1 -2
  661. package/dist/prompts/prompt.d.ts.map +1 -1
  662. package/dist/prompts/prompt.js +11 -15
  663. package/dist/prompts/prompt.js.map +1 -1
  664. package/dist/prompts/serde.d.cts +0 -1
  665. package/dist/prompts/serde.d.cts.map +1 -1
  666. package/dist/prompts/serde.d.ts +0 -2
  667. package/dist/prompts/serde.d.ts.map +1 -1
  668. package/dist/prompts/string.cjs +4 -6
  669. package/dist/prompts/string.cjs.map +1 -1
  670. package/dist/prompts/string.d.cts +0 -1
  671. package/dist/prompts/string.d.cts.map +1 -1
  672. package/dist/prompts/string.d.ts +0 -1
  673. package/dist/prompts/string.d.ts.map +1 -1
  674. package/dist/prompts/string.js +2 -4
  675. package/dist/prompts/string.js.map +1 -1
  676. package/dist/prompts/structured.cjs +3 -4
  677. package/dist/prompts/structured.cjs.map +1 -1
  678. package/dist/prompts/structured.d.cts +0 -1
  679. package/dist/prompts/structured.d.cts.map +1 -1
  680. package/dist/prompts/structured.d.ts +0 -1
  681. package/dist/prompts/structured.d.ts.map +1 -1
  682. package/dist/prompts/structured.js +1 -2
  683. package/dist/prompts/structured.js.map +1 -1
  684. package/dist/prompts/template.cjs +12 -23
  685. package/dist/prompts/template.cjs.map +1 -1
  686. package/dist/prompts/template.d.cts +0 -2
  687. package/dist/prompts/template.d.cts.map +1 -1
  688. package/dist/prompts/template.d.ts +0 -2
  689. package/dist/prompts/template.d.ts.map +1 -1
  690. package/dist/prompts/template.js +8 -20
  691. package/dist/prompts/template.js.map +1 -1
  692. package/dist/retrievers/document_compressors/index.cjs +8 -10
  693. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  694. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  695. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  696. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  697. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  698. package/dist/retrievers/document_compressors/index.js +3 -5
  699. package/dist/retrievers/document_compressors/index.js.map +1 -1
  700. package/dist/retrievers/index.cjs +13 -15
  701. package/dist/retrievers/index.cjs.map +1 -1
  702. package/dist/retrievers/index.d.cts +0 -1
  703. package/dist/retrievers/index.d.cts.map +1 -1
  704. package/dist/retrievers/index.d.ts +0 -2
  705. package/dist/retrievers/index.d.ts.map +1 -1
  706. package/dist/retrievers/index.js +4 -7
  707. package/dist/retrievers/index.js.map +1 -1
  708. package/dist/runnables/base.cjs +76 -100
  709. package/dist/runnables/base.cjs.map +1 -1
  710. package/dist/runnables/base.d.cts +46 -4
  711. package/dist/runnables/base.d.cts.map +1 -1
  712. package/dist/runnables/base.d.ts +46 -4
  713. package/dist/runnables/base.d.ts.map +1 -1
  714. package/dist/runnables/base.js +58 -82
  715. package/dist/runnables/base.js.map +1 -1
  716. package/dist/runnables/branch.cjs +8 -13
  717. package/dist/runnables/branch.cjs.map +1 -1
  718. package/dist/runnables/branch.d.cts +0 -1
  719. package/dist/runnables/branch.d.cts.map +1 -1
  720. package/dist/runnables/branch.d.ts +0 -2
  721. package/dist/runnables/branch.d.ts.map +1 -1
  722. package/dist/runnables/branch.js +5 -10
  723. package/dist/runnables/branch.js.map +1 -1
  724. package/dist/runnables/config.cjs +21 -16
  725. package/dist/runnables/config.cjs.map +1 -1
  726. package/dist/runnables/config.d.cts.map +1 -1
  727. package/dist/runnables/config.d.ts.map +1 -1
  728. package/dist/runnables/config.js +19 -13
  729. package/dist/runnables/config.js.map +1 -1
  730. package/dist/runnables/graph.cjs +19 -22
  731. package/dist/runnables/graph.cjs.map +1 -1
  732. package/dist/runnables/graph.d.cts.map +1 -1
  733. package/dist/runnables/graph.d.ts.map +1 -1
  734. package/dist/runnables/graph.js +6 -10
  735. package/dist/runnables/graph.js.map +1 -1
  736. package/dist/runnables/graph_mermaid.cjs +8 -12
  737. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  738. package/dist/runnables/graph_mermaid.js +7 -11
  739. package/dist/runnables/graph_mermaid.js.map +1 -1
  740. package/dist/runnables/history.cjs +15 -17
  741. package/dist/runnables/history.cjs.map +1 -1
  742. package/dist/runnables/history.d.cts +5 -4
  743. package/dist/runnables/history.d.cts.map +1 -1
  744. package/dist/runnables/history.d.ts +5 -6
  745. package/dist/runnables/history.d.ts.map +1 -1
  746. package/dist/runnables/history.js +10 -12
  747. package/dist/runnables/history.js.map +1 -1
  748. package/dist/runnables/index.cjs +16 -17
  749. package/dist/runnables/index.js +3 -5
  750. package/dist/runnables/iter.cjs +21 -5
  751. package/dist/runnables/iter.cjs.map +1 -1
  752. package/dist/runnables/iter.js +17 -3
  753. package/dist/runnables/iter.js.map +1 -1
  754. package/dist/runnables/passthrough.cjs +5 -6
  755. package/dist/runnables/passthrough.cjs.map +1 -1
  756. package/dist/runnables/passthrough.d.cts.map +1 -1
  757. package/dist/runnables/passthrough.d.ts +0 -1
  758. package/dist/runnables/passthrough.d.ts.map +1 -1
  759. package/dist/runnables/passthrough.js +2 -3
  760. package/dist/runnables/passthrough.js.map +1 -1
  761. package/dist/runnables/router.cjs +5 -7
  762. package/dist/runnables/router.cjs.map +1 -1
  763. package/dist/runnables/router.d.cts.map +1 -1
  764. package/dist/runnables/router.d.ts +0 -1
  765. package/dist/runnables/router.d.ts.map +1 -1
  766. package/dist/runnables/router.js +3 -5
  767. package/dist/runnables/router.js.map +1 -1
  768. package/dist/runnables/types.d.cts +1 -2
  769. package/dist/runnables/types.d.cts.map +1 -1
  770. package/dist/runnables/types.d.ts +1 -2
  771. package/dist/runnables/types.d.ts.map +1 -1
  772. package/dist/runnables/utils.cjs +2 -4
  773. package/dist/runnables/utils.cjs.map +1 -1
  774. package/dist/runnables/utils.js +2 -3
  775. package/dist/runnables/utils.js.map +1 -1
  776. package/dist/runnables/wrappers.cjs +2 -3
  777. package/dist/runnables/wrappers.cjs.map +1 -1
  778. package/dist/runnables/wrappers.js +1 -2
  779. package/dist/runnables/wrappers.js.map +1 -1
  780. package/dist/singletons/async_local_storage/context.cjs +6 -8
  781. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  782. package/dist/singletons/async_local_storage/context.d.cts +0 -1
  783. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  784. package/dist/singletons/async_local_storage/context.d.ts +0 -1
  785. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  786. package/dist/singletons/async_local_storage/context.js +3 -5
  787. package/dist/singletons/async_local_storage/context.js.map +1 -1
  788. package/dist/singletons/async_local_storage/globals.cjs +1 -2
  789. package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
  790. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
  791. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
  792. package/dist/singletons/async_local_storage/globals.js +1 -1
  793. package/dist/singletons/async_local_storage/globals.js.map +1 -1
  794. package/dist/singletons/async_local_storage/index.cjs +8 -14
  795. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  796. package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
  797. package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
  798. package/dist/singletons/async_local_storage/index.js +4 -10
  799. package/dist/singletons/async_local_storage/index.js.map +1 -1
  800. package/dist/singletons/callbacks.cjs +7 -8
  801. package/dist/singletons/callbacks.cjs.map +1 -1
  802. package/dist/singletons/callbacks.d.cts +0 -1
  803. package/dist/singletons/callbacks.d.cts.map +1 -1
  804. package/dist/singletons/callbacks.d.ts +0 -1
  805. package/dist/singletons/callbacks.d.ts.map +1 -1
  806. package/dist/singletons/callbacks.js +2 -4
  807. package/dist/singletons/callbacks.js.map +1 -1
  808. package/dist/singletons/index.cjs +11 -12
  809. package/dist/singletons/index.js +3 -5
  810. package/dist/singletons/tracer.cjs +5 -9
  811. package/dist/singletons/tracer.cjs.map +1 -1
  812. package/dist/singletons/tracer.js +2 -6
  813. package/dist/singletons/tracer.js.map +1 -1
  814. package/dist/stores.cjs +10 -11
  815. package/dist/stores.cjs.map +1 -1
  816. package/dist/stores.d.cts +0 -1
  817. package/dist/stores.d.cts.map +1 -1
  818. package/dist/stores.d.ts +0 -1
  819. package/dist/stores.d.ts.map +1 -1
  820. package/dist/stores.js +3 -5
  821. package/dist/stores.js.map +1 -1
  822. package/dist/structured_query/base.cjs +6 -7
  823. package/dist/structured_query/base.cjs.map +1 -1
  824. package/dist/structured_query/base.d.cts +0 -1
  825. package/dist/structured_query/base.d.cts.map +1 -1
  826. package/dist/structured_query/base.d.ts +0 -1
  827. package/dist/structured_query/base.d.ts.map +1 -1
  828. package/dist/structured_query/base.js +4 -5
  829. package/dist/structured_query/base.js.map +1 -1
  830. package/dist/structured_query/functional.cjs +7 -8
  831. package/dist/structured_query/functional.cjs.map +1 -1
  832. package/dist/structured_query/functional.d.cts +0 -1
  833. package/dist/structured_query/functional.d.cts.map +1 -1
  834. package/dist/structured_query/functional.d.ts +0 -1
  835. package/dist/structured_query/functional.d.ts.map +1 -1
  836. package/dist/structured_query/functional.js +4 -5
  837. package/dist/structured_query/functional.js.map +1 -1
  838. package/dist/structured_query/index.cjs +13 -14
  839. package/dist/structured_query/index.js +3 -5
  840. package/dist/structured_query/ir.cjs +1 -2
  841. package/dist/structured_query/ir.cjs.map +1 -1
  842. package/dist/structured_query/ir.d.cts +0 -1
  843. package/dist/structured_query/ir.d.cts.map +1 -1
  844. package/dist/structured_query/ir.d.ts +0 -1
  845. package/dist/structured_query/ir.d.ts.map +1 -1
  846. package/dist/structured_query/ir.js +1 -1
  847. package/dist/structured_query/ir.js.map +1 -1
  848. package/dist/structured_query/utils.cjs +1 -2
  849. package/dist/structured_query/utils.cjs.map +1 -1
  850. package/dist/structured_query/utils.d.cts.map +1 -1
  851. package/dist/structured_query/utils.d.ts.map +1 -1
  852. package/dist/structured_query/utils.js +1 -1
  853. package/dist/structured_query/utils.js.map +1 -1
  854. package/dist/testing/fake_model_builder.cjs +226 -0
  855. package/dist/testing/fake_model_builder.cjs.map +1 -0
  856. package/dist/testing/fake_model_builder.d.cts +137 -0
  857. package/dist/testing/fake_model_builder.d.cts.map +1 -0
  858. package/dist/testing/fake_model_builder.d.ts +137 -0
  859. package/dist/testing/fake_model_builder.d.ts.map +1 -0
  860. package/dist/testing/fake_model_builder.js +225 -0
  861. package/dist/testing/fake_model_builder.js.map +1 -0
  862. package/dist/testing/index.cjs +58 -0
  863. package/dist/testing/index.cjs.map +1 -0
  864. package/dist/testing/index.d.cts +5 -0
  865. package/dist/testing/index.d.ts +5 -0
  866. package/dist/testing/index.js +32 -0
  867. package/dist/testing/index.js.map +1 -0
  868. package/dist/testing/matchers.cjs +214 -0
  869. package/dist/testing/matchers.cjs.map +1 -0
  870. package/dist/testing/matchers.d.cts +98 -0
  871. package/dist/testing/matchers.d.cts.map +1 -0
  872. package/dist/testing/matchers.d.ts +98 -0
  873. package/dist/testing/matchers.d.ts.map +1 -0
  874. package/dist/testing/matchers.js +204 -0
  875. package/dist/testing/matchers.js.map +1 -0
  876. package/dist/tools/index.cjs +51 -36
  877. package/dist/tools/index.cjs.map +1 -1
  878. package/dist/tools/index.d.cts +31 -24
  879. package/dist/tools/index.d.cts.map +1 -1
  880. package/dist/tools/index.d.ts +31 -26
  881. package/dist/tools/index.d.ts.map +1 -1
  882. package/dist/tools/index.js +32 -18
  883. package/dist/tools/index.js.map +1 -1
  884. package/dist/tools/types.cjs +3 -4
  885. package/dist/tools/types.cjs.map +1 -1
  886. package/dist/tools/types.d.cts +26 -11
  887. package/dist/tools/types.d.cts.map +1 -1
  888. package/dist/tools/types.d.ts +26 -13
  889. package/dist/tools/types.d.ts.map +1 -1
  890. package/dist/tools/types.js +1 -2
  891. package/dist/tools/types.js.map +1 -1
  892. package/dist/tools/utils.cjs +1 -2
  893. package/dist/tools/utils.cjs.map +1 -1
  894. package/dist/tools/utils.d.cts +0 -1
  895. package/dist/tools/utils.d.cts.map +1 -1
  896. package/dist/tools/utils.d.ts +0 -1
  897. package/dist/tools/utils.d.ts.map +1 -1
  898. package/dist/tools/utils.js +1 -1
  899. package/dist/tools/utils.js.map +1 -1
  900. package/dist/tracers/base.cjs +20 -18
  901. package/dist/tracers/base.cjs.map +1 -1
  902. package/dist/tracers/base.d.cts +92 -98
  903. package/dist/tracers/base.d.cts.map +1 -1
  904. package/dist/tracers/base.d.ts +92 -98
  905. package/dist/tracers/base.d.ts.map +1 -1
  906. package/dist/tracers/base.js +11 -10
  907. package/dist/tracers/base.js.map +1 -1
  908. package/dist/tracers/console.cjs +44 -19
  909. package/dist/tracers/console.cjs.map +1 -1
  910. package/dist/tracers/console.d.cts +0 -1
  911. package/dist/tracers/console.d.cts.map +1 -1
  912. package/dist/tracers/console.d.ts +0 -1
  913. package/dist/tracers/console.d.ts.map +1 -1
  914. package/dist/tracers/console.js +35 -11
  915. package/dist/tracers/console.js.map +1 -1
  916. package/dist/tracers/event_stream.cjs +24 -10
  917. package/dist/tracers/event_stream.cjs.map +1 -1
  918. package/dist/tracers/event_stream.d.cts +7 -6
  919. package/dist/tracers/event_stream.d.cts.map +1 -1
  920. package/dist/tracers/event_stream.d.ts +7 -7
  921. package/dist/tracers/event_stream.d.ts.map +1 -1
  922. package/dist/tracers/event_stream.js +20 -6
  923. package/dist/tracers/event_stream.js.map +1 -1
  924. package/dist/tracers/log_stream.cjs +15 -16
  925. package/dist/tracers/log_stream.cjs.map +1 -1
  926. package/dist/tracers/log_stream.d.cts +14 -31
  927. package/dist/tracers/log_stream.d.cts.map +1 -1
  928. package/dist/tracers/log_stream.d.ts +14 -31
  929. package/dist/tracers/log_stream.d.ts.map +1 -1
  930. package/dist/tracers/log_stream.js +5 -7
  931. package/dist/tracers/log_stream.js.map +1 -1
  932. package/dist/tracers/root_listener.cjs +2 -3
  933. package/dist/tracers/root_listener.cjs.map +1 -1
  934. package/dist/tracers/root_listener.js +1 -2
  935. package/dist/tracers/root_listener.js.map +1 -1
  936. package/dist/tracers/run_collector.cjs +10 -11
  937. package/dist/tracers/run_collector.cjs.map +1 -1
  938. package/dist/tracers/run_collector.d.cts +0 -1
  939. package/dist/tracers/run_collector.d.cts.map +1 -1
  940. package/dist/tracers/run_collector.d.ts +0 -1
  941. package/dist/tracers/run_collector.d.ts.map +1 -1
  942. package/dist/tracers/run_collector.js +3 -5
  943. package/dist/tracers/run_collector.js.map +1 -1
  944. package/dist/tracers/tracer_langchain.cjs +112 -20
  945. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  946. package/dist/tracers/tracer_langchain.d.cts +28 -2
  947. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  948. package/dist/tracers/tracer_langchain.d.ts +28 -2
  949. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  950. package/dist/tracers/tracer_langchain.js +102 -12
  951. package/dist/tracers/tracer_langchain.js.map +1 -1
  952. package/dist/types/_internal.d.cts.map +1 -1
  953. package/dist/types/_internal.d.ts.map +1 -1
  954. package/dist/types/stream.cjs +8 -8
  955. package/dist/types/stream.js +3 -2
  956. package/dist/types/type-utils.d.cts +2 -1
  957. package/dist/types/type-utils.d.cts.map +1 -1
  958. package/dist/types/type-utils.d.ts +2 -1
  959. package/dist/types/type-utils.d.ts.map +1 -1
  960. package/dist/utils/async_caller.cjs +28 -20
  961. package/dist/utils/async_caller.cjs.map +1 -1
  962. package/dist/utils/async_caller.d.cts.map +1 -1
  963. package/dist/utils/async_caller.d.ts.map +1 -1
  964. package/dist/utils/async_caller.js +18 -12
  965. package/dist/utils/async_caller.js.map +1 -1
  966. package/dist/utils/callbacks.cjs +4 -6
  967. package/dist/utils/callbacks.cjs.map +1 -1
  968. package/dist/utils/callbacks.js +3 -5
  969. package/dist/utils/callbacks.js.map +1 -1
  970. package/dist/utils/chunk_array.cjs +9 -12
  971. package/dist/utils/chunk_array.cjs.map +1 -1
  972. package/dist/utils/chunk_array.d.cts.map +1 -1
  973. package/dist/utils/chunk_array.d.ts.map +1 -1
  974. package/dist/utils/chunk_array.js +4 -7
  975. package/dist/utils/chunk_array.js.map +1 -1
  976. package/dist/utils/context.cjs +104 -0
  977. package/dist/utils/context.cjs.map +1 -0
  978. package/dist/utils/context.d.cts +44 -0
  979. package/dist/utils/context.d.cts.map +1 -0
  980. package/dist/utils/context.d.ts +44 -0
  981. package/dist/utils/context.d.ts.map +1 -0
  982. package/dist/utils/context.js +98 -0
  983. package/dist/utils/context.js.map +1 -0
  984. package/dist/utils/env.cjs +14 -19
  985. package/dist/utils/env.cjs.map +1 -1
  986. package/dist/utils/env.d.cts.map +1 -1
  987. package/dist/utils/env.d.ts.map +1 -1
  988. package/dist/utils/env.js +9 -14
  989. package/dist/utils/env.js.map +1 -1
  990. package/dist/utils/event_source_parse.cjs +15 -23
  991. package/dist/utils/event_source_parse.cjs.map +1 -1
  992. package/dist/utils/event_source_parse.d.cts +2 -2
  993. package/dist/utils/event_source_parse.d.cts.map +1 -1
  994. package/dist/utils/event_source_parse.d.ts +2 -2
  995. package/dist/utils/event_source_parse.d.ts.map +1 -1
  996. package/dist/utils/event_source_parse.js +8 -17
  997. package/dist/utils/event_source_parse.js.map +1 -1
  998. package/dist/utils/fast-json-patch/index.cjs +5 -13
  999. package/dist/utils/fast-json-patch/index.cjs.map +1 -1
  1000. package/dist/utils/fast-json-patch/index.js +6 -13
  1001. package/dist/utils/fast-json-patch/index.js.map +1 -1
  1002. package/dist/utils/fast-json-patch/src/core.cjs +16 -28
  1003. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  1004. package/dist/utils/fast-json-patch/src/core.d.cts +0 -1
  1005. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
  1006. package/dist/utils/fast-json-patch/src/core.d.ts +0 -1
  1007. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
  1008. package/dist/utils/fast-json-patch/src/core.js +10 -22
  1009. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  1010. package/dist/utils/fast-json-patch/src/duplex.cjs +8 -7
  1011. package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
  1012. package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -1
  1013. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
  1014. package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -1
  1015. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
  1016. package/dist/utils/fast-json-patch/src/duplex.js +6 -5
  1017. package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
  1018. package/dist/utils/fast-json-patch/src/helpers.cjs +5 -6
  1019. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  1020. package/dist/utils/fast-json-patch/src/helpers.js +5 -5
  1021. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  1022. package/dist/utils/format.cjs +8 -8
  1023. package/dist/utils/format.d.cts.map +1 -1
  1024. package/dist/utils/format.d.ts.map +1 -1
  1025. package/dist/utils/format.js +3 -2
  1026. package/dist/utils/function_calling.cjs +11 -12
  1027. package/dist/utils/function_calling.cjs.map +1 -1
  1028. package/dist/utils/function_calling.d.cts +0 -1
  1029. package/dist/utils/function_calling.d.cts.map +1 -1
  1030. package/dist/utils/function_calling.d.ts +0 -1
  1031. package/dist/utils/function_calling.d.ts.map +1 -1
  1032. package/dist/utils/function_calling.js +3 -5
  1033. package/dist/utils/function_calling.js.map +1 -1
  1034. package/dist/utils/hash.cjs +10 -11
  1035. package/dist/utils/hash.d.cts +0 -1
  1036. package/dist/utils/hash.d.cts.map +1 -1
  1037. package/dist/utils/hash.d.ts +0 -1
  1038. package/dist/utils/hash.d.ts.map +1 -1
  1039. package/dist/utils/hash.js +3 -5
  1040. package/dist/utils/is-network-error/index.cjs +3 -5
  1041. package/dist/utils/is-network-error/index.cjs.map +1 -1
  1042. package/dist/utils/is-network-error/index.js +3 -4
  1043. package/dist/utils/is-network-error/index.js.map +1 -1
  1044. package/dist/utils/js-sha256/hash.cjs +42 -37
  1045. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  1046. package/dist/utils/js-sha256/hash.d.cts.map +1 -1
  1047. package/dist/utils/js-sha256/hash.d.ts.map +1 -1
  1048. package/dist/utils/js-sha256/hash.js +42 -36
  1049. package/dist/utils/js-sha256/hash.js.map +1 -1
  1050. package/dist/utils/json.cjs +1 -2
  1051. package/dist/utils/json.cjs.map +1 -1
  1052. package/dist/utils/json.d.cts.map +1 -1
  1053. package/dist/utils/json.d.ts.map +1 -1
  1054. package/dist/utils/json.js +1 -1
  1055. package/dist/utils/json.js.map +1 -1
  1056. package/dist/utils/json_patch.cjs +12 -13
  1057. package/dist/utils/json_patch.js +3 -5
  1058. package/dist/utils/json_schema.cjs +60 -37
  1059. package/dist/utils/json_schema.cjs.map +1 -1
  1060. package/dist/utils/json_schema.d.cts +4 -2
  1061. package/dist/utils/json_schema.d.cts.map +1 -1
  1062. package/dist/utils/json_schema.d.ts +4 -3
  1063. package/dist/utils/json_schema.d.ts.map +1 -1
  1064. package/dist/utils/json_schema.js +36 -14
  1065. package/dist/utils/json_schema.js.map +1 -1
  1066. package/dist/utils/math.cjs +16 -18
  1067. package/dist/utils/math.cjs.map +1 -1
  1068. package/dist/utils/math.d.cts.map +1 -1
  1069. package/dist/utils/math.d.ts.map +1 -1
  1070. package/dist/utils/math.js +9 -12
  1071. package/dist/utils/math.js.map +1 -1
  1072. package/dist/utils/ml-distance/distances.cjs +1 -2
  1073. package/dist/utils/ml-distance/distances.cjs.map +1 -1
  1074. package/dist/utils/ml-distance/distances.js +1 -1
  1075. package/dist/utils/ml-distance/distances.js.map +1 -1
  1076. package/dist/utils/ml-distance/similarities.cjs +1 -2
  1077. package/dist/utils/ml-distance/similarities.cjs.map +1 -1
  1078. package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
  1079. package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
  1080. package/dist/utils/ml-distance/similarities.js +1 -1
  1081. package/dist/utils/ml-distance/similarities.js.map +1 -1
  1082. package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
  1083. package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
  1084. package/dist/utils/ml-distance-euclidean/euclidean.js +1 -1
  1085. package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -1
  1086. package/dist/utils/namespace.cjs +62 -0
  1087. package/dist/utils/namespace.cjs.map +1 -0
  1088. package/dist/utils/namespace.d.cts +73 -0
  1089. package/dist/utils/namespace.d.cts.map +1 -0
  1090. package/dist/utils/namespace.d.ts +73 -0
  1091. package/dist/utils/namespace.d.ts.map +1 -0
  1092. package/dist/utils/namespace.js +62 -0
  1093. package/dist/utils/namespace.js.map +1 -0
  1094. package/dist/utils/p-retry/index.cjs +4 -5
  1095. package/dist/utils/p-retry/index.cjs.map +1 -1
  1096. package/dist/utils/p-retry/index.js +3 -4
  1097. package/dist/utils/p-retry/index.js.map +1 -1
  1098. package/dist/utils/sax-js/sax.cjs +29 -36
  1099. package/dist/utils/sax-js/sax.cjs.map +1 -1
  1100. package/dist/utils/sax-js/sax.js +29 -35
  1101. package/dist/utils/sax-js/sax.js.map +1 -1
  1102. package/dist/utils/signal.cjs +3 -4
  1103. package/dist/utils/signal.cjs.map +1 -1
  1104. package/dist/utils/signal.d.cts.map +1 -1
  1105. package/dist/utils/signal.d.ts.map +1 -1
  1106. package/dist/utils/signal.js +3 -3
  1107. package/dist/utils/signal.js.map +1 -1
  1108. package/dist/utils/ssrf.cjs +267 -0
  1109. package/dist/utils/ssrf.cjs.map +1 -0
  1110. package/dist/utils/ssrf.d.cts +52 -0
  1111. package/dist/utils/ssrf.d.cts.map +1 -0
  1112. package/dist/utils/ssrf.d.ts +52 -0
  1113. package/dist/utils/ssrf.d.ts.map +1 -0
  1114. package/dist/utils/ssrf.js +256 -0
  1115. package/dist/utils/ssrf.js.map +1 -0
  1116. package/dist/utils/standard_schema.cjs +41 -0
  1117. package/dist/utils/standard_schema.cjs.map +1 -0
  1118. package/dist/utils/standard_schema.d.cts +27 -0
  1119. package/dist/utils/standard_schema.d.cts.map +1 -0
  1120. package/dist/utils/standard_schema.d.ts +27 -0
  1121. package/dist/utils/standard_schema.d.ts.map +1 -0
  1122. package/dist/utils/standard_schema.js +33 -0
  1123. package/dist/utils/standard_schema.js.map +1 -0
  1124. package/dist/utils/stream.cjs +15 -16
  1125. package/dist/utils/stream.cjs.map +1 -1
  1126. package/dist/utils/stream.d.cts.map +1 -1
  1127. package/dist/utils/stream.d.ts.map +1 -1
  1128. package/dist/utils/stream.js +5 -7
  1129. package/dist/utils/stream.js.map +1 -1
  1130. package/dist/utils/testing/chat_models.cjs +10 -13
  1131. package/dist/utils/testing/chat_models.cjs.map +1 -1
  1132. package/dist/utils/testing/chat_models.d.cts.map +1 -1
  1133. package/dist/utils/testing/chat_models.d.ts +0 -1
  1134. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  1135. package/dist/utils/testing/chat_models.js +4 -7
  1136. package/dist/utils/testing/chat_models.js.map +1 -1
  1137. package/dist/utils/testing/embeddings.cjs +4 -7
  1138. package/dist/utils/testing/embeddings.cjs.map +1 -1
  1139. package/dist/utils/testing/embeddings.d.cts +0 -1
  1140. package/dist/utils/testing/embeddings.d.cts.map +1 -1
  1141. package/dist/utils/testing/embeddings.d.ts +0 -1
  1142. package/dist/utils/testing/embeddings.d.ts.map +1 -1
  1143. package/dist/utils/testing/embeddings.js +3 -6
  1144. package/dist/utils/testing/embeddings.js.map +1 -1
  1145. package/dist/utils/testing/index.cjs +36 -21
  1146. package/dist/utils/testing/index.cjs.map +1 -1
  1147. package/dist/utils/testing/index.d.cts +3 -1
  1148. package/dist/utils/testing/index.d.ts +3 -1
  1149. package/dist/utils/testing/index.js +14 -7
  1150. package/dist/utils/testing/index.js.map +1 -1
  1151. package/dist/utils/testing/llms.cjs +2 -3
  1152. package/dist/utils/testing/llms.cjs.map +1 -1
  1153. package/dist/utils/testing/llms.d.cts.map +1 -1
  1154. package/dist/utils/testing/llms.d.ts.map +1 -1
  1155. package/dist/utils/testing/llms.js +1 -2
  1156. package/dist/utils/testing/llms.js.map +1 -1
  1157. package/dist/utils/testing/message_history.cjs +6 -7
  1158. package/dist/utils/testing/message_history.cjs.map +1 -1
  1159. package/dist/utils/testing/message_history.d.cts.map +1 -1
  1160. package/dist/utils/testing/message_history.d.ts +0 -1
  1161. package/dist/utils/testing/message_history.d.ts.map +1 -1
  1162. package/dist/utils/testing/message_history.js +2 -3
  1163. package/dist/utils/testing/message_history.js.map +1 -1
  1164. package/dist/utils/testing/openai_stream_fixtures.cjs +160 -0
  1165. package/dist/utils/testing/openai_stream_fixtures.cjs.map +1 -0
  1166. package/dist/utils/testing/openai_stream_fixtures.d.cts +12 -0
  1167. package/dist/utils/testing/openai_stream_fixtures.d.cts.map +1 -0
  1168. package/dist/utils/testing/openai_stream_fixtures.d.ts +12 -0
  1169. package/dist/utils/testing/openai_stream_fixtures.d.ts.map +1 -0
  1170. package/dist/utils/testing/openai_stream_fixtures.js +155 -0
  1171. package/dist/utils/testing/openai_stream_fixtures.js.map +1 -0
  1172. package/dist/utils/testing/output_parsers.cjs +2 -3
  1173. package/dist/utils/testing/output_parsers.cjs.map +1 -1
  1174. package/dist/utils/testing/output_parsers.d.cts +0 -1
  1175. package/dist/utils/testing/output_parsers.d.cts.map +1 -1
  1176. package/dist/utils/testing/output_parsers.d.ts +0 -1
  1177. package/dist/utils/testing/output_parsers.d.ts.map +1 -1
  1178. package/dist/utils/testing/output_parsers.js +1 -2
  1179. package/dist/utils/testing/output_parsers.js.map +1 -1
  1180. package/dist/utils/testing/retrievers.cjs +3 -4
  1181. package/dist/utils/testing/retrievers.cjs.map +1 -1
  1182. package/dist/utils/testing/retrievers.d.cts.map +1 -1
  1183. package/dist/utils/testing/retrievers.d.ts.map +1 -1
  1184. package/dist/utils/testing/retrievers.js +2 -3
  1185. package/dist/utils/testing/retrievers.js.map +1 -1
  1186. package/dist/utils/testing/runnables.cjs +2 -3
  1187. package/dist/utils/testing/runnables.cjs.map +1 -1
  1188. package/dist/utils/testing/runnables.d.cts.map +1 -1
  1189. package/dist/utils/testing/runnables.d.ts.map +1 -1
  1190. package/dist/utils/testing/runnables.js +1 -2
  1191. package/dist/utils/testing/runnables.js.map +1 -1
  1192. package/dist/utils/testing/stream.cjs +136 -0
  1193. package/dist/utils/testing/stream.cjs.map +1 -0
  1194. package/dist/utils/testing/stream.d.cts +96 -0
  1195. package/dist/utils/testing/stream.d.cts.map +1 -0
  1196. package/dist/utils/testing/stream.d.ts +96 -0
  1197. package/dist/utils/testing/stream.d.ts.map +1 -0
  1198. package/dist/utils/testing/stream.js +136 -0
  1199. package/dist/utils/testing/stream.js.map +1 -0
  1200. package/dist/utils/testing/tools.cjs +2 -3
  1201. package/dist/utils/testing/tools.cjs.map +1 -1
  1202. package/dist/utils/testing/tools.d.cts.map +1 -1
  1203. package/dist/utils/testing/tools.d.ts.map +1 -1
  1204. package/dist/utils/testing/tools.js +1 -2
  1205. package/dist/utils/testing/tools.js.map +1 -1
  1206. package/dist/utils/testing/tracers.cjs +2 -3
  1207. package/dist/utils/testing/tracers.cjs.map +1 -1
  1208. package/dist/utils/testing/tracers.d.cts.map +1 -1
  1209. package/dist/utils/testing/tracers.d.ts.map +1 -1
  1210. package/dist/utils/testing/tracers.js +1 -2
  1211. package/dist/utils/testing/tracers.js.map +1 -1
  1212. package/dist/utils/testing/vectorstores.cjs +10 -15
  1213. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  1214. package/dist/utils/testing/vectorstores.d.cts +0 -1
  1215. package/dist/utils/testing/vectorstores.d.cts.map +1 -1
  1216. package/dist/utils/testing/vectorstores.d.ts +0 -1
  1217. package/dist/utils/testing/vectorstores.d.ts.map +1 -1
  1218. package/dist/utils/testing/vectorstores.js +8 -13
  1219. package/dist/utils/testing/vectorstores.js.map +1 -1
  1220. package/dist/utils/tiktoken.cjs +11 -12
  1221. package/dist/utils/tiktoken.cjs.map +1 -1
  1222. package/dist/utils/tiktoken.d.cts.map +1 -1
  1223. package/dist/utils/tiktoken.d.ts.map +1 -1
  1224. package/dist/utils/tiktoken.js +3 -5
  1225. package/dist/utils/tiktoken.js.map +1 -1
  1226. package/dist/utils/types/index.cjs +10 -11
  1227. package/dist/utils/types/index.cjs.map +1 -1
  1228. package/dist/utils/types/index.d.cts +2 -3
  1229. package/dist/utils/types/index.d.cts.map +1 -1
  1230. package/dist/utils/types/index.d.ts +2 -3
  1231. package/dist/utils/types/index.d.ts.map +1 -1
  1232. package/dist/utils/types/index.js +3 -5
  1233. package/dist/utils/types/index.js.map +1 -1
  1234. package/dist/utils/types/zod.cjs +20 -36
  1235. package/dist/utils/types/zod.cjs.map +1 -1
  1236. package/dist/utils/types/zod.d.cts +144 -33
  1237. package/dist/utils/types/zod.d.cts.map +1 -1
  1238. package/dist/utils/types/zod.d.ts +144 -33
  1239. package/dist/utils/types/zod.d.ts.map +1 -1
  1240. package/dist/utils/types/zod.js +18 -34
  1241. package/dist/utils/types/zod.js.map +1 -1
  1242. package/dist/utils/uuid/index.cjs +58 -0
  1243. package/dist/utils/uuid/index.cjs.map +1 -0
  1244. package/dist/utils/uuid/index.d.cts +26 -0
  1245. package/dist/utils/uuid/index.d.cts.map +1 -0
  1246. package/dist/utils/uuid/index.d.ts +26 -0
  1247. package/dist/utils/uuid/index.d.ts.map +1 -0
  1248. package/dist/utils/uuid/index.js +41 -0
  1249. package/dist/utils/uuid/index.js.map +1 -0
  1250. package/dist/utils/uuid/max.cjs +6 -0
  1251. package/dist/utils/uuid/max.cjs.map +1 -0
  1252. package/dist/utils/uuid/max.js +6 -0
  1253. package/dist/utils/uuid/max.js.map +1 -0
  1254. package/dist/utils/uuid/nil.cjs +6 -0
  1255. package/dist/utils/uuid/nil.cjs.map +1 -0
  1256. package/dist/utils/uuid/nil.js +6 -0
  1257. package/dist/utils/uuid/nil.js.map +1 -0
  1258. package/dist/utils/uuid/parse.cjs +11 -0
  1259. package/dist/utils/uuid/parse.cjs.map +1 -0
  1260. package/dist/utils/uuid/parse.d.cts +7 -0
  1261. package/dist/utils/uuid/parse.d.cts.map +1 -0
  1262. package/dist/utils/uuid/parse.d.ts +7 -0
  1263. package/dist/utils/uuid/parse.d.ts.map +1 -0
  1264. package/dist/utils/uuid/parse.js +11 -0
  1265. package/dist/utils/uuid/parse.js.map +1 -0
  1266. package/dist/utils/uuid/regex.cjs +6 -0
  1267. package/dist/utils/uuid/regex.cjs.map +1 -0
  1268. package/dist/utils/uuid/regex.js +6 -0
  1269. package/dist/utils/uuid/regex.js.map +1 -0
  1270. package/dist/utils/uuid/rng.cjs +9 -0
  1271. package/dist/utils/uuid/rng.cjs.map +1 -0
  1272. package/dist/utils/uuid/rng.js +9 -0
  1273. package/dist/utils/uuid/rng.js.map +1 -0
  1274. package/dist/utils/uuid/sha1.cjs +71 -0
  1275. package/dist/utils/uuid/sha1.cjs.map +1 -0
  1276. package/dist/utils/uuid/sha1.js +71 -0
  1277. package/dist/utils/uuid/sha1.js.map +1 -0
  1278. package/dist/utils/uuid/stringify.cjs +21 -0
  1279. package/dist/utils/uuid/stringify.cjs.map +1 -0
  1280. package/dist/utils/uuid/stringify.d.cts +5 -0
  1281. package/dist/utils/uuid/stringify.d.cts.map +1 -0
  1282. package/dist/utils/uuid/stringify.d.ts +5 -0
  1283. package/dist/utils/uuid/stringify.d.ts.map +1 -0
  1284. package/dist/utils/uuid/stringify.js +20 -0
  1285. package/dist/utils/uuid/stringify.js.map +1 -0
  1286. package/dist/utils/uuid/types.d.cts +26 -0
  1287. package/dist/utils/uuid/types.d.cts.map +1 -0
  1288. package/dist/utils/uuid/types.d.ts +26 -0
  1289. package/dist/utils/uuid/types.d.ts.map +1 -0
  1290. package/dist/utils/uuid/v1.cjs +69 -0
  1291. package/dist/utils/uuid/v1.cjs.map +1 -0
  1292. package/dist/utils/uuid/v1.d.cts +8 -0
  1293. package/dist/utils/uuid/v1.d.cts.map +1 -0
  1294. package/dist/utils/uuid/v1.d.ts +8 -0
  1295. package/dist/utils/uuid/v1.d.ts.map +1 -0
  1296. package/dist/utils/uuid/v1.js +69 -0
  1297. package/dist/utils/uuid/v1.js.map +1 -0
  1298. package/dist/utils/uuid/v1ToV6.cjs +14 -0
  1299. package/dist/utils/uuid/v1ToV6.cjs.map +1 -0
  1300. package/dist/utils/uuid/v1ToV6.js +14 -0
  1301. package/dist/utils/uuid/v1ToV6.js.map +1 -0
  1302. package/dist/utils/uuid/v35.cjs +36 -0
  1303. package/dist/utils/uuid/v35.cjs.map +1 -0
  1304. package/dist/utils/uuid/v35.js +34 -0
  1305. package/dist/utils/uuid/v35.js.map +1 -0
  1306. package/dist/utils/uuid/v4.cjs +25 -0
  1307. package/dist/utils/uuid/v4.cjs.map +1 -0
  1308. package/dist/utils/uuid/v4.d.cts +8 -0
  1309. package/dist/utils/uuid/v4.d.cts.map +1 -0
  1310. package/dist/utils/uuid/v4.d.ts +8 -0
  1311. package/dist/utils/uuid/v4.d.ts.map +1 -0
  1312. package/dist/utils/uuid/v4.js +25 -0
  1313. package/dist/utils/uuid/v4.js.map +1 -0
  1314. package/dist/utils/uuid/v5.cjs +12 -0
  1315. package/dist/utils/uuid/v5.cjs.map +1 -0
  1316. package/dist/utils/uuid/v5.d.cts +14 -0
  1317. package/dist/utils/uuid/v5.d.cts.map +1 -0
  1318. package/dist/utils/uuid/v5.d.ts +14 -0
  1319. package/dist/utils/uuid/v5.d.ts.map +1 -0
  1320. package/dist/utils/uuid/v5.js +12 -0
  1321. package/dist/utils/uuid/v5.js.map +1 -0
  1322. package/dist/utils/uuid/v6.cjs +23 -0
  1323. package/dist/utils/uuid/v6.cjs.map +1 -0
  1324. package/dist/utils/uuid/v6.d.cts +8 -0
  1325. package/dist/utils/uuid/v6.d.cts.map +1 -0
  1326. package/dist/utils/uuid/v6.d.ts +8 -0
  1327. package/dist/utils/uuid/v6.d.ts.map +1 -0
  1328. package/dist/utils/uuid/v6.js +23 -0
  1329. package/dist/utils/uuid/v6.js.map +1 -0
  1330. package/dist/utils/uuid/v7.cjs +57 -0
  1331. package/dist/utils/uuid/v7.cjs.map +1 -0
  1332. package/dist/utils/uuid/v7.d.cts +8 -0
  1333. package/dist/utils/uuid/v7.d.cts.map +1 -0
  1334. package/dist/utils/uuid/v7.d.ts +8 -0
  1335. package/dist/utils/uuid/v7.d.ts.map +1 -0
  1336. package/dist/utils/uuid/v7.js +57 -0
  1337. package/dist/utils/uuid/v7.js.map +1 -0
  1338. package/dist/utils/uuid/validate.cjs +9 -0
  1339. package/dist/utils/uuid/validate.cjs.map +1 -0
  1340. package/dist/utils/uuid/validate.d.cts +5 -0
  1341. package/dist/utils/uuid/validate.d.cts.map +1 -0
  1342. package/dist/utils/uuid/validate.d.ts +5 -0
  1343. package/dist/utils/uuid/validate.d.ts.map +1 -0
  1344. package/dist/utils/uuid/validate.js +9 -0
  1345. package/dist/utils/uuid/validate.js.map +1 -0
  1346. package/dist/utils/uuid/version.cjs +10 -0
  1347. package/dist/utils/uuid/version.cjs.map +1 -0
  1348. package/dist/utils/uuid/version.d.cts +5 -0
  1349. package/dist/utils/uuid/version.d.cts.map +1 -0
  1350. package/dist/utils/uuid/version.d.ts +5 -0
  1351. package/dist/utils/uuid/version.d.ts.map +1 -0
  1352. package/dist/utils/uuid/version.js +10 -0
  1353. package/dist/utils/uuid/version.js.map +1 -0
  1354. package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
  1355. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
  1356. package/dist/utils/zod-to-json-schema/Options.d.cts +1 -0
  1357. package/dist/utils/zod-to-json-schema/Options.d.ts +1 -3
  1358. package/dist/utils/zod-to-json-schema/Options.js +1 -1
  1359. package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
  1360. package/dist/utils/zod-to-json-schema/Refs.cjs +2 -3
  1361. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
  1362. package/dist/utils/zod-to-json-schema/Refs.d.cts +1 -0
  1363. package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -3
  1364. package/dist/utils/zod-to-json-schema/Refs.js +1 -2
  1365. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
  1366. package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
  1367. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
  1368. package/dist/utils/zod-to-json-schema/errorMessages.d.cts +0 -1
  1369. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
  1370. package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
  1371. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  1372. package/dist/utils/zod-to-json-schema/errorMessages.js +1 -1
  1373. package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
  1374. package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
  1375. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
  1376. package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -1
  1377. package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
  1378. package/dist/utils/zod-to-json-schema/index.cjs +37 -37
  1379. package/dist/utils/zod-to-json-schema/index.d.cts +24 -0
  1380. package/dist/utils/zod-to-json-schema/index.d.ts +1 -14
  1381. package/dist/utils/zod-to-json-schema/index.js +38 -37
  1382. package/dist/utils/zod-to-json-schema/parseDef.cjs +5 -6
  1383. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
  1384. package/dist/utils/zod-to-json-schema/parseDef.d.cts +1 -0
  1385. package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -3
  1386. package/dist/utils/zod-to-json-schema/parseDef.js +1 -2
  1387. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
  1388. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
  1389. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
  1390. package/dist/utils/zod-to-json-schema/parsers/any.cjs +2 -3
  1391. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
  1392. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
  1393. package/dist/utils/zod-to-json-schema/parsers/any.d.ts +0 -2
  1394. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  1395. package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
  1396. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
  1397. package/dist/utils/zod-to-json-schema/parsers/array.cjs +5 -6
  1398. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
  1399. package/dist/utils/zod-to-json-schema/parsers/array.d.cts +0 -1
  1400. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
  1401. package/dist/utils/zod-to-json-schema/parsers/array.d.ts +0 -3
  1402. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  1403. package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
  1404. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
  1405. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +2 -3
  1406. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  1407. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +0 -1
  1408. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
  1409. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +0 -3
  1410. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  1411. package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
  1412. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  1413. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
  1414. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
  1415. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
  1416. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
  1417. package/dist/utils/zod-to-json-schema/parsers/boolean.js +1 -1
  1418. package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -1
  1419. package/dist/utils/zod-to-json-schema/parsers/branded.cjs +2 -3
  1420. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
  1421. package/dist/utils/zod-to-json-schema/parsers/branded.d.cts +1 -0
  1422. package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +1 -3
  1423. package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
  1424. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
  1425. package/dist/utils/zod-to-json-schema/parsers/catch.cjs +2 -3
  1426. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
  1427. package/dist/utils/zod-to-json-schema/parsers/catch.d.cts +1 -0
  1428. package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +1 -3
  1429. package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
  1430. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
  1431. package/dist/utils/zod-to-json-schema/parsers/date.cjs +2 -3
  1432. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  1433. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +0 -2
  1434. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
  1435. package/dist/utils/zod-to-json-schema/parsers/date.d.ts +0 -4
  1436. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  1437. package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
  1438. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  1439. package/dist/utils/zod-to-json-schema/parsers/default.cjs +2 -3
  1440. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
  1441. package/dist/utils/zod-to-json-schema/parsers/default.d.cts +1 -0
  1442. package/dist/utils/zod-to-json-schema/parsers/default.d.ts +1 -3
  1443. package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
  1444. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
  1445. package/dist/utils/zod-to-json-schema/parsers/effects.cjs +3 -4
  1446. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
  1447. package/dist/utils/zod-to-json-schema/parsers/effects.d.cts +1 -0
  1448. package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +1 -3
  1449. package/dist/utils/zod-to-json-schema/parsers/effects.js +1 -2
  1450. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
  1451. package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
  1452. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
  1453. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
  1454. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +0 -2
  1455. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  1456. package/dist/utils/zod-to-json-schema/parsers/enum.js +1 -1
  1457. package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -1
  1458. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +3 -4
  1459. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
  1460. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +0 -1
  1461. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
  1462. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +0 -3
  1463. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  1464. package/dist/utils/zod-to-json-schema/parsers/intersection.js +2 -3
  1465. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
  1466. package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
  1467. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
  1468. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -1
  1469. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
  1470. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +0 -3
  1471. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  1472. package/dist/utils/zod-to-json-schema/parsers/literal.js +1 -1
  1473. package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -1
  1474. package/dist/utils/zod-to-json-schema/parsers/map.cjs +21 -24
  1475. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
  1476. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +0 -2
  1477. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
  1478. package/dist/utils/zod-to-json-schema/parsers/map.d.ts +0 -4
  1479. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  1480. package/dist/utils/zod-to-json-schema/parsers/map.js +18 -21
  1481. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
  1482. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +3 -5
  1483. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  1484. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
  1485. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +0 -2
  1486. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  1487. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +3 -4
  1488. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  1489. package/dist/utils/zod-to-json-schema/parsers/never.cjs +2 -3
  1490. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
  1491. package/dist/utils/zod-to-json-schema/parsers/never.d.cts +0 -1
  1492. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
  1493. package/dist/utils/zod-to-json-schema/parsers/never.d.ts +0 -2
  1494. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  1495. package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
  1496. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
  1497. package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
  1498. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
  1499. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
  1500. package/dist/utils/zod-to-json-schema/parsers/null.d.ts +0 -2
  1501. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  1502. package/dist/utils/zod-to-json-schema/parsers/null.js +1 -1
  1503. package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -1
  1504. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +8 -9
  1505. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
  1506. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +0 -1
  1507. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
  1508. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +0 -3
  1509. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  1510. package/dist/utils/zod-to-json-schema/parsers/nullable.js +6 -7
  1511. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
  1512. package/dist/utils/zod-to-json-schema/parsers/number.cjs +2 -3
  1513. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  1514. package/dist/utils/zod-to-json-schema/parsers/number.d.cts +0 -1
  1515. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
  1516. package/dist/utils/zod-to-json-schema/parsers/number.d.ts +0 -3
  1517. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  1518. package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
  1519. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  1520. package/dist/utils/zod-to-json-schema/parsers/object.cjs +2 -3
  1521. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
  1522. package/dist/utils/zod-to-json-schema/parsers/object.d.cts +0 -1
  1523. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
  1524. package/dist/utils/zod-to-json-schema/parsers/object.d.ts +0 -3
  1525. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  1526. package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
  1527. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
  1528. package/dist/utils/zod-to-json-schema/parsers/optional.cjs +3 -4
  1529. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
  1530. package/dist/utils/zod-to-json-schema/parsers/optional.d.cts +1 -0
  1531. package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +1 -3
  1532. package/dist/utils/zod-to-json-schema/parsers/optional.js +1 -2
  1533. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
  1534. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +4 -6
  1535. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  1536. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.cts +1 -0
  1537. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -4
  1538. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +3 -5
  1539. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  1540. package/dist/utils/zod-to-json-schema/parsers/promise.cjs +2 -3
  1541. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
  1542. package/dist/utils/zod-to-json-schema/parsers/promise.d.cts +1 -0
  1543. package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +1 -3
  1544. package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
  1545. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
  1546. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +2 -3
  1547. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
  1548. package/dist/utils/zod-to-json-schema/parsers/readonly.d.cts +1 -0
  1549. package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +1 -3
  1550. package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
  1551. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
  1552. package/dist/utils/zod-to-json-schema/parsers/record.cjs +9 -10
  1553. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
  1554. package/dist/utils/zod-to-json-schema/parsers/record.d.cts +0 -1
  1555. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
  1556. package/dist/utils/zod-to-json-schema/parsers/record.d.ts +0 -3
  1557. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  1558. package/dist/utils/zod-to-json-schema/parsers/record.js +3 -4
  1559. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
  1560. package/dist/utils/zod-to-json-schema/parsers/set.cjs +7 -9
  1561. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  1562. package/dist/utils/zod-to-json-schema/parsers/set.d.cts +0 -1
  1563. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
  1564. package/dist/utils/zod-to-json-schema/parsers/set.d.ts +0 -3
  1565. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  1566. package/dist/utils/zod-to-json-schema/parsers/set.js +5 -7
  1567. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  1568. package/dist/utils/zod-to-json-schema/parsers/string.cjs +28 -3
  1569. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  1570. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -2
  1571. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
  1572. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -4
  1573. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  1574. package/dist/utils/zod-to-json-schema/parsers/string.js +27 -2
  1575. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  1576. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +2 -3
  1577. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
  1578. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +0 -1
  1579. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
  1580. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +0 -3
  1581. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  1582. package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
  1583. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
  1584. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +2 -3
  1585. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
  1586. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +0 -1
  1587. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
  1588. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +0 -2
  1589. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  1590. package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
  1591. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
  1592. package/dist/utils/zod-to-json-schema/parsers/union.cjs +5 -9
  1593. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
  1594. package/dist/utils/zod-to-json-schema/parsers/union.d.cts +1 -2
  1595. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
  1596. package/dist/utils/zod-to-json-schema/parsers/union.d.ts +0 -3
  1597. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  1598. package/dist/utils/zod-to-json-schema/parsers/union.js +4 -8
  1599. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
  1600. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +2 -3
  1601. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
  1602. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +0 -1
  1603. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
  1604. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +0 -2
  1605. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  1606. package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
  1607. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
  1608. package/dist/utils/zod-to-json-schema/selectParser.cjs +34 -35
  1609. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
  1610. package/dist/utils/zod-to-json-schema/selectParser.d.cts +1 -0
  1611. package/dist/utils/zod-to-json-schema/selectParser.d.ts +0 -2
  1612. package/dist/utils/zod-to-json-schema/selectParser.js +2 -3
  1613. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
  1614. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +7 -8
  1615. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
  1616. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.cts +1 -0
  1617. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -3
  1618. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +4 -5
  1619. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  1620. package/dist/vectorstores.cjs +12 -14
  1621. package/dist/vectorstores.cjs.map +1 -1
  1622. package/dist/vectorstores.d.cts +0 -1
  1623. package/dist/vectorstores.d.cts.map +1 -1
  1624. package/dist/vectorstores.d.ts +0 -1
  1625. package/dist/vectorstores.d.ts.map +1 -1
  1626. package/dist/vectorstores.js +4 -7
  1627. package/dist/vectorstores.js.map +1 -1
  1628. package/document_loaders/base.cjs +1 -0
  1629. package/document_loaders/base.d.cts +1 -0
  1630. package/document_loaders/base.d.ts +1 -0
  1631. package/document_loaders/base.js +1 -0
  1632. package/document_loaders/langsmith.cjs +1 -0
  1633. package/document_loaders/langsmith.d.cts +1 -0
  1634. package/document_loaders/langsmith.d.ts +1 -0
  1635. package/document_loaders/langsmith.js +1 -0
  1636. package/documents.cjs +1 -0
  1637. package/documents.d.cts +1 -0
  1638. package/documents.d.ts +1 -0
  1639. package/documents.js +1 -0
  1640. package/embeddings.cjs +1 -0
  1641. package/embeddings.d.cts +1 -0
  1642. package/embeddings.d.ts +1 -0
  1643. package/embeddings.js +1 -0
  1644. package/errors.cjs +1 -0
  1645. package/errors.d.cts +1 -0
  1646. package/errors.d.ts +1 -0
  1647. package/errors.js +1 -0
  1648. package/example_selectors.cjs +1 -0
  1649. package/example_selectors.d.cts +1 -0
  1650. package/example_selectors.d.ts +1 -0
  1651. package/example_selectors.js +1 -0
  1652. package/indexing.cjs +1 -0
  1653. package/indexing.d.cts +1 -0
  1654. package/indexing.d.ts +1 -0
  1655. package/indexing.js +1 -0
  1656. package/language_models/base.cjs +1 -0
  1657. package/language_models/base.d.cts +1 -0
  1658. package/language_models/base.d.ts +1 -0
  1659. package/language_models/base.js +1 -0
  1660. package/language_models/chat_models.cjs +1 -0
  1661. package/language_models/chat_models.d.cts +1 -0
  1662. package/language_models/chat_models.d.ts +1 -0
  1663. package/language_models/chat_models.js +1 -0
  1664. package/language_models/compat.cjs +1 -0
  1665. package/language_models/compat.d.cts +1 -0
  1666. package/language_models/compat.d.ts +1 -0
  1667. package/language_models/compat.js +1 -0
  1668. package/language_models/event.cjs +1 -0
  1669. package/language_models/event.d.cts +1 -0
  1670. package/language_models/event.d.ts +1 -0
  1671. package/language_models/event.js +1 -0
  1672. package/language_models/llms.cjs +1 -0
  1673. package/language_models/llms.d.cts +1 -0
  1674. package/language_models/llms.d.ts +1 -0
  1675. package/language_models/llms.js +1 -0
  1676. package/language_models/openai_completions_stream.cjs +1 -0
  1677. package/language_models/openai_completions_stream.d.cts +1 -0
  1678. package/language_models/openai_completions_stream.d.ts +1 -0
  1679. package/language_models/openai_completions_stream.js +1 -0
  1680. package/language_models/profile.cjs +1 -0
  1681. package/language_models/profile.d.cts +1 -0
  1682. package/language_models/profile.d.ts +1 -0
  1683. package/language_models/profile.js +1 -0
  1684. package/language_models/stream.cjs +1 -0
  1685. package/language_models/stream.d.cts +1 -0
  1686. package/language_models/stream.d.ts +1 -0
  1687. package/language_models/stream.js +1 -0
  1688. package/language_models/structured_output.cjs +1 -0
  1689. package/language_models/structured_output.d.cts +1 -0
  1690. package/language_models/structured_output.d.ts +1 -0
  1691. package/language_models/structured_output.js +1 -0
  1692. package/load/serializable.cjs +1 -0
  1693. package/load/serializable.d.cts +1 -0
  1694. package/load/serializable.d.ts +1 -0
  1695. package/load/serializable.js +1 -0
  1696. package/load.cjs +1 -0
  1697. package/load.d.cts +1 -0
  1698. package/load.d.ts +1 -0
  1699. package/load.js +1 -0
  1700. package/memory.cjs +1 -0
  1701. package/memory.d.cts +1 -0
  1702. package/memory.d.ts +1 -0
  1703. package/memory.js +1 -0
  1704. package/messages/tool.cjs +1 -0
  1705. package/messages/tool.d.cts +1 -0
  1706. package/messages/tool.d.ts +1 -0
  1707. package/messages/tool.js +1 -0
  1708. package/messages.cjs +1 -0
  1709. package/messages.d.cts +1 -0
  1710. package/messages.d.ts +1 -0
  1711. package/messages.js +1 -0
  1712. package/output_parsers/openai_functions.cjs +1 -0
  1713. package/output_parsers/openai_functions.d.cts +1 -0
  1714. package/output_parsers/openai_functions.d.ts +1 -0
  1715. package/output_parsers/openai_functions.js +1 -0
  1716. package/output_parsers/openai_tools.cjs +1 -0
  1717. package/output_parsers/openai_tools.d.cts +1 -0
  1718. package/output_parsers/openai_tools.d.ts +1 -0
  1719. package/output_parsers/openai_tools.js +1 -0
  1720. package/output_parsers.cjs +1 -0
  1721. package/output_parsers.d.cts +1 -0
  1722. package/output_parsers.d.ts +1 -0
  1723. package/output_parsers.js +1 -0
  1724. package/outputs.cjs +1 -0
  1725. package/outputs.d.cts +1 -0
  1726. package/outputs.d.ts +1 -0
  1727. package/outputs.js +1 -0
  1728. package/package.json +144 -27
  1729. package/prompt_values.cjs +1 -0
  1730. package/prompt_values.d.cts +1 -0
  1731. package/prompt_values.d.ts +1 -0
  1732. package/prompt_values.js +1 -0
  1733. package/prompts.cjs +1 -0
  1734. package/prompts.d.cts +1 -0
  1735. package/prompts.d.ts +1 -0
  1736. package/prompts.js +1 -0
  1737. package/retrievers/document_compressors.cjs +1 -0
  1738. package/retrievers/document_compressors.d.cts +1 -0
  1739. package/retrievers/document_compressors.d.ts +1 -0
  1740. package/retrievers/document_compressors.js +1 -0
  1741. package/retrievers.cjs +1 -0
  1742. package/retrievers.d.cts +1 -0
  1743. package/retrievers.d.ts +1 -0
  1744. package/retrievers.js +1 -0
  1745. package/runnables/graph.cjs +1 -0
  1746. package/runnables/graph.d.cts +1 -0
  1747. package/runnables/graph.d.ts +1 -0
  1748. package/runnables/graph.js +1 -0
  1749. package/runnables.cjs +1 -0
  1750. package/runnables.d.cts +1 -0
  1751. package/runnables.d.ts +1 -0
  1752. package/runnables.js +1 -0
  1753. package/singletons.cjs +1 -0
  1754. package/singletons.d.cts +1 -0
  1755. package/singletons.d.ts +1 -0
  1756. package/singletons.js +1 -0
  1757. package/stores.cjs +1 -0
  1758. package/stores.d.cts +1 -0
  1759. package/stores.d.ts +1 -0
  1760. package/stores.js +1 -0
  1761. package/structured_query.cjs +1 -0
  1762. package/structured_query.d.cts +1 -0
  1763. package/structured_query.d.ts +1 -0
  1764. package/structured_query.js +1 -0
  1765. package/testing.cjs +1 -0
  1766. package/testing.d.cts +1 -0
  1767. package/testing.d.ts +1 -0
  1768. package/testing.js +1 -0
  1769. package/tools.cjs +1 -0
  1770. package/tools.d.cts +1 -0
  1771. package/tools.d.ts +1 -0
  1772. package/tools.js +1 -0
  1773. package/tracers/base.cjs +1 -0
  1774. package/tracers/base.d.cts +1 -0
  1775. package/tracers/base.d.ts +1 -0
  1776. package/tracers/base.js +1 -0
  1777. package/tracers/console.cjs +1 -0
  1778. package/tracers/console.d.cts +1 -0
  1779. package/tracers/console.d.ts +1 -0
  1780. package/tracers/console.js +1 -0
  1781. package/tracers/log_stream.cjs +1 -0
  1782. package/tracers/log_stream.d.cts +1 -0
  1783. package/tracers/log_stream.d.ts +1 -0
  1784. package/tracers/log_stream.js +1 -0
  1785. package/tracers/run_collector.cjs +1 -0
  1786. package/tracers/run_collector.d.cts +1 -0
  1787. package/tracers/run_collector.d.ts +1 -0
  1788. package/tracers/run_collector.js +1 -0
  1789. package/tracers/tracer_langchain.cjs +1 -0
  1790. package/tracers/tracer_langchain.d.cts +1 -0
  1791. package/tracers/tracer_langchain.d.ts +1 -0
  1792. package/tracers/tracer_langchain.js +1 -0
  1793. package/types/stream.cjs +1 -0
  1794. package/types/stream.d.cts +1 -0
  1795. package/types/stream.d.ts +1 -0
  1796. package/types/stream.js +1 -0
  1797. package/utils/async_caller.cjs +1 -0
  1798. package/utils/async_caller.d.cts +1 -0
  1799. package/utils/async_caller.d.ts +1 -0
  1800. package/utils/async_caller.js +1 -0
  1801. package/utils/chunk_array.cjs +1 -0
  1802. package/utils/chunk_array.d.cts +1 -0
  1803. package/utils/chunk_array.d.ts +1 -0
  1804. package/utils/chunk_array.js +1 -0
  1805. package/utils/context.cjs +1 -0
  1806. package/utils/context.d.cts +1 -0
  1807. package/utils/context.d.ts +1 -0
  1808. package/utils/context.js +1 -0
  1809. package/utils/env.cjs +1 -0
  1810. package/utils/env.d.cts +1 -0
  1811. package/utils/env.d.ts +1 -0
  1812. package/utils/env.js +1 -0
  1813. package/utils/event_source_parse.cjs +1 -0
  1814. package/utils/event_source_parse.d.cts +1 -0
  1815. package/utils/event_source_parse.d.ts +1 -0
  1816. package/utils/event_source_parse.js +1 -0
  1817. package/utils/format.cjs +1 -0
  1818. package/utils/format.d.cts +1 -0
  1819. package/utils/format.d.ts +1 -0
  1820. package/utils/format.js +1 -0
  1821. package/utils/function_calling.cjs +1 -0
  1822. package/utils/function_calling.d.cts +1 -0
  1823. package/utils/function_calling.d.ts +1 -0
  1824. package/utils/function_calling.js +1 -0
  1825. package/utils/hash.cjs +1 -0
  1826. package/utils/hash.d.cts +1 -0
  1827. package/utils/hash.d.ts +1 -0
  1828. package/utils/hash.js +1 -0
  1829. package/utils/json_patch.cjs +1 -0
  1830. package/utils/json_patch.d.cts +1 -0
  1831. package/utils/json_patch.d.ts +1 -0
  1832. package/utils/json_patch.js +1 -0
  1833. package/utils/json_schema.cjs +1 -0
  1834. package/utils/json_schema.d.cts +1 -0
  1835. package/utils/json_schema.d.ts +1 -0
  1836. package/utils/json_schema.js +1 -0
  1837. package/utils/math.cjs +1 -0
  1838. package/utils/math.d.cts +1 -0
  1839. package/utils/math.d.ts +1 -0
  1840. package/utils/math.js +1 -0
  1841. package/utils/ssrf.cjs +1 -0
  1842. package/utils/ssrf.d.cts +1 -0
  1843. package/utils/ssrf.d.ts +1 -0
  1844. package/utils/ssrf.js +1 -0
  1845. package/utils/standard_schema.cjs +1 -0
  1846. package/utils/standard_schema.d.cts +1 -0
  1847. package/utils/standard_schema.d.ts +1 -0
  1848. package/utils/standard_schema.js +1 -0
  1849. package/utils/stream.cjs +1 -0
  1850. package/utils/stream.d.cts +1 -0
  1851. package/utils/stream.d.ts +1 -0
  1852. package/utils/stream.js +1 -0
  1853. package/utils/testing.cjs +1 -0
  1854. package/utils/testing.d.cts +1 -0
  1855. package/utils/testing.d.ts +1 -0
  1856. package/utils/testing.js +1 -0
  1857. package/utils/tiktoken.cjs +1 -0
  1858. package/utils/tiktoken.d.cts +1 -0
  1859. package/utils/tiktoken.d.ts +1 -0
  1860. package/utils/tiktoken.js +1 -0
  1861. package/utils/types.cjs +1 -0
  1862. package/utils/types.d.cts +1 -0
  1863. package/utils/types.d.ts +1 -0
  1864. package/utils/types.js +1 -0
  1865. package/utils/uuid.cjs +1 -0
  1866. package/utils/uuid.d.cts +1 -0
  1867. package/utils/uuid.d.ts +1 -0
  1868. package/utils/uuid.js +1 -0
  1869. package/vectorstores.cjs +1 -0
  1870. package/vectorstores.d.cts +1 -0
  1871. package/vectorstores.d.ts +1 -0
  1872. package/vectorstores.js +1 -0
  1873. package/dist/_virtual/rolldown_runtime.js +0 -11
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { __exportAll } from "./_virtual/_rolldown/runtime.js";
1
2
  //#region src/index.ts
2
- var src_exports = {};
3
-
3
+ var src_exports = /* @__PURE__ */ __exportAll({});
4
4
  //#endregion
5
5
  export { src_exports };
6
+
6
7
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,8 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_hash = require('../utils/js-sha256/hash.cjs');
3
- require('../utils/hash.cjs');
4
- const require_document = require('../documents/document.cjs');
5
- const require_record_manager = require('./record_manager.cjs');
6
- const uuid = require_rolldown_runtime.__toESM(require("uuid"));
7
-
1
+ const require_hash = require("../utils/js-sha256/hash.cjs");
2
+ require("../utils/hash.cjs");
3
+ const require_utils_uuid_index = require("../utils/uuid/index.cjs");
4
+ const require_document = require("../documents/document.cjs");
5
+ const require_record_manager = require("./record_manager.cjs");
8
6
  //#region src/indexing/base.ts
9
7
  /**
10
8
  * HashedDocument is a Document with hashes calculated.
@@ -61,13 +59,11 @@ var _HashedDocument = class {
61
59
  return doc;
62
60
  }
63
61
  _hashStringToUUID(inputString) {
64
- const hash_value = this.keyEncoder(inputString);
65
- return (0, uuid.v5)(hash_value, require_record_manager.UUIDV5_NAMESPACE);
62
+ return require_utils_uuid_index.v5(this.keyEncoder(inputString), require_record_manager.UUIDV5_NAMESPACE);
66
63
  }
67
64
  _hashNestedDictToUUID(data) {
68
65
  const serialized_data = JSON.stringify(data, Object.keys(data).sort());
69
- const hash_value = this.keyEncoder(serialized_data);
70
- return (0, uuid.v5)(hash_value, require_record_manager.UUIDV5_NAMESPACE);
66
+ return require_utils_uuid_index.v5(this.keyEncoder(serialized_data), require_record_manager.UUIDV5_NAMESPACE);
71
67
  }
72
68
  };
73
69
  function _batch(size, iterable) {
@@ -139,9 +135,8 @@ async function index(args) {
139
135
  for (const batch of batches) {
140
136
  const hashedDocs = _deduplicateInOrder(batch.map((doc) => _HashedDocument.fromDocument(doc)));
141
137
  const sourceIds = hashedDocs.map((doc) => sourceIdAssigner(doc));
142
- if (cleanup === "incremental") hashedDocs.forEach((_hashedDoc, index$1) => {
143
- const source = sourceIds[index$1];
144
- if (source === null) throw new Error("sourceIdKey must be provided when cleanup is incremental");
138
+ if (cleanup === "incremental") hashedDocs.forEach((_hashedDoc, index) => {
139
+ if (sourceIds[index] === null) throw new Error("sourceIdKey must be provided when cleanup is incremental");
145
140
  });
146
141
  const batchExists = await recordManager.exists(hashedDocs.map((doc) => doc.uid));
147
142
  const uids = [];
@@ -149,8 +144,7 @@ async function index(args) {
149
144
  const docsToUpdate = [];
150
145
  const seenDocs = /* @__PURE__ */ new Set();
151
146
  hashedDocs.forEach((hashedDoc, i) => {
152
- const docExists = batchExists[i];
153
- if (docExists) if (forceUpdate) seenDocs.add(hashedDoc.uid);
147
+ if (batchExists[i]) if (forceUpdate) seenDocs.add(hashedDoc.uid);
154
148
  else {
155
149
  docsToUpdate.push(hashedDoc.uid);
156
150
  return;
@@ -208,7 +202,6 @@ async function index(args) {
208
202
  numSkipped
209
203
  };
210
204
  }
211
-
212
205
  //#endregion
213
206
  exports._HashedDocument = _HashedDocument;
214
207
  exports._batch = _batch;
@@ -216,4 +209,5 @@ exports._deduplicateInOrder = _deduplicateInOrder;
216
209
  exports._getSourceIdAssigner = _getSourceIdAssigner;
217
210
  exports._isBaseDocumentLoader = _isBaseDocumentLoader;
218
211
  exports.index = index;
212
+
219
213
  //# sourceMappingURL=base.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.cjs","names":["sha256","fields: HashedDocumentArgs","keyEncoderFn: HashKeyEncoder","Document","document: DocumentInterface","uid?: string","inputString: string","UUIDV5_NAMESPACE","data: Record<string, unknown>","size: number","iterable: T[]","batches: T[][]","currentBatch: T[]","hashedDocuments: HashedDocumentInterface[]","deduplicated: HashedDocumentInterface[]","sourceIdKey: StringOrDocFunc | null","_doc: DocumentInterface","doc: DocumentInterface","arg: any","args: IndexArgs","index","uids: string[]","docsToIndex: DocumentInterface[]","docsToUpdate: string[]"],"sources":["../../src/indexing/base.ts"],"sourcesContent":["import { v5 as uuidv5 } from \"uuid\";\nimport { VectorStore } from \"../vectorstores.js\";\nimport { RecordManagerInterface, UUIDV5_NAMESPACE } from \"./record_manager.js\";\nimport { sha256, type HashKeyEncoder } from \"../utils/hash.js\";\nimport { DocumentInterface, Document } from \"../documents/document.js\";\nimport { BaseDocumentLoader } from \"../document_loaders/base.js\";\n\ntype Metadata = Record<string, unknown>;\n\ntype IndexingResult = {\n numAdded: number;\n numDeleted: number;\n numUpdated: number;\n numSkipped: number;\n};\n\ntype StringOrDocFunc = string | ((doc: DocumentInterface) => string);\n\nexport interface HashedDocumentInterface extends DocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n}\n\ninterface HashedDocumentArgs {\n pageContent: string;\n metadata: Metadata;\n uid: string;\n}\n\n/**\n * HashedDocument is a Document with hashes calculated.\n * Hashes are calculated based on page content and metadata.\n * It is used for indexing.\n */\nexport class _HashedDocument implements HashedDocumentInterface {\n uid: string;\n\n hash_?: string;\n\n contentHash?: string;\n\n metadataHash?: string;\n\n pageContent: string;\n\n metadata: Metadata;\n\n private keyEncoder: HashKeyEncoder = sha256;\n\n constructor(fields: HashedDocumentArgs) {\n this.uid = fields.uid;\n this.pageContent = fields.pageContent;\n this.metadata = fields.metadata;\n }\n\n makeDefaultKeyEncoder(keyEncoderFn: HashKeyEncoder): void {\n this.keyEncoder = keyEncoderFn;\n }\n\n calculateHashes(): void {\n const forbiddenKeys = [\"hash_\", \"content_hash\", \"metadata_hash\"];\n\n for (const key of forbiddenKeys) {\n if (key in this.metadata) {\n throw new Error(\n `Metadata cannot contain key ${key} as it is reserved for internal use. Restricted keys: [${forbiddenKeys.join(\n \", \"\n )}]`\n );\n }\n }\n\n const contentHash = this._hashStringToUUID(this.pageContent);\n\n try {\n const metadataHash = this._hashNestedDictToUUID(this.metadata);\n this.contentHash = contentHash;\n this.metadataHash = metadataHash;\n } catch (e) {\n throw new Error(\n `Failed to hash metadata: ${e}. Please use a dict that can be serialized using json.`\n );\n }\n\n this.hash_ = this._hashStringToUUID(this.contentHash + this.metadataHash);\n\n if (!this.uid) {\n this.uid = this.hash_;\n }\n }\n\n toDocument(): DocumentInterface {\n return new Document({\n pageContent: this.pageContent,\n metadata: this.metadata,\n });\n }\n\n static fromDocument(\n document: DocumentInterface,\n uid?: string\n ): _HashedDocument {\n const doc = new this({\n pageContent: document.pageContent,\n metadata: document.metadata,\n uid: uid || (document as DocumentInterface & { uid: string }).uid,\n });\n doc.calculateHashes();\n return doc;\n }\n\n private _hashStringToUUID(inputString: string): string {\n const hash_value = this.keyEncoder(inputString);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n\n private _hashNestedDictToUUID(data: Record<string, unknown>): string {\n const serialized_data = JSON.stringify(data, Object.keys(data).sort());\n const hash_value = this.keyEncoder(serialized_data);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n}\n\nexport type CleanupMode = \"full\" | \"incremental\";\n\nexport type IndexOptions = {\n /**\n * The number of documents to index in one batch.\n */\n batchSize?: number;\n /**\n * The cleanup mode to use. Can be \"full\", \"incremental\" or undefined.\n * - **Incremental**: Cleans up all documents that haven't been updated AND\n * that are associated with source ids that were seen\n * during indexing.\n * Clean up is done continuously during indexing helping\n * to minimize the probability of users seeing duplicated\n * content.\n * - **Full**: Delete all documents that haven to been returned by the loader.\n * Clean up runs after all documents have been indexed.\n * This means that users may see duplicated content during indexing.\n * - **undefined**: Do not delete any documents.\n */\n cleanup?: CleanupMode;\n /**\n * Optional key that helps identify the original source of the document.\n * Must either be a string representing the key of the source in the metadata\n * or a function that takes a document and returns a string representing the source.\n * **Required when cleanup is incremental**.\n */\n sourceIdKey?: StringOrDocFunc;\n /**\n * Batch size to use when cleaning up documents.\n */\n cleanupBatchSize?: number;\n /**\n * Force update documents even if they are present in the\n * record manager. Useful if you are re-indexing with updated embeddings.\n */\n forceUpdate?: boolean;\n};\n\nexport function _batch<T>(size: number, iterable: T[]): T[][] {\n const batches: T[][] = [];\n let currentBatch: T[] = [];\n\n iterable.forEach((item) => {\n currentBatch.push(item);\n\n if (currentBatch.length >= size) {\n batches.push(currentBatch);\n currentBatch = [];\n }\n });\n\n if (currentBatch.length > 0) {\n batches.push(currentBatch);\n }\n\n return batches;\n}\n\nexport function _deduplicateInOrder(\n hashedDocuments: HashedDocumentInterface[]\n): HashedDocumentInterface[] {\n const seen = new Set<string>();\n const deduplicated: HashedDocumentInterface[] = [];\n\n for (const hashedDoc of hashedDocuments) {\n if (!hashedDoc.hash_) {\n throw new Error(\"Hashed document does not have a hash\");\n }\n\n if (!seen.has(hashedDoc.hash_)) {\n seen.add(hashedDoc.hash_);\n deduplicated.push(hashedDoc);\n }\n }\n return deduplicated;\n}\n\nexport function _getSourceIdAssigner(\n sourceIdKey: StringOrDocFunc | null\n): (doc: DocumentInterface) => string | null {\n if (sourceIdKey === null) {\n return (_doc: DocumentInterface) => null;\n } else if (typeof sourceIdKey === \"string\") {\n return (doc: DocumentInterface) => doc.metadata[sourceIdKey];\n } else if (typeof sourceIdKey === \"function\") {\n return sourceIdKey;\n } else {\n throw new Error(\n `sourceIdKey should be null, a string or a function, got ${typeof sourceIdKey}`\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const _isBaseDocumentLoader = (arg: any): arg is BaseDocumentLoader => {\n if (\n \"load\" in arg &&\n typeof arg.load === \"function\" &&\n \"loadAndSplit\" in arg &&\n typeof arg.loadAndSplit === \"function\"\n ) {\n return true;\n }\n return false;\n};\n\ninterface IndexArgs {\n docsSource: BaseDocumentLoader | DocumentInterface[];\n recordManager: RecordManagerInterface;\n vectorStore: VectorStore;\n options?: IndexOptions;\n}\n\n/**\n * Index data from the doc source into the vector store.\n *\n * Indexing functionality uses a manager to keep track of which documents\n * are in the vector store.\n *\n * This allows us to keep track of which documents were updated, and which\n * documents were deleted, which documents should be skipped.\n *\n * For the time being, documents are indexed using their hashes, and users\n * are not able to specify the uid of the document.\n *\n * @param {IndexArgs} args\n * @param {BaseDocumentLoader | DocumentInterface[]} args.docsSource The source of documents to index. Can be a DocumentLoader or a list of Documents.\n * @param {RecordManagerInterface} args.recordManager The record manager to use for keeping track of indexed documents.\n * @param {VectorStore} args.vectorStore The vector store to use for storing the documents.\n * @param {IndexOptions | undefined} args.options Options for indexing.\n * @returns {Promise<IndexingResult>}\n */\nexport async function index(args: IndexArgs): Promise<IndexingResult> {\n const { docsSource, recordManager, vectorStore, options } = args;\n const {\n batchSize = 100,\n cleanup,\n sourceIdKey,\n cleanupBatchSize = 1000,\n forceUpdate = false,\n } = options ?? {};\n\n if (cleanup === \"incremental\" && !sourceIdKey) {\n throw new Error(\n \"sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.\"\n );\n }\n\n const docs = _isBaseDocumentLoader(docsSource)\n ? await docsSource.load()\n : docsSource;\n\n const sourceIdAssigner = _getSourceIdAssigner(sourceIdKey ?? null);\n\n const indexStartDt = await recordManager.getTime();\n let numAdded = 0;\n let numDeleted = 0;\n let numUpdated = 0;\n let numSkipped = 0;\n\n const batches = _batch<DocumentInterface>(batchSize ?? 100, docs);\n\n for (const batch of batches) {\n const hashedDocs = _deduplicateInOrder(\n batch.map((doc) => _HashedDocument.fromDocument(doc))\n );\n\n const sourceIds = hashedDocs.map((doc) => sourceIdAssigner(doc));\n\n if (cleanup === \"incremental\") {\n hashedDocs.forEach((_hashedDoc, index) => {\n const source = sourceIds[index];\n if (source === null) {\n throw new Error(\n \"sourceIdKey must be provided when cleanup is incremental\"\n );\n }\n });\n }\n\n const batchExists = await recordManager.exists(\n hashedDocs.map((doc) => doc.uid)\n );\n\n const uids: string[] = [];\n const docsToIndex: DocumentInterface[] = [];\n const docsToUpdate: string[] = [];\n const seenDocs = new Set<string>();\n hashedDocs.forEach((hashedDoc, i) => {\n const docExists = batchExists[i];\n if (docExists) {\n if (forceUpdate) {\n seenDocs.add(hashedDoc.uid);\n } else {\n docsToUpdate.push(hashedDoc.uid);\n return;\n }\n }\n uids.push(hashedDoc.uid);\n docsToIndex.push(hashedDoc.toDocument());\n });\n\n if (docsToUpdate.length > 0) {\n await recordManager.update(docsToUpdate, { timeAtLeast: indexStartDt });\n numSkipped += docsToUpdate.length;\n }\n\n if (docsToIndex.length > 0) {\n await vectorStore.addDocuments(docsToIndex, { ids: uids });\n numAdded += docsToIndex.length - seenDocs.size;\n numUpdated += seenDocs.size;\n }\n\n await recordManager.update(\n hashedDocs.map((doc) => doc.uid),\n { timeAtLeast: indexStartDt, groupIds: sourceIds }\n );\n\n if (cleanup === \"incremental\") {\n sourceIds.forEach((sourceId) => {\n if (!sourceId) throw new Error(\"Source id cannot be null\");\n });\n const uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n groupIds: sourceIds,\n });\n\n if (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n }\n }\n }\n\n if (cleanup === \"full\") {\n let uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n while (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n }\n }\n\n return {\n numAdded,\n numDeleted,\n numUpdated,\n numSkipped,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"base.cjs","names":["sha256","Document","uuidv5","UUIDV5_NAMESPACE"],"sources":["../../src/indexing/base.ts"],"sourcesContent":["import { v5 as uuidv5 } from \"../utils/uuid/index.js\";\nimport { VectorStore } from \"../vectorstores.js\";\nimport { RecordManagerInterface, UUIDV5_NAMESPACE } from \"./record_manager.js\";\nimport { sha256, type HashKeyEncoder } from \"../utils/hash.js\";\nimport { DocumentInterface, Document } from \"../documents/document.js\";\nimport { BaseDocumentLoader } from \"../document_loaders/base.js\";\n\ntype Metadata = Record<string, unknown>;\n\ntype IndexingResult = {\n numAdded: number;\n numDeleted: number;\n numUpdated: number;\n numSkipped: number;\n};\n\ntype StringOrDocFunc = string | ((doc: DocumentInterface) => string);\n\nexport interface HashedDocumentInterface extends DocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n}\n\ninterface HashedDocumentArgs {\n pageContent: string;\n metadata: Metadata;\n uid: string;\n}\n\n/**\n * HashedDocument is a Document with hashes calculated.\n * Hashes are calculated based on page content and metadata.\n * It is used for indexing.\n */\nexport class _HashedDocument implements HashedDocumentInterface {\n uid: string;\n\n hash_?: string;\n\n contentHash?: string;\n\n metadataHash?: string;\n\n pageContent: string;\n\n metadata: Metadata;\n\n private keyEncoder: HashKeyEncoder = sha256;\n\n constructor(fields: HashedDocumentArgs) {\n this.uid = fields.uid;\n this.pageContent = fields.pageContent;\n this.metadata = fields.metadata;\n }\n\n makeDefaultKeyEncoder(keyEncoderFn: HashKeyEncoder): void {\n this.keyEncoder = keyEncoderFn;\n }\n\n calculateHashes(): void {\n const forbiddenKeys = [\"hash_\", \"content_hash\", \"metadata_hash\"];\n\n for (const key of forbiddenKeys) {\n if (key in this.metadata) {\n throw new Error(\n `Metadata cannot contain key ${key} as it is reserved for internal use. Restricted keys: [${forbiddenKeys.join(\n \", \"\n )}]`\n );\n }\n }\n\n const contentHash = this._hashStringToUUID(this.pageContent);\n\n try {\n const metadataHash = this._hashNestedDictToUUID(this.metadata);\n this.contentHash = contentHash;\n this.metadataHash = metadataHash;\n } catch (e) {\n throw new Error(\n `Failed to hash metadata: ${e}. Please use a dict that can be serialized using json.`\n );\n }\n\n this.hash_ = this._hashStringToUUID(this.contentHash + this.metadataHash);\n\n if (!this.uid) {\n this.uid = this.hash_;\n }\n }\n\n toDocument(): DocumentInterface {\n return new Document({\n pageContent: this.pageContent,\n metadata: this.metadata,\n });\n }\n\n static fromDocument(\n document: DocumentInterface,\n uid?: string\n ): _HashedDocument {\n const doc = new this({\n pageContent: document.pageContent,\n metadata: document.metadata,\n uid: uid || (document as DocumentInterface & { uid: string }).uid,\n });\n doc.calculateHashes();\n return doc;\n }\n\n private _hashStringToUUID(inputString: string): string {\n const hash_value = this.keyEncoder(inputString);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n\n private _hashNestedDictToUUID(data: Record<string, unknown>): string {\n const serialized_data = JSON.stringify(data, Object.keys(data).sort());\n const hash_value = this.keyEncoder(serialized_data);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n}\n\nexport type CleanupMode = \"full\" | \"incremental\";\n\nexport type IndexOptions = {\n /**\n * The number of documents to index in one batch.\n */\n batchSize?: number;\n /**\n * The cleanup mode to use. Can be \"full\", \"incremental\" or undefined.\n * - **Incremental**: Cleans up all documents that haven't been updated AND\n * that are associated with source ids that were seen\n * during indexing.\n * Clean up is done continuously during indexing helping\n * to minimize the probability of users seeing duplicated\n * content.\n * - **Full**: Delete all documents that haven to been returned by the loader.\n * Clean up runs after all documents have been indexed.\n * This means that users may see duplicated content during indexing.\n * - **undefined**: Do not delete any documents.\n */\n cleanup?: CleanupMode;\n /**\n * Optional key that helps identify the original source of the document.\n * Must either be a string representing the key of the source in the metadata\n * or a function that takes a document and returns a string representing the source.\n * **Required when cleanup is incremental**.\n */\n sourceIdKey?: StringOrDocFunc;\n /**\n * Batch size to use when cleaning up documents.\n */\n cleanupBatchSize?: number;\n /**\n * Force update documents even if they are present in the\n * record manager. Useful if you are re-indexing with updated embeddings.\n */\n forceUpdate?: boolean;\n};\n\nexport function _batch<T>(size: number, iterable: T[]): T[][] {\n const batches: T[][] = [];\n let currentBatch: T[] = [];\n\n iterable.forEach((item) => {\n currentBatch.push(item);\n\n if (currentBatch.length >= size) {\n batches.push(currentBatch);\n currentBatch = [];\n }\n });\n\n if (currentBatch.length > 0) {\n batches.push(currentBatch);\n }\n\n return batches;\n}\n\nexport function _deduplicateInOrder(\n hashedDocuments: HashedDocumentInterface[]\n): HashedDocumentInterface[] {\n const seen = new Set<string>();\n const deduplicated: HashedDocumentInterface[] = [];\n\n for (const hashedDoc of hashedDocuments) {\n if (!hashedDoc.hash_) {\n throw new Error(\"Hashed document does not have a hash\");\n }\n\n if (!seen.has(hashedDoc.hash_)) {\n seen.add(hashedDoc.hash_);\n deduplicated.push(hashedDoc);\n }\n }\n return deduplicated;\n}\n\nexport function _getSourceIdAssigner(\n sourceIdKey: StringOrDocFunc | null\n): (doc: DocumentInterface) => string | null {\n if (sourceIdKey === null) {\n return (_doc: DocumentInterface) => null;\n } else if (typeof sourceIdKey === \"string\") {\n return (doc: DocumentInterface) => doc.metadata[sourceIdKey];\n } else if (typeof sourceIdKey === \"function\") {\n return sourceIdKey;\n } else {\n throw new Error(\n `sourceIdKey should be null, a string or a function, got ${typeof sourceIdKey}`\n );\n }\n}\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport const _isBaseDocumentLoader = (arg: any): arg is BaseDocumentLoader => {\n if (\n \"load\" in arg &&\n typeof arg.load === \"function\" &&\n \"loadAndSplit\" in arg &&\n typeof arg.loadAndSplit === \"function\"\n ) {\n return true;\n }\n return false;\n};\n\ninterface IndexArgs {\n docsSource: BaseDocumentLoader | DocumentInterface[];\n recordManager: RecordManagerInterface;\n vectorStore: VectorStore;\n options?: IndexOptions;\n}\n\n/**\n * Index data from the doc source into the vector store.\n *\n * Indexing functionality uses a manager to keep track of which documents\n * are in the vector store.\n *\n * This allows us to keep track of which documents were updated, and which\n * documents were deleted, which documents should be skipped.\n *\n * For the time being, documents are indexed using their hashes, and users\n * are not able to specify the uid of the document.\n *\n * @param {IndexArgs} args\n * @param {BaseDocumentLoader | DocumentInterface[]} args.docsSource The source of documents to index. Can be a DocumentLoader or a list of Documents.\n * @param {RecordManagerInterface} args.recordManager The record manager to use for keeping track of indexed documents.\n * @param {VectorStore} args.vectorStore The vector store to use for storing the documents.\n * @param {IndexOptions | undefined} args.options Options for indexing.\n * @returns {Promise<IndexingResult>}\n */\nexport async function index(args: IndexArgs): Promise<IndexingResult> {\n const { docsSource, recordManager, vectorStore, options } = args;\n const {\n batchSize = 100,\n cleanup,\n sourceIdKey,\n cleanupBatchSize = 1000,\n forceUpdate = false,\n } = options ?? {};\n\n if (cleanup === \"incremental\" && !sourceIdKey) {\n throw new Error(\n \"sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.\"\n );\n }\n\n const docs = _isBaseDocumentLoader(docsSource)\n ? await docsSource.load()\n : docsSource;\n\n const sourceIdAssigner = _getSourceIdAssigner(sourceIdKey ?? null);\n\n const indexStartDt = await recordManager.getTime();\n let numAdded = 0;\n let numDeleted = 0;\n let numUpdated = 0;\n let numSkipped = 0;\n\n const batches = _batch<DocumentInterface>(batchSize ?? 100, docs);\n\n for (const batch of batches) {\n const hashedDocs = _deduplicateInOrder(\n batch.map((doc) => _HashedDocument.fromDocument(doc))\n );\n\n const sourceIds = hashedDocs.map((doc) => sourceIdAssigner(doc));\n\n if (cleanup === \"incremental\") {\n hashedDocs.forEach((_hashedDoc, index) => {\n const source = sourceIds[index];\n if (source === null) {\n throw new Error(\n \"sourceIdKey must be provided when cleanup is incremental\"\n );\n }\n });\n }\n\n const batchExists = await recordManager.exists(\n hashedDocs.map((doc) => doc.uid)\n );\n\n const uids: string[] = [];\n const docsToIndex: DocumentInterface[] = [];\n const docsToUpdate: string[] = [];\n const seenDocs = new Set<string>();\n hashedDocs.forEach((hashedDoc, i) => {\n const docExists = batchExists[i];\n if (docExists) {\n if (forceUpdate) {\n seenDocs.add(hashedDoc.uid);\n } else {\n docsToUpdate.push(hashedDoc.uid);\n return;\n }\n }\n uids.push(hashedDoc.uid);\n docsToIndex.push(hashedDoc.toDocument());\n });\n\n if (docsToUpdate.length > 0) {\n await recordManager.update(docsToUpdate, { timeAtLeast: indexStartDt });\n numSkipped += docsToUpdate.length;\n }\n\n if (docsToIndex.length > 0) {\n await vectorStore.addDocuments(docsToIndex, { ids: uids });\n numAdded += docsToIndex.length - seenDocs.size;\n numUpdated += seenDocs.size;\n }\n\n await recordManager.update(\n hashedDocs.map((doc) => doc.uid),\n { timeAtLeast: indexStartDt, groupIds: sourceIds }\n );\n\n if (cleanup === \"incremental\") {\n sourceIds.forEach((sourceId) => {\n if (!sourceId) throw new Error(\"Source id cannot be null\");\n });\n const uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n groupIds: sourceIds,\n });\n\n if (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n }\n }\n }\n\n if (cleanup === \"full\") {\n let uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n while (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n }\n }\n\n return {\n numAdded,\n numDeleted,\n numUpdated,\n numSkipped,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.cts","names":["VectorStore","RecordManagerInterface","HashKeyEncoder","DocumentInterface","BaseDocumentLoader","Metadata","Record","IndexingResult","StringOrDocFunc","HashedDocumentInterface","HashedDocumentArgs","_HashedDocument","CleanupMode","IndexOptions","_batch","T","_deduplicateInOrder","_getSourceIdAssigner","_isBaseDocumentLoader","IndexArgs","index","Promise"],"sources":["../../src/indexing/base.d.ts"],"sourcesContent":["import { VectorStore } from \"../vectorstores.js\";\nimport { RecordManagerInterface } from \"./record_manager.js\";\nimport { type HashKeyEncoder } from \"../utils/hash.js\";\nimport { DocumentInterface } from \"../documents/document.js\";\nimport { BaseDocumentLoader } from \"../document_loaders/base.js\";\ntype Metadata = Record<string, unknown>;\ntype IndexingResult = {\n numAdded: number;\n numDeleted: number;\n numUpdated: number;\n numSkipped: number;\n};\ntype StringOrDocFunc = string | ((doc: DocumentInterface) => string);\nexport interface HashedDocumentInterface extends DocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n}\ninterface HashedDocumentArgs {\n pageContent: string;\n metadata: Metadata;\n uid: string;\n}\n/**\n * HashedDocument is a Document with hashes calculated.\n * Hashes are calculated based on page content and metadata.\n * It is used for indexing.\n */\nexport declare class _HashedDocument implements HashedDocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n private keyEncoder;\n constructor(fields: HashedDocumentArgs);\n makeDefaultKeyEncoder(keyEncoderFn: HashKeyEncoder): void;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n static fromDocument(document: DocumentInterface, uid?: string): _HashedDocument;\n private _hashStringToUUID;\n private _hashNestedDictToUUID;\n}\nexport type CleanupMode = \"full\" | \"incremental\";\nexport type IndexOptions = {\n /**\n * The number of documents to index in one batch.\n */\n batchSize?: number;\n /**\n * The cleanup mode to use. Can be \"full\", \"incremental\" or undefined.\n * - **Incremental**: Cleans up all documents that haven't been updated AND\n * that are associated with source ids that were seen\n * during indexing.\n * Clean up is done continuously during indexing helping\n * to minimize the probability of users seeing duplicated\n * content.\n * - **Full**: Delete all documents that haven to been returned by the loader.\n * Clean up runs after all documents have been indexed.\n * This means that users may see duplicated content during indexing.\n * - **undefined**: Do not delete any documents.\n */\n cleanup?: CleanupMode;\n /**\n * Optional key that helps identify the original source of the document.\n * Must either be a string representing the key of the source in the metadata\n * or a function that takes a document and returns a string representing the source.\n * **Required when cleanup is incremental**.\n */\n sourceIdKey?: StringOrDocFunc;\n /**\n * Batch size to use when cleaning up documents.\n */\n cleanupBatchSize?: number;\n /**\n * Force update documents even if they are present in the\n * record manager. Useful if you are re-indexing with updated embeddings.\n */\n forceUpdate?: boolean;\n};\nexport declare function _batch<T>(size: number, iterable: T[]): T[][];\nexport declare function _deduplicateInOrder(hashedDocuments: HashedDocumentInterface[]): HashedDocumentInterface[];\nexport declare function _getSourceIdAssigner(sourceIdKey: StringOrDocFunc | null): (doc: DocumentInterface) => string | null;\nexport declare const _isBaseDocumentLoader: (arg: any) => arg is BaseDocumentLoader;\ninterface IndexArgs {\n docsSource: BaseDocumentLoader | DocumentInterface[];\n recordManager: RecordManagerInterface;\n vectorStore: VectorStore;\n options?: IndexOptions;\n}\n/**\n * Index data from the doc source into the vector store.\n *\n * Indexing functionality uses a manager to keep track of which documents\n * are in the vector store.\n *\n * This allows us to keep track of which documents were updated, and which\n * documents were deleted, which documents should be skipped.\n *\n * For the time being, documents are indexed using their hashes, and users\n * are not able to specify the uid of the document.\n *\n * @param {IndexArgs} args\n * @param {BaseDocumentLoader | DocumentInterface[]} args.docsSource The source of documents to index. Can be a DocumentLoader or a list of Documents.\n * @param {RecordManagerInterface} args.recordManager The record manager to use for keeping track of indexed documents.\n * @param {VectorStore} args.vectorStore The vector store to use for storing the documents.\n * @param {IndexOptions | undefined} args.options Options for indexing.\n * @returns {Promise<IndexingResult>}\n */\nexport declare function index(args: IndexArgs): Promise<IndexingResult>;\nexport {};\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;KAKKK,QAAAA,GAAWC;KACXC,cAAAA;EADAF,QAAAA,EAAAA,MAAQ;EACRE,UAAAA,EAAAA,MAAc;EAMdC,UAAAA,EAAAA,MAAe;EACHC,UAAAA,EAAAA,MAAAA;CAMHJ;KAPTG,eAAAA,GASaL,MAAAA,GAAAA,CAAAA,CAAAA,GAAAA,EATqBA,iBASrBA,EAAAA,GAAAA,MAAAA,CAAAA;AAR+BA,UAAhCM,uBAAAA,SAAgCN,iBAAAA,CAAAA;EAAiB,GAAA,EAAA,MAAA;EAUxDO,KAAAA,CAAAA,EAAAA,MAAAA;EAUWC,WAAAA,CAAAA,EAAAA,MAAe;EAMtBN,YAAAA,CAAAA,EAAAA,MAAAA;EAEUK,WAAAA,EAAAA,MAAAA;EACgBR,QAAAA,EAvB1BG,QAuB0BH;EAEtBC,eAAAA,EAAAA,EAAAA,IAAAA;EACgBA,UAAAA,EAAAA,EAxBhBA,iBAwBgBA;;UAtBxBO,kBAAAA,CAUsCD;EAAuB,WAAA,EAAA,MAAA;EAgB3DG,QAAAA,EAxBEP,QAwBS;EACXQ,GAAAA,EAAAA,MAAAA;AAoCZ;AACA;AACA;AACA;AAAoF;;AAE/CV,cA1DhBQ,eAAAA,YAA2BF,uBA0DXN,CAAAA;EAClBF,GAAAA,EAAAA,MAAAA;EACFD,KAAAA,CAAAA,EAAAA,MAAAA;EACHa,WAAAA,CAAAA,EAAAA,MAAAA;EAAY,YAAA,CAAA,EAAA,MAAA;EAqBFO,WAAK,EAAA,MAAA;EAAOD,QAAAA,EA5EtBd,QA4EsBc;EAAoBZ,QAAAA,UAAAA;EAARc,WAAAA,CAAAA,MAAAA,EA1ExBX,kBA0EwBW;EAAO,qBAAA,CAAA,YAAA,EAzEfnB,cAyEe,CAAA,EAAA,IAAA;;gBAvErCC;gCACgBA,kCAAkCQ;;;;KAIxDC,WAAAA;KACAC,YAAAA;;;;;;;;;;;;;;;;;;YAkBED;;;;;;;gBAOIJ;;;;;;;;;;;iBAWMM,kCAAkCC,MAAMA;iBACxCC,mBAAAA,kBAAqCP,4BAA4BA;iBACjEQ,oBAAAA,cAAkCT,+BAA+BL;cACpEe,4CAA4Cd;UACvDe,SAAAA;cACMf,qBAAqBD;iBAClBF;eACFD;YACHa;;;;;;;;;;;;;;;;;;;;;iBAqBUO,KAAAA,OAAYD,YAAYE,QAAQd"}
1
+ {"version":3,"file":"base.d.cts","names":[],"sources":["../../src/indexing/base.ts"],"mappings":";;;;;;;KAOK,QAAA,GAAW,MAAA;AAAA,KAEX,cAAA;EACH,QAAA;EACA,UAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAGG,eAAA,cAA6B,GAAA,EAAK,iBAAA;AAAA,UAEtB,uBAAA,SAAgC,iBAAA;EAC/C,GAAA;EACA,KAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,QAAA,EAAU,QAAA;EACV,eAAA;EACA,UAAA,IAAc,iBAAA;AAAA;AAAA,UAGN,kBAAA;EACR,WAAA;EACA,QAAA,EAAU,QAAA;EACV,GAAA;AAAA;;;;;;cAQW,eAAA,YAA2B,uBAAA;EACtC,GAAA;EAEA,KAAA;EAEA,WAAA;EAEA,YAAA;EAEA,WAAA;EAEA,QAAA,EAAU,QAAA;EAAA,QAEF,UAAA;EAER,WAAA,CAAY,MAAA,EAAQ,kBAAA;EAMpB,qBAAA,CAAsB,YAAA,EAAc,cAAA;EAIpC,eAAA,CAAA;EAgCA,UAAA,CAAA,GAAc,iBAAA;EAAA,OAOP,YAAA,CACL,QAAA,EAAU,iBAAA,EACV,GAAA,YACC,eAAA;EAAA,QAUK,iBAAA;EAAA,QAKA,qBAAA;AAAA;AAAA,KAOE,WAAA;AAAA,KAEA,YAAA;EApGQ;;;EAwGlB,SAAA;EAvGA;;;AAQF;;;;;;;;;;EA6GE,OAAA,GAAU,WAAA;EA7GmD;;;;;;EAoH7D,WAAA,GAAc,eAAA;EAzGd;;;EA6GA,gBAAA;EAzGoB;;;;EA8GpB,WAAA;AAAA;AAAA,iBAGc,MAAA,GAAA,CAAU,IAAA,UAAc,QAAA,EAAU,CAAA,KAAM,CAAA;AAAA,iBAoBxC,mBAAA,CACd,eAAA,EAAiB,uBAAA,KAChB,uBAAA;AAAA,iBAiBa,oBAAA,CACd,WAAA,EAAa,eAAA,WACX,GAAA,EAAK,iBAAA;AAAA,cAeI,qBAAA,GAAqB,GAAA,UAAe,GAAA,IAAO,kBAAA;AAAA,UAY9C,SAAA;EACR,UAAA,EAAY,kBAAA,GAAqB,iBAAA;EACjC,aAAA,EAAe,sBAAA;EACf,WAAA,EAAa,WAAA;EACb,OAAA,GAAU,YAAA;AAAA;;AA/GZ;;;;;AAEA;;;;;;;;;;;;;iBAmIsB,KAAA,CAAM,IAAA,EAAM,SAAA,GAAY,OAAA,CAAQ,cAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","names":["VectorStore","RecordManagerInterface","HashKeyEncoder","DocumentInterface","BaseDocumentLoader","Metadata","Record","IndexingResult","StringOrDocFunc","HashedDocumentInterface","HashedDocumentArgs","_HashedDocument","CleanupMode","IndexOptions","_batch","T","_deduplicateInOrder","_getSourceIdAssigner","_isBaseDocumentLoader","IndexArgs","index","Promise"],"sources":["../../src/indexing/base.d.ts"],"sourcesContent":["import { VectorStore } from \"../vectorstores.js\";\nimport { RecordManagerInterface } from \"./record_manager.js\";\nimport { type HashKeyEncoder } from \"../utils/hash.js\";\nimport { DocumentInterface } from \"../documents/document.js\";\nimport { BaseDocumentLoader } from \"../document_loaders/base.js\";\ntype Metadata = Record<string, unknown>;\ntype IndexingResult = {\n numAdded: number;\n numDeleted: number;\n numUpdated: number;\n numSkipped: number;\n};\ntype StringOrDocFunc = string | ((doc: DocumentInterface) => string);\nexport interface HashedDocumentInterface extends DocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n}\ninterface HashedDocumentArgs {\n pageContent: string;\n metadata: Metadata;\n uid: string;\n}\n/**\n * HashedDocument is a Document with hashes calculated.\n * Hashes are calculated based on page content and metadata.\n * It is used for indexing.\n */\nexport declare class _HashedDocument implements HashedDocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n private keyEncoder;\n constructor(fields: HashedDocumentArgs);\n makeDefaultKeyEncoder(keyEncoderFn: HashKeyEncoder): void;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n static fromDocument(document: DocumentInterface, uid?: string): _HashedDocument;\n private _hashStringToUUID;\n private _hashNestedDictToUUID;\n}\nexport type CleanupMode = \"full\" | \"incremental\";\nexport type IndexOptions = {\n /**\n * The number of documents to index in one batch.\n */\n batchSize?: number;\n /**\n * The cleanup mode to use. Can be \"full\", \"incremental\" or undefined.\n * - **Incremental**: Cleans up all documents that haven't been updated AND\n * that are associated with source ids that were seen\n * during indexing.\n * Clean up is done continuously during indexing helping\n * to minimize the probability of users seeing duplicated\n * content.\n * - **Full**: Delete all documents that haven to been returned by the loader.\n * Clean up runs after all documents have been indexed.\n * This means that users may see duplicated content during indexing.\n * - **undefined**: Do not delete any documents.\n */\n cleanup?: CleanupMode;\n /**\n * Optional key that helps identify the original source of the document.\n * Must either be a string representing the key of the source in the metadata\n * or a function that takes a document and returns a string representing the source.\n * **Required when cleanup is incremental**.\n */\n sourceIdKey?: StringOrDocFunc;\n /**\n * Batch size to use when cleaning up documents.\n */\n cleanupBatchSize?: number;\n /**\n * Force update documents even if they are present in the\n * record manager. Useful if you are re-indexing with updated embeddings.\n */\n forceUpdate?: boolean;\n};\nexport declare function _batch<T>(size: number, iterable: T[]): T[][];\nexport declare function _deduplicateInOrder(hashedDocuments: HashedDocumentInterface[]): HashedDocumentInterface[];\nexport declare function _getSourceIdAssigner(sourceIdKey: StringOrDocFunc | null): (doc: DocumentInterface) => string | null;\nexport declare const _isBaseDocumentLoader: (arg: any) => arg is BaseDocumentLoader;\ninterface IndexArgs {\n docsSource: BaseDocumentLoader | DocumentInterface[];\n recordManager: RecordManagerInterface;\n vectorStore: VectorStore;\n options?: IndexOptions;\n}\n/**\n * Index data from the doc source into the vector store.\n *\n * Indexing functionality uses a manager to keep track of which documents\n * are in the vector store.\n *\n * This allows us to keep track of which documents were updated, and which\n * documents were deleted, which documents should be skipped.\n *\n * For the time being, documents are indexed using their hashes, and users\n * are not able to specify the uid of the document.\n *\n * @param {IndexArgs} args\n * @param {BaseDocumentLoader | DocumentInterface[]} args.docsSource The source of documents to index. Can be a DocumentLoader or a list of Documents.\n * @param {RecordManagerInterface} args.recordManager The record manager to use for keeping track of indexed documents.\n * @param {VectorStore} args.vectorStore The vector store to use for storing the documents.\n * @param {IndexOptions | undefined} args.options Options for indexing.\n * @returns {Promise<IndexingResult>}\n */\nexport declare function index(args: IndexArgs): Promise<IndexingResult>;\nexport {};\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;KAKKK,QAAAA,GAAWC;KACXC,cAAAA;EADAF,QAAAA,EAAAA,MAAQ;EACRE,UAAAA,EAAAA,MAAc;EAMdC,UAAAA,EAAAA,MAAe;EACHC,UAAAA,EAAAA,MAAAA;CAMHJ;KAPTG,eAAAA,GASaL,MAAAA,GAAAA,CAAAA,CAAAA,GAAAA,EATqBA,iBASrBA,EAAAA,GAAAA,MAAAA,CAAAA;AAR+BA,UAAhCM,uBAAAA,SAAgCN,iBAAAA,CAAAA;EAAiB,GAAA,EAAA,MAAA;EAUxDO,KAAAA,CAAAA,EAAAA,MAAAA;EAUWC,WAAAA,CAAAA,EAAAA,MAAe;EAMtBN,YAAAA,CAAAA,EAAAA,MAAAA;EAEUK,WAAAA,EAAAA,MAAAA;EACgBR,QAAAA,EAvB1BG,QAuB0BH;EAEtBC,eAAAA,EAAAA,EAAAA,IAAAA;EACgBA,UAAAA,EAAAA,EAxBhBA,iBAwBgBA;;UAtBxBO,kBAAAA,CAUsCD;EAAuB,WAAA,EAAA,MAAA;EAgB3DG,QAAAA,EAxBEP,QAwBS;EACXQ,GAAAA,EAAAA,MAAAA;AAoCZ;AACA;AACA;AACA;AAAoF;;AAE/CV,cA1DhBQ,eAAAA,YAA2BF,uBA0DXN,CAAAA;EAClBF,GAAAA,EAAAA,MAAAA;EACFD,KAAAA,CAAAA,EAAAA,MAAAA;EACHa,WAAAA,CAAAA,EAAAA,MAAAA;EAAY,YAAA,CAAA,EAAA,MAAA;EAqBFO,WAAK,EAAA,MAAA;EAAOD,QAAAA,EA5EtBd,QA4EsBc;EAAoBZ,QAAAA,UAAAA;EAARc,WAAAA,CAAAA,MAAAA,EA1ExBX,kBA0EwBW;EAAO,qBAAA,CAAA,YAAA,EAzEfnB,cAyEe,CAAA,EAAA,IAAA;;gBAvErCC;gCACgBA,kCAAkCQ;;;;KAIxDC,WAAAA;KACAC,YAAAA;;;;;;;;;;;;;;;;;;YAkBED;;;;;;;gBAOIJ;;;;;;;;;;;iBAWMM,kCAAkCC,MAAMA;iBACxCC,mBAAAA,kBAAqCP,4BAA4BA;iBACjEQ,oBAAAA,cAAkCT,+BAA+BL;cACpEe,4CAA4Cd;UACvDe,SAAAA;cACMf,qBAAqBD;iBAClBF;eACFD;YACHa;;;;;;;;;;;;;;;;;;;;;iBAqBUO,KAAAA,OAAYD,YAAYE,QAAQd"}
1
+ {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/indexing/base.ts"],"mappings":";;;;;;;KAOK,QAAA,GAAW,MAAA;AAAA,KAEX,cAAA;EACH,QAAA;EACA,UAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAGG,eAAA,cAA6B,GAAA,EAAK,iBAAA;AAAA,UAEtB,uBAAA,SAAgC,iBAAA;EAC/C,GAAA;EACA,KAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,QAAA,EAAU,QAAA;EACV,eAAA;EACA,UAAA,IAAc,iBAAA;AAAA;AAAA,UAGN,kBAAA;EACR,WAAA;EACA,QAAA,EAAU,QAAA;EACV,GAAA;AAAA;;;;;;cAQW,eAAA,YAA2B,uBAAA;EACtC,GAAA;EAEA,KAAA;EAEA,WAAA;EAEA,YAAA;EAEA,WAAA;EAEA,QAAA,EAAU,QAAA;EAAA,QAEF,UAAA;EAER,WAAA,CAAY,MAAA,EAAQ,kBAAA;EAMpB,qBAAA,CAAsB,YAAA,EAAc,cAAA;EAIpC,eAAA,CAAA;EAgCA,UAAA,CAAA,GAAc,iBAAA;EAAA,OAOP,YAAA,CACL,QAAA,EAAU,iBAAA,EACV,GAAA,YACC,eAAA;EAAA,QAUK,iBAAA;EAAA,QAKA,qBAAA;AAAA;AAAA,KAOE,WAAA;AAAA,KAEA,YAAA;EApGQ;;;EAwGlB,SAAA;EAvGA;;;AAQF;;;;;;;;;;EA6GE,OAAA,GAAU,WAAA;EA7GmD;;;;;;EAoH7D,WAAA,GAAc,eAAA;EAzGd;;;EA6GA,gBAAA;EAzGoB;;;;EA8GpB,WAAA;AAAA;AAAA,iBAGc,MAAA,GAAA,CAAU,IAAA,UAAc,QAAA,EAAU,CAAA,KAAM,CAAA;AAAA,iBAoBxC,mBAAA,CACd,eAAA,EAAiB,uBAAA,KAChB,uBAAA;AAAA,iBAiBa,oBAAA,CACd,WAAA,EAAa,eAAA,WACX,GAAA,EAAK,iBAAA;AAAA,cAeI,qBAAA,GAAqB,GAAA,UAAe,GAAA,IAAO,kBAAA;AAAA,UAY9C,SAAA;EACR,UAAA,EAAY,kBAAA,GAAqB,iBAAA;EACjC,aAAA,EAAe,sBAAA;EACf,WAAA,EAAa,WAAA;EACb,OAAA,GAAU,YAAA;AAAA;;AA/GZ;;;;;AAEA;;;;;;;;;;;;;iBAmIsB,KAAA,CAAM,IAAA,EAAM,SAAA,GAAY,OAAA,CAAQ,cAAA"}
@@ -1,9 +1,8 @@
1
1
  import { sha256 } from "../utils/js-sha256/hash.js";
2
2
  import "../utils/hash.js";
3
+ import { v5 } from "../utils/uuid/index.js";
3
4
  import { Document } from "../documents/document.js";
4
5
  import { UUIDV5_NAMESPACE } from "./record_manager.js";
5
- import { v5 } from "uuid";
6
-
7
6
  //#region src/indexing/base.ts
8
7
  /**
9
8
  * HashedDocument is a Document with hashes calculated.
@@ -60,13 +59,11 @@ var _HashedDocument = class {
60
59
  return doc;
61
60
  }
62
61
  _hashStringToUUID(inputString) {
63
- const hash_value = this.keyEncoder(inputString);
64
- return v5(hash_value, UUIDV5_NAMESPACE);
62
+ return v5(this.keyEncoder(inputString), UUIDV5_NAMESPACE);
65
63
  }
66
64
  _hashNestedDictToUUID(data) {
67
65
  const serialized_data = JSON.stringify(data, Object.keys(data).sort());
68
- const hash_value = this.keyEncoder(serialized_data);
69
- return v5(hash_value, UUIDV5_NAMESPACE);
66
+ return v5(this.keyEncoder(serialized_data), UUIDV5_NAMESPACE);
70
67
  }
71
68
  };
72
69
  function _batch(size, iterable) {
@@ -138,9 +135,8 @@ async function index(args) {
138
135
  for (const batch of batches) {
139
136
  const hashedDocs = _deduplicateInOrder(batch.map((doc) => _HashedDocument.fromDocument(doc)));
140
137
  const sourceIds = hashedDocs.map((doc) => sourceIdAssigner(doc));
141
- if (cleanup === "incremental") hashedDocs.forEach((_hashedDoc, index$1) => {
142
- const source = sourceIds[index$1];
143
- if (source === null) throw new Error("sourceIdKey must be provided when cleanup is incremental");
138
+ if (cleanup === "incremental") hashedDocs.forEach((_hashedDoc, index) => {
139
+ if (sourceIds[index] === null) throw new Error("sourceIdKey must be provided when cleanup is incremental");
144
140
  });
145
141
  const batchExists = await recordManager.exists(hashedDocs.map((doc) => doc.uid));
146
142
  const uids = [];
@@ -148,8 +144,7 @@ async function index(args) {
148
144
  const docsToUpdate = [];
149
145
  const seenDocs = /* @__PURE__ */ new Set();
150
146
  hashedDocs.forEach((hashedDoc, i) => {
151
- const docExists = batchExists[i];
152
- if (docExists) if (forceUpdate) seenDocs.add(hashedDoc.uid);
147
+ if (batchExists[i]) if (forceUpdate) seenDocs.add(hashedDoc.uid);
153
148
  else {
154
149
  docsToUpdate.push(hashedDoc.uid);
155
150
  return;
@@ -207,7 +202,7 @@ async function index(args) {
207
202
  numSkipped
208
203
  };
209
204
  }
210
-
211
205
  //#endregion
212
206
  export { _HashedDocument, _batch, _deduplicateInOrder, _getSourceIdAssigner, _isBaseDocumentLoader, index };
207
+
213
208
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":["fields: HashedDocumentArgs","keyEncoderFn: HashKeyEncoder","document: DocumentInterface","uid?: string","inputString: string","uuidv5","data: Record<string, unknown>","size: number","iterable: T[]","batches: T[][]","currentBatch: T[]","hashedDocuments: HashedDocumentInterface[]","deduplicated: HashedDocumentInterface[]","sourceIdKey: StringOrDocFunc | null","_doc: DocumentInterface","doc: DocumentInterface","arg: any","args: IndexArgs","index","uids: string[]","docsToIndex: DocumentInterface[]","docsToUpdate: string[]"],"sources":["../../src/indexing/base.ts"],"sourcesContent":["import { v5 as uuidv5 } from \"uuid\";\nimport { VectorStore } from \"../vectorstores.js\";\nimport { RecordManagerInterface, UUIDV5_NAMESPACE } from \"./record_manager.js\";\nimport { sha256, type HashKeyEncoder } from \"../utils/hash.js\";\nimport { DocumentInterface, Document } from \"../documents/document.js\";\nimport { BaseDocumentLoader } from \"../document_loaders/base.js\";\n\ntype Metadata = Record<string, unknown>;\n\ntype IndexingResult = {\n numAdded: number;\n numDeleted: number;\n numUpdated: number;\n numSkipped: number;\n};\n\ntype StringOrDocFunc = string | ((doc: DocumentInterface) => string);\n\nexport interface HashedDocumentInterface extends DocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n}\n\ninterface HashedDocumentArgs {\n pageContent: string;\n metadata: Metadata;\n uid: string;\n}\n\n/**\n * HashedDocument is a Document with hashes calculated.\n * Hashes are calculated based on page content and metadata.\n * It is used for indexing.\n */\nexport class _HashedDocument implements HashedDocumentInterface {\n uid: string;\n\n hash_?: string;\n\n contentHash?: string;\n\n metadataHash?: string;\n\n pageContent: string;\n\n metadata: Metadata;\n\n private keyEncoder: HashKeyEncoder = sha256;\n\n constructor(fields: HashedDocumentArgs) {\n this.uid = fields.uid;\n this.pageContent = fields.pageContent;\n this.metadata = fields.metadata;\n }\n\n makeDefaultKeyEncoder(keyEncoderFn: HashKeyEncoder): void {\n this.keyEncoder = keyEncoderFn;\n }\n\n calculateHashes(): void {\n const forbiddenKeys = [\"hash_\", \"content_hash\", \"metadata_hash\"];\n\n for (const key of forbiddenKeys) {\n if (key in this.metadata) {\n throw new Error(\n `Metadata cannot contain key ${key} as it is reserved for internal use. Restricted keys: [${forbiddenKeys.join(\n \", \"\n )}]`\n );\n }\n }\n\n const contentHash = this._hashStringToUUID(this.pageContent);\n\n try {\n const metadataHash = this._hashNestedDictToUUID(this.metadata);\n this.contentHash = contentHash;\n this.metadataHash = metadataHash;\n } catch (e) {\n throw new Error(\n `Failed to hash metadata: ${e}. Please use a dict that can be serialized using json.`\n );\n }\n\n this.hash_ = this._hashStringToUUID(this.contentHash + this.metadataHash);\n\n if (!this.uid) {\n this.uid = this.hash_;\n }\n }\n\n toDocument(): DocumentInterface {\n return new Document({\n pageContent: this.pageContent,\n metadata: this.metadata,\n });\n }\n\n static fromDocument(\n document: DocumentInterface,\n uid?: string\n ): _HashedDocument {\n const doc = new this({\n pageContent: document.pageContent,\n metadata: document.metadata,\n uid: uid || (document as DocumentInterface & { uid: string }).uid,\n });\n doc.calculateHashes();\n return doc;\n }\n\n private _hashStringToUUID(inputString: string): string {\n const hash_value = this.keyEncoder(inputString);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n\n private _hashNestedDictToUUID(data: Record<string, unknown>): string {\n const serialized_data = JSON.stringify(data, Object.keys(data).sort());\n const hash_value = this.keyEncoder(serialized_data);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n}\n\nexport type CleanupMode = \"full\" | \"incremental\";\n\nexport type IndexOptions = {\n /**\n * The number of documents to index in one batch.\n */\n batchSize?: number;\n /**\n * The cleanup mode to use. Can be \"full\", \"incremental\" or undefined.\n * - **Incremental**: Cleans up all documents that haven't been updated AND\n * that are associated with source ids that were seen\n * during indexing.\n * Clean up is done continuously during indexing helping\n * to minimize the probability of users seeing duplicated\n * content.\n * - **Full**: Delete all documents that haven to been returned by the loader.\n * Clean up runs after all documents have been indexed.\n * This means that users may see duplicated content during indexing.\n * - **undefined**: Do not delete any documents.\n */\n cleanup?: CleanupMode;\n /**\n * Optional key that helps identify the original source of the document.\n * Must either be a string representing the key of the source in the metadata\n * or a function that takes a document and returns a string representing the source.\n * **Required when cleanup is incremental**.\n */\n sourceIdKey?: StringOrDocFunc;\n /**\n * Batch size to use when cleaning up documents.\n */\n cleanupBatchSize?: number;\n /**\n * Force update documents even if they are present in the\n * record manager. Useful if you are re-indexing with updated embeddings.\n */\n forceUpdate?: boolean;\n};\n\nexport function _batch<T>(size: number, iterable: T[]): T[][] {\n const batches: T[][] = [];\n let currentBatch: T[] = [];\n\n iterable.forEach((item) => {\n currentBatch.push(item);\n\n if (currentBatch.length >= size) {\n batches.push(currentBatch);\n currentBatch = [];\n }\n });\n\n if (currentBatch.length > 0) {\n batches.push(currentBatch);\n }\n\n return batches;\n}\n\nexport function _deduplicateInOrder(\n hashedDocuments: HashedDocumentInterface[]\n): HashedDocumentInterface[] {\n const seen = new Set<string>();\n const deduplicated: HashedDocumentInterface[] = [];\n\n for (const hashedDoc of hashedDocuments) {\n if (!hashedDoc.hash_) {\n throw new Error(\"Hashed document does not have a hash\");\n }\n\n if (!seen.has(hashedDoc.hash_)) {\n seen.add(hashedDoc.hash_);\n deduplicated.push(hashedDoc);\n }\n }\n return deduplicated;\n}\n\nexport function _getSourceIdAssigner(\n sourceIdKey: StringOrDocFunc | null\n): (doc: DocumentInterface) => string | null {\n if (sourceIdKey === null) {\n return (_doc: DocumentInterface) => null;\n } else if (typeof sourceIdKey === \"string\") {\n return (doc: DocumentInterface) => doc.metadata[sourceIdKey];\n } else if (typeof sourceIdKey === \"function\") {\n return sourceIdKey;\n } else {\n throw new Error(\n `sourceIdKey should be null, a string or a function, got ${typeof sourceIdKey}`\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const _isBaseDocumentLoader = (arg: any): arg is BaseDocumentLoader => {\n if (\n \"load\" in arg &&\n typeof arg.load === \"function\" &&\n \"loadAndSplit\" in arg &&\n typeof arg.loadAndSplit === \"function\"\n ) {\n return true;\n }\n return false;\n};\n\ninterface IndexArgs {\n docsSource: BaseDocumentLoader | DocumentInterface[];\n recordManager: RecordManagerInterface;\n vectorStore: VectorStore;\n options?: IndexOptions;\n}\n\n/**\n * Index data from the doc source into the vector store.\n *\n * Indexing functionality uses a manager to keep track of which documents\n * are in the vector store.\n *\n * This allows us to keep track of which documents were updated, and which\n * documents were deleted, which documents should be skipped.\n *\n * For the time being, documents are indexed using their hashes, and users\n * are not able to specify the uid of the document.\n *\n * @param {IndexArgs} args\n * @param {BaseDocumentLoader | DocumentInterface[]} args.docsSource The source of documents to index. Can be a DocumentLoader or a list of Documents.\n * @param {RecordManagerInterface} args.recordManager The record manager to use for keeping track of indexed documents.\n * @param {VectorStore} args.vectorStore The vector store to use for storing the documents.\n * @param {IndexOptions | undefined} args.options Options for indexing.\n * @returns {Promise<IndexingResult>}\n */\nexport async function index(args: IndexArgs): Promise<IndexingResult> {\n const { docsSource, recordManager, vectorStore, options } = args;\n const {\n batchSize = 100,\n cleanup,\n sourceIdKey,\n cleanupBatchSize = 1000,\n forceUpdate = false,\n } = options ?? {};\n\n if (cleanup === \"incremental\" && !sourceIdKey) {\n throw new Error(\n \"sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.\"\n );\n }\n\n const docs = _isBaseDocumentLoader(docsSource)\n ? await docsSource.load()\n : docsSource;\n\n const sourceIdAssigner = _getSourceIdAssigner(sourceIdKey ?? null);\n\n const indexStartDt = await recordManager.getTime();\n let numAdded = 0;\n let numDeleted = 0;\n let numUpdated = 0;\n let numSkipped = 0;\n\n const batches = _batch<DocumentInterface>(batchSize ?? 100, docs);\n\n for (const batch of batches) {\n const hashedDocs = _deduplicateInOrder(\n batch.map((doc) => _HashedDocument.fromDocument(doc))\n );\n\n const sourceIds = hashedDocs.map((doc) => sourceIdAssigner(doc));\n\n if (cleanup === \"incremental\") {\n hashedDocs.forEach((_hashedDoc, index) => {\n const source = sourceIds[index];\n if (source === null) {\n throw new Error(\n \"sourceIdKey must be provided when cleanup is incremental\"\n );\n }\n });\n }\n\n const batchExists = await recordManager.exists(\n hashedDocs.map((doc) => doc.uid)\n );\n\n const uids: string[] = [];\n const docsToIndex: DocumentInterface[] = [];\n const docsToUpdate: string[] = [];\n const seenDocs = new Set<string>();\n hashedDocs.forEach((hashedDoc, i) => {\n const docExists = batchExists[i];\n if (docExists) {\n if (forceUpdate) {\n seenDocs.add(hashedDoc.uid);\n } else {\n docsToUpdate.push(hashedDoc.uid);\n return;\n }\n }\n uids.push(hashedDoc.uid);\n docsToIndex.push(hashedDoc.toDocument());\n });\n\n if (docsToUpdate.length > 0) {\n await recordManager.update(docsToUpdate, { timeAtLeast: indexStartDt });\n numSkipped += docsToUpdate.length;\n }\n\n if (docsToIndex.length > 0) {\n await vectorStore.addDocuments(docsToIndex, { ids: uids });\n numAdded += docsToIndex.length - seenDocs.size;\n numUpdated += seenDocs.size;\n }\n\n await recordManager.update(\n hashedDocs.map((doc) => doc.uid),\n { timeAtLeast: indexStartDt, groupIds: sourceIds }\n );\n\n if (cleanup === \"incremental\") {\n sourceIds.forEach((sourceId) => {\n if (!sourceId) throw new Error(\"Source id cannot be null\");\n });\n const uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n groupIds: sourceIds,\n });\n\n if (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n }\n }\n }\n\n if (cleanup === \"full\") {\n let uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n while (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n }\n }\n\n return {\n numAdded,\n numDeleted,\n numUpdated,\n numSkipped,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","names":["uuidv5"],"sources":["../../src/indexing/base.ts"],"sourcesContent":["import { v5 as uuidv5 } from \"../utils/uuid/index.js\";\nimport { VectorStore } from \"../vectorstores.js\";\nimport { RecordManagerInterface, UUIDV5_NAMESPACE } from \"./record_manager.js\";\nimport { sha256, type HashKeyEncoder } from \"../utils/hash.js\";\nimport { DocumentInterface, Document } from \"../documents/document.js\";\nimport { BaseDocumentLoader } from \"../document_loaders/base.js\";\n\ntype Metadata = Record<string, unknown>;\n\ntype IndexingResult = {\n numAdded: number;\n numDeleted: number;\n numUpdated: number;\n numSkipped: number;\n};\n\ntype StringOrDocFunc = string | ((doc: DocumentInterface) => string);\n\nexport interface HashedDocumentInterface extends DocumentInterface {\n uid: string;\n hash_?: string;\n contentHash?: string;\n metadataHash?: string;\n pageContent: string;\n metadata: Metadata;\n calculateHashes(): void;\n toDocument(): DocumentInterface;\n}\n\ninterface HashedDocumentArgs {\n pageContent: string;\n metadata: Metadata;\n uid: string;\n}\n\n/**\n * HashedDocument is a Document with hashes calculated.\n * Hashes are calculated based on page content and metadata.\n * It is used for indexing.\n */\nexport class _HashedDocument implements HashedDocumentInterface {\n uid: string;\n\n hash_?: string;\n\n contentHash?: string;\n\n metadataHash?: string;\n\n pageContent: string;\n\n metadata: Metadata;\n\n private keyEncoder: HashKeyEncoder = sha256;\n\n constructor(fields: HashedDocumentArgs) {\n this.uid = fields.uid;\n this.pageContent = fields.pageContent;\n this.metadata = fields.metadata;\n }\n\n makeDefaultKeyEncoder(keyEncoderFn: HashKeyEncoder): void {\n this.keyEncoder = keyEncoderFn;\n }\n\n calculateHashes(): void {\n const forbiddenKeys = [\"hash_\", \"content_hash\", \"metadata_hash\"];\n\n for (const key of forbiddenKeys) {\n if (key in this.metadata) {\n throw new Error(\n `Metadata cannot contain key ${key} as it is reserved for internal use. Restricted keys: [${forbiddenKeys.join(\n \", \"\n )}]`\n );\n }\n }\n\n const contentHash = this._hashStringToUUID(this.pageContent);\n\n try {\n const metadataHash = this._hashNestedDictToUUID(this.metadata);\n this.contentHash = contentHash;\n this.metadataHash = metadataHash;\n } catch (e) {\n throw new Error(\n `Failed to hash metadata: ${e}. Please use a dict that can be serialized using json.`\n );\n }\n\n this.hash_ = this._hashStringToUUID(this.contentHash + this.metadataHash);\n\n if (!this.uid) {\n this.uid = this.hash_;\n }\n }\n\n toDocument(): DocumentInterface {\n return new Document({\n pageContent: this.pageContent,\n metadata: this.metadata,\n });\n }\n\n static fromDocument(\n document: DocumentInterface,\n uid?: string\n ): _HashedDocument {\n const doc = new this({\n pageContent: document.pageContent,\n metadata: document.metadata,\n uid: uid || (document as DocumentInterface & { uid: string }).uid,\n });\n doc.calculateHashes();\n return doc;\n }\n\n private _hashStringToUUID(inputString: string): string {\n const hash_value = this.keyEncoder(inputString);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n\n private _hashNestedDictToUUID(data: Record<string, unknown>): string {\n const serialized_data = JSON.stringify(data, Object.keys(data).sort());\n const hash_value = this.keyEncoder(serialized_data);\n return uuidv5(hash_value, UUIDV5_NAMESPACE);\n }\n}\n\nexport type CleanupMode = \"full\" | \"incremental\";\n\nexport type IndexOptions = {\n /**\n * The number of documents to index in one batch.\n */\n batchSize?: number;\n /**\n * The cleanup mode to use. Can be \"full\", \"incremental\" or undefined.\n * - **Incremental**: Cleans up all documents that haven't been updated AND\n * that are associated with source ids that were seen\n * during indexing.\n * Clean up is done continuously during indexing helping\n * to minimize the probability of users seeing duplicated\n * content.\n * - **Full**: Delete all documents that haven to been returned by the loader.\n * Clean up runs after all documents have been indexed.\n * This means that users may see duplicated content during indexing.\n * - **undefined**: Do not delete any documents.\n */\n cleanup?: CleanupMode;\n /**\n * Optional key that helps identify the original source of the document.\n * Must either be a string representing the key of the source in the metadata\n * or a function that takes a document and returns a string representing the source.\n * **Required when cleanup is incremental**.\n */\n sourceIdKey?: StringOrDocFunc;\n /**\n * Batch size to use when cleaning up documents.\n */\n cleanupBatchSize?: number;\n /**\n * Force update documents even if they are present in the\n * record manager. Useful if you are re-indexing with updated embeddings.\n */\n forceUpdate?: boolean;\n};\n\nexport function _batch<T>(size: number, iterable: T[]): T[][] {\n const batches: T[][] = [];\n let currentBatch: T[] = [];\n\n iterable.forEach((item) => {\n currentBatch.push(item);\n\n if (currentBatch.length >= size) {\n batches.push(currentBatch);\n currentBatch = [];\n }\n });\n\n if (currentBatch.length > 0) {\n batches.push(currentBatch);\n }\n\n return batches;\n}\n\nexport function _deduplicateInOrder(\n hashedDocuments: HashedDocumentInterface[]\n): HashedDocumentInterface[] {\n const seen = new Set<string>();\n const deduplicated: HashedDocumentInterface[] = [];\n\n for (const hashedDoc of hashedDocuments) {\n if (!hashedDoc.hash_) {\n throw new Error(\"Hashed document does not have a hash\");\n }\n\n if (!seen.has(hashedDoc.hash_)) {\n seen.add(hashedDoc.hash_);\n deduplicated.push(hashedDoc);\n }\n }\n return deduplicated;\n}\n\nexport function _getSourceIdAssigner(\n sourceIdKey: StringOrDocFunc | null\n): (doc: DocumentInterface) => string | null {\n if (sourceIdKey === null) {\n return (_doc: DocumentInterface) => null;\n } else if (typeof sourceIdKey === \"string\") {\n return (doc: DocumentInterface) => doc.metadata[sourceIdKey];\n } else if (typeof sourceIdKey === \"function\") {\n return sourceIdKey;\n } else {\n throw new Error(\n `sourceIdKey should be null, a string or a function, got ${typeof sourceIdKey}`\n );\n }\n}\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nexport const _isBaseDocumentLoader = (arg: any): arg is BaseDocumentLoader => {\n if (\n \"load\" in arg &&\n typeof arg.load === \"function\" &&\n \"loadAndSplit\" in arg &&\n typeof arg.loadAndSplit === \"function\"\n ) {\n return true;\n }\n return false;\n};\n\ninterface IndexArgs {\n docsSource: BaseDocumentLoader | DocumentInterface[];\n recordManager: RecordManagerInterface;\n vectorStore: VectorStore;\n options?: IndexOptions;\n}\n\n/**\n * Index data from the doc source into the vector store.\n *\n * Indexing functionality uses a manager to keep track of which documents\n * are in the vector store.\n *\n * This allows us to keep track of which documents were updated, and which\n * documents were deleted, which documents should be skipped.\n *\n * For the time being, documents are indexed using their hashes, and users\n * are not able to specify the uid of the document.\n *\n * @param {IndexArgs} args\n * @param {BaseDocumentLoader | DocumentInterface[]} args.docsSource The source of documents to index. Can be a DocumentLoader or a list of Documents.\n * @param {RecordManagerInterface} args.recordManager The record manager to use for keeping track of indexed documents.\n * @param {VectorStore} args.vectorStore The vector store to use for storing the documents.\n * @param {IndexOptions | undefined} args.options Options for indexing.\n * @returns {Promise<IndexingResult>}\n */\nexport async function index(args: IndexArgs): Promise<IndexingResult> {\n const { docsSource, recordManager, vectorStore, options } = args;\n const {\n batchSize = 100,\n cleanup,\n sourceIdKey,\n cleanupBatchSize = 1000,\n forceUpdate = false,\n } = options ?? {};\n\n if (cleanup === \"incremental\" && !sourceIdKey) {\n throw new Error(\n \"sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.\"\n );\n }\n\n const docs = _isBaseDocumentLoader(docsSource)\n ? await docsSource.load()\n : docsSource;\n\n const sourceIdAssigner = _getSourceIdAssigner(sourceIdKey ?? null);\n\n const indexStartDt = await recordManager.getTime();\n let numAdded = 0;\n let numDeleted = 0;\n let numUpdated = 0;\n let numSkipped = 0;\n\n const batches = _batch<DocumentInterface>(batchSize ?? 100, docs);\n\n for (const batch of batches) {\n const hashedDocs = _deduplicateInOrder(\n batch.map((doc) => _HashedDocument.fromDocument(doc))\n );\n\n const sourceIds = hashedDocs.map((doc) => sourceIdAssigner(doc));\n\n if (cleanup === \"incremental\") {\n hashedDocs.forEach((_hashedDoc, index) => {\n const source = sourceIds[index];\n if (source === null) {\n throw new Error(\n \"sourceIdKey must be provided when cleanup is incremental\"\n );\n }\n });\n }\n\n const batchExists = await recordManager.exists(\n hashedDocs.map((doc) => doc.uid)\n );\n\n const uids: string[] = [];\n const docsToIndex: DocumentInterface[] = [];\n const docsToUpdate: string[] = [];\n const seenDocs = new Set<string>();\n hashedDocs.forEach((hashedDoc, i) => {\n const docExists = batchExists[i];\n if (docExists) {\n if (forceUpdate) {\n seenDocs.add(hashedDoc.uid);\n } else {\n docsToUpdate.push(hashedDoc.uid);\n return;\n }\n }\n uids.push(hashedDoc.uid);\n docsToIndex.push(hashedDoc.toDocument());\n });\n\n if (docsToUpdate.length > 0) {\n await recordManager.update(docsToUpdate, { timeAtLeast: indexStartDt });\n numSkipped += docsToUpdate.length;\n }\n\n if (docsToIndex.length > 0) {\n await vectorStore.addDocuments(docsToIndex, { ids: uids });\n numAdded += docsToIndex.length - seenDocs.size;\n numUpdated += seenDocs.size;\n }\n\n await recordManager.update(\n hashedDocs.map((doc) => doc.uid),\n { timeAtLeast: indexStartDt, groupIds: sourceIds }\n );\n\n if (cleanup === \"incremental\") {\n sourceIds.forEach((sourceId) => {\n if (!sourceId) throw new Error(\"Source id cannot be null\");\n });\n const uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n groupIds: sourceIds,\n });\n\n if (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n }\n }\n }\n\n if (cleanup === \"full\") {\n let uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n while (uidsToDelete.length > 0) {\n await vectorStore.delete({ ids: uidsToDelete });\n await recordManager.deleteKeys(uidsToDelete);\n numDeleted += uidsToDelete.length;\n uidsToDelete = await recordManager.listKeys({\n before: indexStartDt,\n limit: cleanupBatchSize,\n });\n }\n }\n\n return {\n numAdded,\n numDeleted,\n numUpdated,\n numSkipped,\n };\n}\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_record_manager = require('./record_manager.cjs');
3
- const require_base = require('./base.cjs');
4
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
+ const require_record_manager = require("./record_manager.cjs");
4
+ const require_base = require("./base.cjs");
5
5
  //#region src/indexing/index.ts
6
- var indexing_exports = {};
7
- require_rolldown_runtime.__export(indexing_exports, {
6
+ var indexing_exports = /* @__PURE__ */ require_runtime.__exportAll({
8
7
  RecordManager: () => require_record_manager.RecordManager,
9
8
  UUIDV5_NAMESPACE: () => require_record_manager.UUIDV5_NAMESPACE,
10
9
  _HashedDocument: () => require_base._HashedDocument,
@@ -14,7 +13,6 @@ require_rolldown_runtime.__export(indexing_exports, {
14
13
  _isBaseDocumentLoader: () => require_base._isBaseDocumentLoader,
15
14
  index: () => require_base.index
16
15
  });
17
-
18
16
  //#endregion
19
17
  exports.RecordManager = require_record_manager.RecordManager;
20
18
  exports.UUIDV5_NAMESPACE = require_record_manager.UUIDV5_NAMESPACE;
@@ -24,10 +22,11 @@ exports._deduplicateInOrder = require_base._deduplicateInOrder;
24
22
  exports._getSourceIdAssigner = require_base._getSourceIdAssigner;
25
23
  exports._isBaseDocumentLoader = require_base._isBaseDocumentLoader;
26
24
  exports.index = require_base.index;
27
- Object.defineProperty(exports, 'indexing_exports', {
28
- enumerable: true,
29
- get: function () {
30
- return indexing_exports;
31
- }
25
+ Object.defineProperty(exports, "indexing_exports", {
26
+ enumerable: true,
27
+ get: function() {
28
+ return indexing_exports;
29
+ }
32
30
  });
31
+
33
32
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,8 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { RecordManager, UUIDV5_NAMESPACE } from "./record_manager.js";
3
3
  import { _HashedDocument, _batch, _deduplicateInOrder, _getSourceIdAssigner, _isBaseDocumentLoader, index } from "./base.js";
4
-
5
4
  //#region src/indexing/index.ts
6
- var indexing_exports = {};
7
- __export(indexing_exports, {
5
+ var indexing_exports = /* @__PURE__ */ __exportAll({
8
6
  RecordManager: () => RecordManager,
9
7
  UUIDV5_NAMESPACE: () => UUIDV5_NAMESPACE,
10
8
  _HashedDocument: () => _HashedDocument,
@@ -14,7 +12,7 @@ __export(indexing_exports, {
14
12
  _isBaseDocumentLoader: () => _isBaseDocumentLoader,
15
13
  index: () => index
16
14
  });
17
-
18
15
  //#endregion
19
16
  export { RecordManager, UUIDV5_NAMESPACE, _HashedDocument, _batch, _deduplicateInOrder, _getSourceIdAssigner, _isBaseDocumentLoader, index, indexing_exports };
17
+
20
18
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,11 @@
1
- const require_load_serializable = require('../load/serializable.cjs');
2
-
1
+ const require_load_serializable = require("../load/serializable.cjs");
3
2
  //#region src/indexing/record_manager.ts
4
3
  const UUIDV5_NAMESPACE = "10f90ea3-90a4-4962-bf75-83a0f3c1c62a";
5
4
  var RecordManager = class extends require_load_serializable.Serializable {
6
5
  lc_namespace = ["langchain", "recordmanagers"];
7
6
  };
8
-
9
7
  //#endregion
10
8
  exports.RecordManager = RecordManager;
11
9
  exports.UUIDV5_NAMESPACE = UUIDV5_NAMESPACE;
10
+
12
11
  //# sourceMappingURL=record_manager.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"record_manager.cjs","names":["Serializable"],"sources":["../../src/indexing/record_manager.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\n\n// Arbitrary value, used for generating namespaced UUIDs.\nexport const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\n\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\n\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\n\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\n\nexport abstract class RecordManager\n extends Serializable\n implements RecordManagerInterface\n{\n lc_namespace = [\"langchain\", \"recordmanagers\"];\n\n abstract createSchema(): Promise<void>;\n\n abstract getTime(): Promise<number>;\n\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n\n abstract exists(keys: string[]): Promise<boolean[]>;\n\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n"],"mappings":";;;AAGA,MAAa,mBAAmB;AA0DhC,IAAsB,gBAAtB,cACUA,uCAEV;CACE,eAAe,CAAC,aAAa,gBAAiB;AAa/C"}
1
+ {"version":3,"file":"record_manager.cjs","names":["Serializable"],"sources":["../../src/indexing/record_manager.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\n\n// Arbitrary value, used for generating namespaced UUIDs.\nexport const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\n\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\n\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\n\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\n\nexport abstract class RecordManager\n extends Serializable\n implements RecordManagerInterface\n{\n lc_namespace = [\"langchain\", \"recordmanagers\"];\n\n abstract createSchema(): Promise<void>;\n\n abstract getTime(): Promise<number>;\n\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n\n abstract exists(keys: string[]): Promise<boolean[]>;\n\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n"],"mappings":";;AAGA,MAAa,mBAAmB;AA0DhC,IAAsB,gBAAtB,cACUA,0BAAAA,aAEV;CACE,eAAe,CAAC,aAAa,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"record_manager.d.cts","names":["Serializable","UUIDV5_NAMESPACE","UpdateOptions","ListKeyOptions","RecordManagerInterface","Promise","RecordManager"],"sources":["../../src/indexing/record_manager.d.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\nexport declare const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\nexport declare abstract class RecordManager extends Serializable implements RecordManagerInterface {\n lc_namespace: string[];\n abstract createSchema(): Promise<void>;\n abstract getTime(): Promise<number>;\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n abstract exists(keys: string[]): Promise<boolean[]>;\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n//# sourceMappingURL=record_manager.d.ts.map"],"mappings":";;;cACqBC,gBAAAA;KACTC,aAAAA;EADSD,QAAAA,CAAAA,EAAAA,CAAAA,MAAAA,GAAgB,IAAA,CAAA,EAAA;EACzBC,WAAAA,CAAAA,EAAAA,MAAa;AAIzB,CAAA;AAMiBE,KANLD,cAAAA,GAM2B;EAKnBE,MAAAA,CAAAA,EAAAA,MAAAA;EAKLA,KAAAA,CAAAA,EAAAA,MAAAA;EAU2BH,QAAAA,CAAAA,EAAAA,CAAAA,MAAAA,GAAAA,IAAAA,CAAAA,EAAAA;EAAgBG,KAAAA,CAAAA,EAAAA,MAAAA;CAM9BA;AAUNF,UApCLC,sBAAAA,CAoCKD;EAAiBE;;AAKA;AAEvC;EAE6BA,YAAAA,EAAAA,EAxCTA,OAwCSA,CAAAA,IAAAA,CAAAA;EACLA;;;;EAGQF,OAAAA,EAAAA,EAvCjBE,OAuCiBF,CAAAA,MAAAA,CAAAA;EAAiBE;;;;AANiD;;;;;wCAvBxDH,gBAAgBG;;;;;;0BAM9BA;;;;;;;;;;oBAUNF,iBAAiBE;;;;;8BAKPA;;uBAEFC,aAAAA,SAAsBN,YAAAA,YAAwBI;;2BAE/CC;sBACLA;kDAC4BH,gBAAgBG;mCAC/BA;8BACLF,iBAAiBE;uCACRA"}
1
+ {"version":3,"file":"record_manager.d.cts","names":[],"sources":["../../src/indexing/record_manager.ts"],"mappings":";;;cAGa,gBAAA;AAAA,KAED,aAAA;EACV,QAAA;EACA,WAAA;AAAA;AAAA,KAGU,cAAA;EACV,MAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;AAAA;AAAA,UAGe,sBAAA;EAPL;;;;EAYV,YAAA,IAAgB,OAAA;EAVhB;;;;EAeA,OAAA,IAAW,OAAA;EAVI;;;;;;;;;EAoBf,MAAA,CAAO,IAAA,YAAgB,aAAA,EAAe,aAAA,GAAgB,OAAA;EAqB1B;;;;;EAf5B,MAAA,CAAO,IAAA,aAAiB,OAAA;EAhBb;;;;;;;;;EA0BX,QAAA,CAAS,OAAA,EAAS,cAAA,GAAiB,OAAA;EAAjB;;;;EAKlB,UAAA,CAAW,IAAA,aAAiB,OAAA;AAAA;AAAA,uBAGR,aAAA,SACZ,YAAA,YACG,sBAAA;EAEX,YAAA;EAAA,SAES,YAAA,CAAA,GAAgB,OAAA;EAAA,SAEhB,OAAA,CAAA,GAAW,OAAA;EAAA,SAEX,MAAA,CAAO,IAAA,YAAgB,aAAA,GAAgB,aAAA,GAAgB,OAAA;EAAA,SAEvD,MAAA,CAAO,IAAA,aAAiB,OAAA;EAAA,SAExB,QAAA,CAAS,OAAA,GAAU,cAAA,GAAiB,OAAA;EAAA,SAEpC,UAAA,CAAW,IAAA,aAAiB,OAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"record_manager.d.ts","names":["Serializable","UUIDV5_NAMESPACE","UpdateOptions","ListKeyOptions","RecordManagerInterface","Promise","RecordManager"],"sources":["../../src/indexing/record_manager.d.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\nexport declare const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\nexport declare abstract class RecordManager extends Serializable implements RecordManagerInterface {\n lc_namespace: string[];\n abstract createSchema(): Promise<void>;\n abstract getTime(): Promise<number>;\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n abstract exists(keys: string[]): Promise<boolean[]>;\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n//# sourceMappingURL=record_manager.d.ts.map"],"mappings":";;;cACqBC,gBAAAA;KACTC,aAAAA;EADSD,QAAAA,CAAAA,EAAAA,CAAAA,MAAAA,GAAgB,IAAA,CAAA,EAAA;EACzBC,WAAAA,CAAAA,EAAAA,MAAa;AAIzB,CAAA;AAMiBE,KANLD,cAAAA,GAM2B;EAKnBE,MAAAA,CAAAA,EAAAA,MAAAA;EAKLA,KAAAA,CAAAA,EAAAA,MAAAA;EAU2BH,QAAAA,CAAAA,EAAAA,CAAAA,MAAAA,GAAAA,IAAAA,CAAAA,EAAAA;EAAgBG,KAAAA,CAAAA,EAAAA,MAAAA;CAM9BA;AAUNF,UApCLC,sBAAAA,CAoCKD;EAAiBE;;AAKA;AAEvC;EAE6BA,YAAAA,EAAAA,EAxCTA,OAwCSA,CAAAA,IAAAA,CAAAA;EACLA;;;;EAGQF,OAAAA,EAAAA,EAvCjBE,OAuCiBF,CAAAA,MAAAA,CAAAA;EAAiBE;;;;AANiD;;;;;wCAvBxDH,gBAAgBG;;;;;;0BAM9BA;;;;;;;;;;oBAUNF,iBAAiBE;;;;;8BAKPA;;uBAEFC,aAAAA,SAAsBN,YAAAA,YAAwBI;;2BAE/CC;sBACLA;kDAC4BH,gBAAgBG;mCAC/BA;8BACLF,iBAAiBE;uCACRA"}
1
+ {"version":3,"file":"record_manager.d.ts","names":[],"sources":["../../src/indexing/record_manager.ts"],"mappings":";;;cAGa,gBAAA;AAAA,KAED,aAAA;EACV,QAAA;EACA,WAAA;AAAA;AAAA,KAGU,cAAA;EACV,MAAA;EACA,KAAA;EACA,QAAA;EACA,KAAA;AAAA;AAAA,UAGe,sBAAA;EAPL;;;;EAYV,YAAA,IAAgB,OAAA;EAVhB;;;;EAeA,OAAA,IAAW,OAAA;EAVI;;;;;;;;;EAoBf,MAAA,CAAO,IAAA,YAAgB,aAAA,EAAe,aAAA,GAAgB,OAAA;EAqB1B;;;;;EAf5B,MAAA,CAAO,IAAA,aAAiB,OAAA;EAhBb;;;;;;;;;EA0BX,QAAA,CAAS,OAAA,EAAS,cAAA,GAAiB,OAAA;EAAjB;;;;EAKlB,UAAA,CAAW,IAAA,aAAiB,OAAA;AAAA;AAAA,uBAGR,aAAA,SACZ,YAAA,YACG,sBAAA;EAEX,YAAA;EAAA,SAES,YAAA,CAAA,GAAgB,OAAA;EAAA,SAEhB,OAAA,CAAA,GAAW,OAAA;EAAA,SAEX,MAAA,CAAO,IAAA,YAAgB,aAAA,GAAgB,aAAA,GAAgB,OAAA;EAAA,SAEvD,MAAA,CAAO,IAAA,aAAiB,OAAA;EAAA,SAExB,QAAA,CAAS,OAAA,GAAU,cAAA,GAAiB,OAAA;EAAA,SAEpC,UAAA,CAAW,IAAA,aAAiB,OAAA;AAAA"}
@@ -1,11 +1,10 @@
1
1
  import { Serializable } from "../load/serializable.js";
2
-
3
2
  //#region src/indexing/record_manager.ts
4
3
  const UUIDV5_NAMESPACE = "10f90ea3-90a4-4962-bf75-83a0f3c1c62a";
5
4
  var RecordManager = class extends Serializable {
6
5
  lc_namespace = ["langchain", "recordmanagers"];
7
6
  };
8
-
9
7
  //#endregion
10
8
  export { RecordManager, UUIDV5_NAMESPACE };
9
+
11
10
  //# sourceMappingURL=record_manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record_manager.js","names":[],"sources":["../../src/indexing/record_manager.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\n\n// Arbitrary value, used for generating namespaced UUIDs.\nexport const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\n\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\n\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\n\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\n\nexport abstract class RecordManager\n extends Serializable\n implements RecordManagerInterface\n{\n lc_namespace = [\"langchain\", \"recordmanagers\"];\n\n abstract createSchema(): Promise<void>;\n\n abstract getTime(): Promise<number>;\n\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n\n abstract exists(keys: string[]): Promise<boolean[]>;\n\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n"],"mappings":";;;AAGA,MAAa,mBAAmB;AA0DhC,IAAsB,gBAAtB,cACU,aAEV;CACE,eAAe,CAAC,aAAa,gBAAiB;AAa/C"}
1
+ {"version":3,"file":"record_manager.js","names":[],"sources":["../../src/indexing/record_manager.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\n\n// Arbitrary value, used for generating namespaced UUIDs.\nexport const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\n\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\n\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\n\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\n\nexport abstract class RecordManager\n extends Serializable\n implements RecordManagerInterface\n{\n lc_namespace = [\"langchain\", \"recordmanagers\"];\n\n abstract createSchema(): Promise<void>;\n\n abstract getTime(): Promise<number>;\n\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n\n abstract exists(keys: string[]): Promise<boolean[]>;\n\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n"],"mappings":";;AAGA,MAAa,mBAAmB;AA0DhC,IAAsB,gBAAtB,cACU,aAEV;CACE,eAAe,CAAC,aAAa,iBAAiB"}