@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
@@ -1 +1 @@
1
- {"version":3,"file":"map_keys.cjs","names":["key: string","map?: SerializedKeyAlias","fields: SerializedFields","mapper: typeof keyToJson","mapped: SerializedFields"],"sources":["../../src/load/map_keys.ts"],"sourcesContent":["import snakeCase from \"decamelize\";\nimport camelCase from \"camelcase\";\n\nexport interface SerializedFields {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface SerializedKeyAlias {\n [key: string]: string;\n}\n\nexport function keyToJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || snakeCase(key);\n}\n\nexport function keyFromJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || camelCase(key);\n}\n\nexport function mapKeys(\n fields: SerializedFields,\n mapper: typeof keyToJson,\n map?: SerializedKeyAlias\n): SerializedFields {\n const mapped: SerializedFields = {};\n\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n mapped[mapper(key, map)] = fields[key];\n }\n }\n\n return mapped;\n}\n"],"mappings":";;;;;AAYA,SAAgB,UAAUA,KAAaC,KAAkC;AACvE,QAAO,MAAM,gCAAkB,IAAI;AACpC;AAED,SAAgB,YAAYD,KAAaC,KAAkC;AACzE,QAAO,MAAM,+BAAkB,IAAI;AACpC;AAED,SAAgB,QACdC,QACAC,QACAF,KACkB;CAClB,MAAMG,SAA2B,CAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO,QAAQ,IAAI,EAC5B,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO;AAItC,QAAO;AACR"}
1
+ {"version":3,"file":"map_keys.cjs","names":[],"sources":["../../src/load/map_keys.ts"],"sourcesContent":["const UPPER_TO_WORD_BOUNDARY = /([A-Z]+)([A-Z][a-z0-9]+)/g;\nconst LOWER_TO_UPPER_BOUNDARY = /([a-z0-9])([A-Z])/g;\nconst SEPARATORS = /[-_\\s]+/g;\n\nfunction snakeCase(key: string): string {\n return key\n .replace(UPPER_TO_WORD_BOUNDARY, \"$1_$2\")\n .replace(LOWER_TO_UPPER_BOUNDARY, \"$1_$2\")\n .replace(SEPARATORS, \"_\")\n .toLowerCase();\n}\n\nfunction camelCase(key: string): string {\n const trimmed = key.trim();\n if (!/[-_\\s]/.test(trimmed)) {\n return trimmed;\n }\n return trimmed\n .replace(SEPARATORS, \"_\")\n .toLowerCase()\n .replace(/_+([a-z0-9])/g, (_, char: string) => char.toUpperCase());\n}\n\nexport interface SerializedFields {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface SerializedKeyAlias {\n [key: string]: string;\n}\n\nexport function keyToJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || snakeCase(key);\n}\n\nexport function keyFromJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || camelCase(key);\n}\n\nexport function mapKeys(\n fields: SerializedFields,\n mapper: typeof keyToJson,\n map?: SerializedKeyAlias\n): SerializedFields {\n const mapped: SerializedFields = {};\n\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n mapped[mapper(key, map)] = fields[key];\n }\n }\n\n return mapped;\n}\n"],"mappings":";AAAA,MAAM,yBAAyB;AAC/B,MAAM,0BAA0B;AAChC,MAAM,aAAa;AAEnB,SAAS,UAAU,KAAqB;AACtC,QAAO,IACJ,QAAQ,wBAAwB,QAAQ,CACxC,QAAQ,yBAAyB,QAAQ,CACzC,QAAQ,YAAY,IAAI,CACxB,aAAa;;AAGlB,SAAS,UAAU,KAAqB;CACtC,MAAM,UAAU,IAAI,MAAM;AAC1B,KAAI,CAAC,SAAS,KAAK,QAAQ,CACzB,QAAO;AAET,QAAO,QACJ,QAAQ,YAAY,IAAI,CACxB,aAAa,CACb,QAAQ,kBAAkB,GAAG,SAAiB,KAAK,aAAa,CAAC;;AAYtE,SAAgB,UAAU,KAAa,KAAkC;AACvE,QAAO,MAAM,QAAQ,UAAU,IAAI;;AAGrC,SAAgB,YAAY,KAAa,KAAkC;AACzE,QAAO,MAAM,QAAQ,UAAU,IAAI;;AAGrC,SAAgB,QACd,QACA,QACA,KACkB;CAClB,MAAM,SAA2B,EAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO,QAAQ,IAAI,CAC5B,QAAO,OAAO,KAAK,IAAI,IAAI,OAAO;AAItC,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"map_keys.d.cts","names":["SerializedFields","SerializedKeyAlias","keyToJson","keyFromJson","mapKeys"],"sources":["../../src/load/map_keys.d.ts"],"sourcesContent":["export interface SerializedFields {\n [key: string]: any;\n}\nexport interface SerializedKeyAlias {\n [key: string]: string;\n}\nexport declare function keyToJson(key: string, map?: SerializedKeyAlias): string;\nexport declare function keyFromJson(key: string, map?: SerializedKeyAlias): string;\nexport declare function mapKeys(fields: SerializedFields, mapper: typeof keyToJson, map?: SerializedKeyAlias): SerializedFields;\n//# sourceMappingURL=map_keys.d.ts.map"],"mappings":";UAAiBA,gBAAAA;EAAAA,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,GAAAA"}
1
+ {"version":3,"file":"map_keys.d.cts","names":[],"sources":["../../src/load/map_keys.ts"],"mappings":";UAuBiB,gBAAA;EAAA,CAEd,GAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"map_keys.d.ts","names":["SerializedFields","SerializedKeyAlias","keyToJson","keyFromJson","mapKeys"],"sources":["../../src/load/map_keys.d.ts"],"sourcesContent":["export interface SerializedFields {\n [key: string]: any;\n}\nexport interface SerializedKeyAlias {\n [key: string]: string;\n}\nexport declare function keyToJson(key: string, map?: SerializedKeyAlias): string;\nexport declare function keyFromJson(key: string, map?: SerializedKeyAlias): string;\nexport declare function mapKeys(fields: SerializedFields, mapper: typeof keyToJson, map?: SerializedKeyAlias): SerializedFields;\n//# sourceMappingURL=map_keys.d.ts.map"],"mappings":";UAAiBA,gBAAAA;EAAAA,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,GAAAA"}
1
+ {"version":3,"file":"map_keys.d.ts","names":[],"sources":["../../src/load/map_keys.ts"],"mappings":";UAuBiB,gBAAA;EAAA,CAEd,GAAA;AAAA"}
@@ -1,7 +1,15 @@
1
- import snakeCase from "decamelize";
2
- import camelCase from "camelcase";
3
-
4
1
  //#region src/load/map_keys.ts
2
+ const UPPER_TO_WORD_BOUNDARY = /([A-Z]+)([A-Z][a-z0-9]+)/g;
3
+ const LOWER_TO_UPPER_BOUNDARY = /([a-z0-9])([A-Z])/g;
4
+ const SEPARATORS = /[-_\s]+/g;
5
+ function snakeCase(key) {
6
+ return key.replace(UPPER_TO_WORD_BOUNDARY, "$1_$2").replace(LOWER_TO_UPPER_BOUNDARY, "$1_$2").replace(SEPARATORS, "_").toLowerCase();
7
+ }
8
+ function camelCase(key) {
9
+ const trimmed = key.trim();
10
+ if (!/[-_\s]/.test(trimmed)) return trimmed;
11
+ return trimmed.replace(SEPARATORS, "_").toLowerCase().replace(/_+([a-z0-9])/g, (_, char) => char.toUpperCase());
12
+ }
5
13
  function keyToJson(key, map) {
6
14
  return map?.[key] || snakeCase(key);
7
15
  }
@@ -13,7 +21,7 @@ function mapKeys(fields, mapper, map) {
13
21
  for (const key in fields) if (Object.hasOwn(fields, key)) mapped[mapper(key, map)] = fields[key];
14
22
  return mapped;
15
23
  }
16
-
17
24
  //#endregion
18
25
  export { keyFromJson, keyToJson, mapKeys };
26
+
19
27
  //# sourceMappingURL=map_keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map_keys.js","names":["key: string","map?: SerializedKeyAlias","fields: SerializedFields","mapper: typeof keyToJson","mapped: SerializedFields"],"sources":["../../src/load/map_keys.ts"],"sourcesContent":["import snakeCase from \"decamelize\";\nimport camelCase from \"camelcase\";\n\nexport interface SerializedFields {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface SerializedKeyAlias {\n [key: string]: string;\n}\n\nexport function keyToJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || snakeCase(key);\n}\n\nexport function keyFromJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || camelCase(key);\n}\n\nexport function mapKeys(\n fields: SerializedFields,\n mapper: typeof keyToJson,\n map?: SerializedKeyAlias\n): SerializedFields {\n const mapped: SerializedFields = {};\n\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n mapped[mapper(key, map)] = fields[key];\n }\n }\n\n return mapped;\n}\n"],"mappings":";;;;AAYA,SAAgB,UAAUA,KAAaC,KAAkC;AACvE,QAAO,MAAM,QAAQ,UAAU,IAAI;AACpC;AAED,SAAgB,YAAYD,KAAaC,KAAkC;AACzE,QAAO,MAAM,QAAQ,UAAU,IAAI;AACpC;AAED,SAAgB,QACdC,QACAC,QACAF,KACkB;CAClB,MAAMG,SAA2B,CAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO,QAAQ,IAAI,EAC5B,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO;AAItC,QAAO;AACR"}
1
+ {"version":3,"file":"map_keys.js","names":[],"sources":["../../src/load/map_keys.ts"],"sourcesContent":["const UPPER_TO_WORD_BOUNDARY = /([A-Z]+)([A-Z][a-z0-9]+)/g;\nconst LOWER_TO_UPPER_BOUNDARY = /([a-z0-9])([A-Z])/g;\nconst SEPARATORS = /[-_\\s]+/g;\n\nfunction snakeCase(key: string): string {\n return key\n .replace(UPPER_TO_WORD_BOUNDARY, \"$1_$2\")\n .replace(LOWER_TO_UPPER_BOUNDARY, \"$1_$2\")\n .replace(SEPARATORS, \"_\")\n .toLowerCase();\n}\n\nfunction camelCase(key: string): string {\n const trimmed = key.trim();\n if (!/[-_\\s]/.test(trimmed)) {\n return trimmed;\n }\n return trimmed\n .replace(SEPARATORS, \"_\")\n .toLowerCase()\n .replace(/_+([a-z0-9])/g, (_, char: string) => char.toUpperCase());\n}\n\nexport interface SerializedFields {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface SerializedKeyAlias {\n [key: string]: string;\n}\n\nexport function keyToJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || snakeCase(key);\n}\n\nexport function keyFromJson(key: string, map?: SerializedKeyAlias): string {\n return map?.[key] || camelCase(key);\n}\n\nexport function mapKeys(\n fields: SerializedFields,\n mapper: typeof keyToJson,\n map?: SerializedKeyAlias\n): SerializedFields {\n const mapped: SerializedFields = {};\n\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n mapped[mapper(key, map)] = fields[key];\n }\n }\n\n return mapped;\n}\n"],"mappings":";AAAA,MAAM,yBAAyB;AAC/B,MAAM,0BAA0B;AAChC,MAAM,aAAa;AAEnB,SAAS,UAAU,KAAqB;AACtC,QAAO,IACJ,QAAQ,wBAAwB,QAAQ,CACxC,QAAQ,yBAAyB,QAAQ,CACzC,QAAQ,YAAY,IAAI,CACxB,aAAa;;AAGlB,SAAS,UAAU,KAAqB;CACtC,MAAM,UAAU,IAAI,MAAM;AAC1B,KAAI,CAAC,SAAS,KAAK,QAAQ,CACzB,QAAO;AAET,QAAO,QACJ,QAAQ,YAAY,IAAI,CACxB,aAAa,CACb,QAAQ,kBAAkB,GAAG,SAAiB,KAAK,aAAa,CAAC;;AAYtE,SAAgB,UAAU,KAAa,KAAkC;AACvE,QAAO,MAAM,QAAQ,UAAU,IAAI;;AAGrC,SAAgB,YAAY,KAAa,KAAkC;AACzE,QAAO,MAAM,QAAQ,UAAU,IAAI;;AAGrC,SAAgB,QACd,QACA,QACA,KACkB;CAClB,MAAM,SAA2B,EAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO,QAAQ,IAAI,CAC5B,QAAO,OAAO,KAAK,IAAI,IAAI,OAAO;AAItC,QAAO"}
@@ -1,9 +1,9 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_map_keys = require('./map_keys.cjs');
3
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
+ const require_map_keys = require("./map_keys.cjs");
4
+ const require_validation = require("./validation.cjs");
4
5
  //#region src/load/serializable.ts
5
- var serializable_exports = {};
6
- require_rolldown_runtime.__export(serializable_exports, {
6
+ var serializable_exports = /* @__PURE__ */ require_runtime.__exportAll({
7
7
  Serializable: () => Serializable,
8
8
  get_lc_unique_name: () => get_lc_unique_name
9
9
  });
@@ -34,8 +34,7 @@ function replaceSecrets(root, secretsMap) {
34
34
  */
35
35
  function get_lc_unique_name(serializableClass) {
36
36
  const parentClass = Object.getPrototypeOf(serializableClass);
37
- const lcNameIsSubclassed = typeof serializableClass.lc_name === "function" && (typeof parentClass.lc_name !== "function" || serializableClass.lc_name() !== parentClass.lc_name());
38
- if (lcNameIsSubclassed) return serializableClass.lc_name();
37
+ if (typeof serializableClass.lc_name === "function" && (typeof parentClass.lc_name !== "function" || serializableClass.lc_name() !== parentClass.lc_name())) return serializableClass.lc_name();
39
38
  else return serializableClass.name;
40
39
  }
41
40
  var Serializable = class Serializable {
@@ -61,34 +60,26 @@ var Serializable = class Serializable {
61
60
  * Keys are paths to the secret in constructor args, e.g. "foo.bar.baz".
62
61
  * Values are the secret ids, which will be used when deserializing.
63
62
  */
64
- get lc_secrets() {
65
- return void 0;
66
- }
63
+ get lc_secrets() {}
67
64
  /**
68
65
  * A map of additional attributes to merge with constructor args.
69
66
  * Keys are the attribute names, e.g. "foo".
70
67
  * Values are the attribute values, which will be serialized.
71
68
  * These attributes need to be accepted by the constructor as arguments.
72
69
  */
73
- get lc_attributes() {
74
- return void 0;
75
- }
70
+ get lc_attributes() {}
76
71
  /**
77
72
  * A map of aliases for constructor args.
78
73
  * Keys are the attribute names, e.g. "foo".
79
74
  * Values are the alias that will replace the key in serialization.
80
75
  * This is used to eg. make argument names match Python.
81
76
  */
82
- get lc_aliases() {
83
- return void 0;
84
- }
77
+ get lc_aliases() {}
85
78
  /**
86
79
  * A manual list of keys that should be serialized.
87
80
  * If not overridden, all fields passed into the constructor will be serialized.
88
81
  */
89
- get lc_serializable_keys() {
90
- return void 0;
91
- }
82
+ get lc_serializable_keys() {}
92
83
  constructor(kwargs, ..._args) {
93
84
  if (this.lc_serializable_keys !== void 0) this.lc_kwargs = Object.fromEntries(Object.entries(kwargs || {}).filter(([key]) => this.lc_serializable_keys?.includes(key)));
94
85
  else this.lc_kwargs = kwargs ?? {};
@@ -122,11 +113,16 @@ var Serializable = class Serializable {
122
113
  }
123
114
  if (last in read && read[last] !== void 0) write[last] = write[last] || read[last];
124
115
  });
116
+ const escapedKwargs = {};
117
+ const pathSet = /* @__PURE__ */ new WeakSet();
118
+ pathSet.add(this);
119
+ for (const [key, value] of Object.entries(kwargs)) escapedKwargs[key] = require_validation.escapeIfNeeded(value, pathSet);
120
+ const processedKwargs = require_map_keys.mapKeys(Object.keys(secrets).length ? replaceSecrets(escapedKwargs, secrets) : escapedKwargs, require_map_keys.keyToJson, aliases);
125
121
  return {
126
122
  lc: 1,
127
123
  type: "constructor",
128
124
  id: this.lc_id,
129
- kwargs: require_map_keys.mapKeys(Object.keys(secrets).length ? replaceSecrets(kwargs, secrets) : kwargs, require_map_keys.keyToJson, aliases)
125
+ kwargs: processedKwargs
130
126
  };
131
127
  }
132
128
  toJSONNotImplemented() {
@@ -137,14 +133,14 @@ var Serializable = class Serializable {
137
133
  };
138
134
  }
139
135
  };
140
-
141
136
  //#endregion
142
137
  exports.Serializable = Serializable;
143
138
  exports.get_lc_unique_name = get_lc_unique_name;
144
- Object.defineProperty(exports, 'serializable_exports', {
145
- enumerable: true,
146
- get: function () {
147
- return serializable_exports;
148
- }
139
+ Object.defineProperty(exports, "serializable_exports", {
140
+ enumerable: true,
141
+ get: function() {
142
+ return serializable_exports;
143
+ }
149
144
  });
145
+
150
146
  //# sourceMappingURL=serializable.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.cjs","names":["obj: T","root: SerializedFields","secretsMap: { [key: string]: string }","current: any","serializableClass: typeof Serializable","kwargs?: SerializedFields","aliases: { [key: string]: string }","secrets: { [key: string]: string }","read: any","write: any","mapKeys","keyToJson"],"sources":["../../src/load/serializable.ts"],"sourcesContent":["import { type SerializedFields, keyToJson, mapKeys } from \"./map_keys.js\";\n\nexport interface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph?: Record<string, any>;\n}\n\nexport interface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\n\nexport interface SerializedSecret extends BaseSerialized<\"secret\"> {}\n\nexport interface SerializedNotImplemented\n extends BaseSerialized<\"not_implemented\"> {}\n\nexport type Serialized =\n | SerializedConstructor\n | SerializedSecret\n | SerializedNotImplemented;\n\nfunction shallowCopy<T extends object>(obj: T): T {\n return Array.isArray(obj) ? ([...obj] as T) : ({ ...obj } as T);\n}\n\nfunction replaceSecrets(\n root: SerializedFields,\n secretsMap: { [key: string]: string }\n): SerializedFields {\n const result = shallowCopy(root);\n for (const [path, secretId] of Object.entries(secretsMap)) {\n const [last, ...partsReverse] = path.split(\".\").reverse();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let current: any = result;\n for (const part of partsReverse.reverse()) {\n if (current[part] === undefined) {\n break;\n }\n current[part] = shallowCopy(current[part]);\n current = current[part];\n }\n if (current[last] !== undefined) {\n current[last] = {\n lc: 1,\n type: \"secret\",\n id: [secretId],\n };\n }\n }\n return result;\n}\n\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport function get_lc_unique_name(\n serializableClass: typeof Serializable\n): string {\n // \"super\" here would refer to the parent class of Serializable,\n // when we want the parent class of the module actually calling this method.\n const parentClass = Object.getPrototypeOf(serializableClass);\n const lcNameIsSubclassed =\n typeof serializableClass.lc_name === \"function\" &&\n (typeof parentClass.lc_name !== \"function\" ||\n serializableClass.lc_name() !== parentClass.lc_name());\n if (lcNameIsSubclassed) {\n return serializableClass.lc_name();\n } else {\n return serializableClass.name;\n }\n}\n\nexport interface SerializableInterface {\n get lc_id(): string[];\n}\n\nexport abstract class Serializable implements SerializableInterface {\n lc_serializable = false;\n\n lc_kwargs: SerializedFields;\n\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof Serializable),\n ];\n }\n\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined {\n return undefined;\n }\n\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n constructor(kwargs?: SerializedFields, ..._args: never[]) {\n if (this.lc_serializable_keys !== undefined) {\n this.lc_kwargs = Object.fromEntries(\n Object.entries(kwargs || {}).filter(([key]) =>\n this.lc_serializable_keys?.includes(key)\n )\n );\n } else {\n this.lc_kwargs = kwargs ?? {};\n }\n }\n\n toJSON(): Serialized {\n if (!this.lc_serializable) {\n return this.toJSONNotImplemented();\n }\n if (\n // eslint-disable-next-line no-instanceof/no-instanceof\n this.lc_kwargs instanceof Serializable ||\n typeof this.lc_kwargs !== \"object\" ||\n Array.isArray(this.lc_kwargs)\n ) {\n // We do not support serialization of classes with arg not a POJO\n // I'm aware the check above isn't as strict as it could be\n return this.toJSONNotImplemented();\n }\n\n const aliases: { [key: string]: string } = {};\n const secrets: { [key: string]: string } = {};\n const kwargs = Object.keys(this.lc_kwargs).reduce((acc, key) => {\n acc[key] = key in this ? this[key as keyof this] : this.lc_kwargs[key];\n return acc;\n }, {} as SerializedFields);\n // get secrets, attributes and aliases from all superclasses\n for (\n let current = Object.getPrototypeOf(this);\n current;\n current = Object.getPrototypeOf(current)\n ) {\n Object.assign(aliases, Reflect.get(current, \"lc_aliases\", this));\n Object.assign(secrets, Reflect.get(current, \"lc_secrets\", this));\n Object.assign(kwargs, Reflect.get(current, \"lc_attributes\", this));\n }\n\n // include all secrets used, even if not in kwargs,\n // will be replaced with sentinel value in replaceSecrets\n Object.keys(secrets).forEach((keyPath) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let read: any = this;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let write: any = kwargs;\n\n const [last, ...partsReverse] = keyPath.split(\".\").reverse();\n for (const key of partsReverse.reverse()) {\n if (!(key in read) || read[key] === undefined) return;\n if (!(key in write) || write[key] === undefined) {\n if (typeof read[key] === \"object\" && read[key] != null) {\n write[key] = {};\n } else if (Array.isArray(read[key])) {\n write[key] = [];\n }\n }\n\n read = read[key];\n write = write[key];\n }\n\n if (last in read && read[last] !== undefined) {\n write[last] = write[last] || read[last];\n }\n });\n\n return {\n lc: 1,\n type: \"constructor\",\n id: this.lc_id,\n kwargs: mapKeys(\n Object.keys(secrets).length ? replaceSecrets(kwargs, secrets) : kwargs,\n keyToJson,\n aliases\n ),\n };\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return {\n lc: 1,\n type: \"not_implemented\",\n id: this.lc_id,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"serializable.cjs","names":["escapeIfNeeded","mapKeys","keyToJson"],"sources":["../../src/load/serializable.ts"],"sourcesContent":["import { type SerializedFields, keyToJson, mapKeys } from \"./map_keys.js\";\nimport { escapeIfNeeded } from \"./validation.js\";\n\nexport interface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n graph?: Record<string, any>;\n}\n\nexport interface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\n\nexport interface SerializedSecret extends BaseSerialized<\"secret\"> {}\n\nexport interface SerializedNotImplemented extends BaseSerialized<\"not_implemented\"> {}\n\nexport type Serialized =\n | SerializedConstructor\n | SerializedSecret\n | SerializedNotImplemented;\n\nfunction shallowCopy<T extends object>(obj: T): T {\n return Array.isArray(obj) ? ([...obj] as T) : ({ ...obj } as T);\n}\n\nfunction replaceSecrets(\n root: SerializedFields,\n secretsMap: { [key: string]: string }\n): SerializedFields {\n const result = shallowCopy(root);\n for (const [path, secretId] of Object.entries(secretsMap)) {\n const [last, ...partsReverse] = path.split(\".\").reverse();\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let current: any = result;\n for (const part of partsReverse.reverse()) {\n if (current[part] === undefined) {\n break;\n }\n current[part] = shallowCopy(current[part]);\n current = current[part];\n }\n if (current[last] !== undefined) {\n current[last] = {\n lc: 1,\n type: \"secret\",\n id: [secretId],\n };\n }\n }\n return result;\n}\n\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport function get_lc_unique_name(\n serializableClass: typeof Serializable\n): string {\n // \"super\" here would refer to the parent class of Serializable,\n // when we want the parent class of the module actually calling this method.\n const parentClass = Object.getPrototypeOf(serializableClass);\n const lcNameIsSubclassed =\n typeof serializableClass.lc_name === \"function\" &&\n (typeof parentClass.lc_name !== \"function\" ||\n serializableClass.lc_name() !== parentClass.lc_name());\n if (lcNameIsSubclassed) {\n return serializableClass.lc_name();\n } else {\n return serializableClass.name;\n }\n}\n\n/**\n * Interface for objects that can be serialized.\n * This is a duck-typed interface to avoid circular imports.\n */\nexport interface SerializableLike {\n lc_serializable: boolean;\n lc_secrets?: Record<string, string>;\n toJSON(): {\n lc: number;\n type: string;\n id: string[];\n kwargs?: Record<string, unknown>;\n };\n}\n\nexport interface SerializableInterface {\n get lc_id(): string[];\n}\n\nexport abstract class Serializable implements SerializableInterface {\n lc_serializable = false;\n\n lc_kwargs: SerializedFields;\n\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof Serializable),\n ];\n }\n\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined {\n return undefined;\n }\n\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n constructor(kwargs?: SerializedFields, ..._args: never[]) {\n if (this.lc_serializable_keys !== undefined) {\n this.lc_kwargs = Object.fromEntries(\n Object.entries(kwargs || {}).filter(([key]) =>\n this.lc_serializable_keys?.includes(key)\n )\n );\n } else {\n this.lc_kwargs = kwargs ?? {};\n }\n }\n\n toJSON(): Serialized {\n if (!this.lc_serializable) {\n return this.toJSONNotImplemented();\n }\n if (\n // oxlint-disable-next-line no-instanceof/no-instanceof\n this.lc_kwargs instanceof Serializable ||\n typeof this.lc_kwargs !== \"object\" ||\n Array.isArray(this.lc_kwargs)\n ) {\n // We do not support serialization of classes with arg not a POJO\n // I'm aware the check above isn't as strict as it could be\n return this.toJSONNotImplemented();\n }\n\n const aliases: { [key: string]: string } = {};\n const secrets: { [key: string]: string } = {};\n const kwargs = Object.keys(this.lc_kwargs).reduce((acc, key) => {\n acc[key] = key in this ? this[key as keyof this] : this.lc_kwargs[key];\n return acc;\n }, {} as SerializedFields);\n // get secrets, attributes and aliases from all superclasses\n for (\n let current = Object.getPrototypeOf(this);\n current;\n current = Object.getPrototypeOf(current)\n ) {\n Object.assign(aliases, Reflect.get(current, \"lc_aliases\", this));\n Object.assign(secrets, Reflect.get(current, \"lc_secrets\", this));\n Object.assign(kwargs, Reflect.get(current, \"lc_attributes\", this));\n }\n\n // include all secrets used, even if not in kwargs,\n // will be replaced with sentinel value in replaceSecrets\n Object.keys(secrets).forEach((keyPath) => {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let read: any = this;\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let write: any = kwargs;\n\n const [last, ...partsReverse] = keyPath.split(\".\").reverse();\n for (const key of partsReverse.reverse()) {\n if (!(key in read) || read[key] === undefined) return;\n if (!(key in write) || write[key] === undefined) {\n if (typeof read[key] === \"object\" && read[key] != null) {\n write[key] = {};\n } else if (Array.isArray(read[key])) {\n write[key] = [];\n }\n }\n\n read = read[key];\n write = write[key];\n }\n\n if (last in read && read[last] !== undefined) {\n write[last] = write[last] || read[last];\n }\n });\n\n const escapedKwargs: SerializedFields = {};\n // Track current path to detect circular references (but not shared references)\n // The Serializable object itself stays in the path to detect self-references in kwargs\n const pathSet = new WeakSet<object>();\n pathSet.add(this);\n for (const [key, value] of Object.entries(kwargs)) {\n escapedKwargs[key] = escapeIfNeeded(value, pathSet);\n }\n\n // Now add secret markers - these are added AFTER escaping so they won't be escaped\n const kwargsWithSecrets = Object.keys(secrets).length\n ? replaceSecrets(escapedKwargs, secrets)\n : escapedKwargs;\n\n // Finally transform keys to JSON format\n const processedKwargs = mapKeys(kwargsWithSecrets, keyToJson, aliases);\n\n return {\n lc: 1,\n type: \"constructor\",\n id: this.lc_id,\n kwargs: processedKwargs,\n };\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return {\n lc: 1,\n type: \"not_implemented\",\n id: this.lc_id,\n };\n }\n}\n"],"mappings":"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"}
@@ -19,6 +19,20 @@ type Serialized = SerializedConstructor | SerializedSecret | SerializedNotImplem
19
19
  * Should not be subclassed, subclass lc_name above instead.
20
20
  */
21
21
  declare function get_lc_unique_name(serializableClass: typeof Serializable): string;
22
+ /**
23
+ * Interface for objects that can be serialized.
24
+ * This is a duck-typed interface to avoid circular imports.
25
+ */
26
+ interface SerializableLike {
27
+ lc_serializable: boolean;
28
+ lc_secrets?: Record<string, string>;
29
+ toJSON(): {
30
+ lc: number;
31
+ type: string;
32
+ id: string[];
33
+ kwargs?: Record<string, unknown>;
34
+ };
35
+ }
22
36
  interface SerializableInterface {
23
37
  get lc_id(): string[];
24
38
  }
@@ -75,5 +89,5 @@ declare abstract class Serializable implements SerializableInterface {
75
89
  toJSONNotImplemented(): SerializedNotImplemented;
76
90
  }
77
91
  //#endregion
78
- export { BaseSerialized, Serializable, SerializableInterface, Serialized, SerializedConstructor, SerializedNotImplemented, SerializedSecret, get_lc_unique_name };
92
+ export { BaseSerialized, Serializable, SerializableInterface, SerializableLike, Serialized, SerializedConstructor, SerializedNotImplemented, SerializedSecret, get_lc_unique_name };
79
93
  //# sourceMappingURL=serializable.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.d.cts","names":["SerializedFields","BaseSerialized","T","Record","SerializedConstructor","SerializedSecret","SerializedNotImplemented","Serialized","get_lc_unique_name","Serializable","SerializableInterface"],"sources":["../../src/load/serializable.d.ts"],"sourcesContent":["import { type SerializedFields } from \"./map_keys.js\";\nexport interface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n graph?: Record<string, any>;\n}\nexport interface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\nexport interface SerializedSecret extends BaseSerialized<\"secret\"> {\n}\nexport interface SerializedNotImplemented extends BaseSerialized<\"not_implemented\"> {\n}\nexport type Serialized = SerializedConstructor | SerializedSecret | SerializedNotImplemented;\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport declare function get_lc_unique_name(serializableClass: typeof Serializable): string;\nexport interface SerializableInterface {\n get lc_id(): string[];\n}\nexport declare abstract class Serializable implements SerializableInterface {\n lc_serializable: boolean;\n lc_kwargs: SerializedFields;\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string;\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[];\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined;\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): {\n [key: string]: string;\n } | undefined;\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined;\n constructor(kwargs?: SerializedFields, ..._args: never[]);\n toJSON(): Serialized;\n toJSONNotImplemented(): SerializedNotImplemented;\n}\n//# sourceMappingURL=serializable.d.ts.map"],"mappings":";;;UACiBC;;EAAAA,IAAAA,EAEPC,CAFOD;EAOAG,EAAAA,EAAAA,MAAAA,EAAAA;EAGAC,IAAAA,CAAAA,EAAAA,MAAAA;EAEAC,KAAAA,CAAAA,EAPLH,MAOKG,CAAAA,MAAAA,EAAAA,GAAAA,CAAwB;AAEzC;AAAyBF,UAPRA,qBAAAA,SAA8BH,cAOtBG,CAAAA,aAAAA,CAAAA,CAAAA;EAAwBC,MAAAA,EANrCL,gBAMqCK;;AAA2C,UAJ3EA,gBAAAA,SAAyBJ,cAIkD,CAAA,QAAA,CAAA,CAAA,CAK5F;AACiBS,UARAJ,wBAAAA,SAAiCL,cAQZ,CAAA,iBAAA,CAAA,CAAA,CAGtC;AAEeD,KAXHO,UAAAA,GAAaH,qBAWVJ,GAXkCK,gBAWlCL,GAXqDM,wBAWrDN;;;;;AAFuCU,iBAJ9BF,kBAAAA,CAI8BE,iBAAAA,EAAAA,OAJeD,YAIfC,CAAAA,EAAAA,MAAAA;AAAqB,UAH1DA,qBAAAA,CAG0D;;;uBAA7CD,YAAAA,YAAwBC;;aAEvCV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA+BUA;;;;;;;;;;;;;;;uBAeAA;YACXO;0BACcD"}
1
+ {"version":3,"file":"serializable.d.cts","names":[],"sources":["../../src/load/serializable.ts"],"mappings":";;;UAGiB,cAAA;EACf,EAAA;EACA,IAAA,EAAM,CAAA;EACN,EAAA;EACA,IAAA;EAEA,KAAA,GAAQ,MAAA;AAAA;AAAA,UAGO,qBAAA,SAA8B,cAAA;EAC7C,MAAA,EAAQ,gBAAA;AAAA;AAAA,UAGO,gBAAA,SAAyB,cAAA;AAAA,UAEzB,wBAAA,SAAiC,cAAA;AAAA,KAEtC,UAAA,GACR,qBAAA,GACA,gBAAA,GACA,wBAAA;;AAXJ;;;iBAgDgB,kBAAA,CACd,iBAAA,SAA0B,YAAA;;;;;UAoBX,gBAAA;EACf,eAAA;EACA,UAAA,GAAa,MAAA;EACb,MAAA;IACE,EAAA;IACA,IAAA;IACA,EAAA;IACA,MAAA,GAAS,MAAA;EAAA;AAAA;AAAA,UAII,qBAAA;EAAA,IACX,KAAA;AAAA;AAAA,uBAGgB,YAAA,YAAwB,qBAAA;EAC5C,eAAA;EAEA,SAAA,EAAW,gBAAA;EA5ET;;;;EAAA,SAkFO,YAAA;EAlFP;;;AAqCJ;;;EArCI,OA0FK,OAAA,CAAA;EApD+B;AAoBxC;;EApBwC,IA2DlC,KAAA,CAAA;EAhCa;;;;;EAAA,IA4Cb,UAAA,CAAA;IAAA,CAAiB,GAAA;EAAA;EA5CnB;;;;AAIJ;;EAJI,IAsDE,aAAA,CAAA,GAAiB,gBAAA;EAjDjB;;AAGN;;;;EAHM,IA2DA,UAAA,CAAA;IAAA,CAAiB,GAAA;EAAA;EA8GG;;;;EAAA,IAtGpB,oBAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,GAAS,gBAAA,KAAqB,KAAA;EAY1C,MAAA,CAAA,GAAU,UAAA;EAsFV,oBAAA,CAAA,GAAwB,wBAAA;AAAA"}
@@ -19,6 +19,20 @@ type Serialized = SerializedConstructor | SerializedSecret | SerializedNotImplem
19
19
  * Should not be subclassed, subclass lc_name above instead.
20
20
  */
21
21
  declare function get_lc_unique_name(serializableClass: typeof Serializable): string;
22
+ /**
23
+ * Interface for objects that can be serialized.
24
+ * This is a duck-typed interface to avoid circular imports.
25
+ */
26
+ interface SerializableLike {
27
+ lc_serializable: boolean;
28
+ lc_secrets?: Record<string, string>;
29
+ toJSON(): {
30
+ lc: number;
31
+ type: string;
32
+ id: string[];
33
+ kwargs?: Record<string, unknown>;
34
+ };
35
+ }
22
36
  interface SerializableInterface {
23
37
  get lc_id(): string[];
24
38
  }
@@ -75,5 +89,5 @@ declare abstract class Serializable implements SerializableInterface {
75
89
  toJSONNotImplemented(): SerializedNotImplemented;
76
90
  }
77
91
  //#endregion
78
- export { BaseSerialized, Serializable, SerializableInterface, Serialized, SerializedConstructor, SerializedNotImplemented, SerializedSecret, get_lc_unique_name };
92
+ export { BaseSerialized, Serializable, SerializableInterface, SerializableLike, Serialized, SerializedConstructor, SerializedNotImplemented, SerializedSecret, get_lc_unique_name };
79
93
  //# sourceMappingURL=serializable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.d.ts","names":["SerializedFields","BaseSerialized","T","Record","SerializedConstructor","SerializedSecret","SerializedNotImplemented","Serialized","get_lc_unique_name","Serializable","SerializableInterface"],"sources":["../../src/load/serializable.d.ts"],"sourcesContent":["import { type SerializedFields } from \"./map_keys.js\";\nexport interface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n graph?: Record<string, any>;\n}\nexport interface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\nexport interface SerializedSecret extends BaseSerialized<\"secret\"> {\n}\nexport interface SerializedNotImplemented extends BaseSerialized<\"not_implemented\"> {\n}\nexport type Serialized = SerializedConstructor | SerializedSecret | SerializedNotImplemented;\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport declare function get_lc_unique_name(serializableClass: typeof Serializable): string;\nexport interface SerializableInterface {\n get lc_id(): string[];\n}\nexport declare abstract class Serializable implements SerializableInterface {\n lc_serializable: boolean;\n lc_kwargs: SerializedFields;\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string;\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[];\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined;\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): {\n [key: string]: string;\n } | undefined;\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined;\n constructor(kwargs?: SerializedFields, ..._args: never[]);\n toJSON(): Serialized;\n toJSONNotImplemented(): SerializedNotImplemented;\n}\n//# sourceMappingURL=serializable.d.ts.map"],"mappings":";;;UACiBC;;EAAAA,IAAAA,EAEPC,CAFOD;EAOAG,EAAAA,EAAAA,MAAAA,EAAAA;EAGAC,IAAAA,CAAAA,EAAAA,MAAAA;EAEAC,KAAAA,CAAAA,EAPLH,MAOKG,CAAAA,MAAAA,EAAAA,GAAAA,CAAwB;AAEzC;AAAyBF,UAPRA,qBAAAA,SAA8BH,cAOtBG,CAAAA,aAAAA,CAAAA,CAAAA;EAAwBC,MAAAA,EANrCL,gBAMqCK;;AAA2C,UAJ3EA,gBAAAA,SAAyBJ,cAIkD,CAAA,QAAA,CAAA,CAAA,CAK5F;AACiBS,UARAJ,wBAAAA,SAAiCL,cAQZ,CAAA,iBAAA,CAAA,CAAA,CAGtC;AAEeD,KAXHO,UAAAA,GAAaH,qBAWVJ,GAXkCK,gBAWlCL,GAXqDM,wBAWrDN;;;;;AAFuCU,iBAJ9BF,kBAAAA,CAI8BE,iBAAAA,EAAAA,OAJeD,YAIfC,CAAAA,EAAAA,MAAAA;AAAqB,UAH1DA,qBAAAA,CAG0D;;;uBAA7CD,YAAAA,YAAwBC;;aAEvCV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA+BUA;;;;;;;;;;;;;;;uBAeAA;YACXO;0BACcD"}
1
+ {"version":3,"file":"serializable.d.ts","names":[],"sources":["../../src/load/serializable.ts"],"mappings":";;;UAGiB,cAAA;EACf,EAAA;EACA,IAAA,EAAM,CAAA;EACN,EAAA;EACA,IAAA;EAEA,KAAA,GAAQ,MAAA;AAAA;AAAA,UAGO,qBAAA,SAA8B,cAAA;EAC7C,MAAA,EAAQ,gBAAA;AAAA;AAAA,UAGO,gBAAA,SAAyB,cAAA;AAAA,UAEzB,wBAAA,SAAiC,cAAA;AAAA,KAEtC,UAAA,GACR,qBAAA,GACA,gBAAA,GACA,wBAAA;;AAXJ;;;iBAgDgB,kBAAA,CACd,iBAAA,SAA0B,YAAA;;;;;UAoBX,gBAAA;EACf,eAAA;EACA,UAAA,GAAa,MAAA;EACb,MAAA;IACE,EAAA;IACA,IAAA;IACA,EAAA;IACA,MAAA,GAAS,MAAA;EAAA;AAAA;AAAA,UAII,qBAAA;EAAA,IACX,KAAA;AAAA;AAAA,uBAGgB,YAAA,YAAwB,qBAAA;EAC5C,eAAA;EAEA,SAAA,EAAW,gBAAA;EA5ET;;;;EAAA,SAkFO,YAAA;EAlFP;;;AAqCJ;;;EArCI,OA0FK,OAAA,CAAA;EApD+B;AAoBxC;;EApBwC,IA2DlC,KAAA,CAAA;EAhCa;;;;;EAAA,IA4Cb,UAAA,CAAA;IAAA,CAAiB,GAAA;EAAA;EA5CnB;;;;AAIJ;;EAJI,IAsDE,aAAA,CAAA,GAAiB,gBAAA;EAjDjB;;AAGN;;;;EAHM,IA2DA,UAAA,CAAA;IAAA,CAAiB,GAAA;EAAA;EA8GG;;;;EAAA,IAtGpB,oBAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,GAAS,gBAAA,KAAqB,KAAA;EAY1C,MAAA,CAAA,GAAU,UAAA;EAsFV,oBAAA,CAAA,GAAwB,wBAAA;AAAA"}
@@ -1,9 +1,8 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { keyToJson, mapKeys } from "./map_keys.js";
3
-
3
+ import { escapeIfNeeded } from "./validation.js";
4
4
  //#region src/load/serializable.ts
5
- var serializable_exports = {};
6
- __export(serializable_exports, {
5
+ var serializable_exports = /* @__PURE__ */ __exportAll({
7
6
  Serializable: () => Serializable,
8
7
  get_lc_unique_name: () => get_lc_unique_name
9
8
  });
@@ -34,8 +33,7 @@ function replaceSecrets(root, secretsMap) {
34
33
  */
35
34
  function get_lc_unique_name(serializableClass) {
36
35
  const parentClass = Object.getPrototypeOf(serializableClass);
37
- const lcNameIsSubclassed = typeof serializableClass.lc_name === "function" && (typeof parentClass.lc_name !== "function" || serializableClass.lc_name() !== parentClass.lc_name());
38
- if (lcNameIsSubclassed) return serializableClass.lc_name();
36
+ if (typeof serializableClass.lc_name === "function" && (typeof parentClass.lc_name !== "function" || serializableClass.lc_name() !== parentClass.lc_name())) return serializableClass.lc_name();
39
37
  else return serializableClass.name;
40
38
  }
41
39
  var Serializable = class Serializable {
@@ -61,34 +59,26 @@ var Serializable = class Serializable {
61
59
  * Keys are paths to the secret in constructor args, e.g. "foo.bar.baz".
62
60
  * Values are the secret ids, which will be used when deserializing.
63
61
  */
64
- get lc_secrets() {
65
- return void 0;
66
- }
62
+ get lc_secrets() {}
67
63
  /**
68
64
  * A map of additional attributes to merge with constructor args.
69
65
  * Keys are the attribute names, e.g. "foo".
70
66
  * Values are the attribute values, which will be serialized.
71
67
  * These attributes need to be accepted by the constructor as arguments.
72
68
  */
73
- get lc_attributes() {
74
- return void 0;
75
- }
69
+ get lc_attributes() {}
76
70
  /**
77
71
  * A map of aliases for constructor args.
78
72
  * Keys are the attribute names, e.g. "foo".
79
73
  * Values are the alias that will replace the key in serialization.
80
74
  * This is used to eg. make argument names match Python.
81
75
  */
82
- get lc_aliases() {
83
- return void 0;
84
- }
76
+ get lc_aliases() {}
85
77
  /**
86
78
  * A manual list of keys that should be serialized.
87
79
  * If not overridden, all fields passed into the constructor will be serialized.
88
80
  */
89
- get lc_serializable_keys() {
90
- return void 0;
91
- }
81
+ get lc_serializable_keys() {}
92
82
  constructor(kwargs, ..._args) {
93
83
  if (this.lc_serializable_keys !== void 0) this.lc_kwargs = Object.fromEntries(Object.entries(kwargs || {}).filter(([key]) => this.lc_serializable_keys?.includes(key)));
94
84
  else this.lc_kwargs = kwargs ?? {};
@@ -122,11 +112,16 @@ var Serializable = class Serializable {
122
112
  }
123
113
  if (last in read && read[last] !== void 0) write[last] = write[last] || read[last];
124
114
  });
115
+ const escapedKwargs = {};
116
+ const pathSet = /* @__PURE__ */ new WeakSet();
117
+ pathSet.add(this);
118
+ for (const [key, value] of Object.entries(kwargs)) escapedKwargs[key] = escapeIfNeeded(value, pathSet);
119
+ const processedKwargs = mapKeys(Object.keys(secrets).length ? replaceSecrets(escapedKwargs, secrets) : escapedKwargs, keyToJson, aliases);
125
120
  return {
126
121
  lc: 1,
127
122
  type: "constructor",
128
123
  id: this.lc_id,
129
- kwargs: mapKeys(Object.keys(secrets).length ? replaceSecrets(kwargs, secrets) : kwargs, keyToJson, aliases)
124
+ kwargs: processedKwargs
130
125
  };
131
126
  }
132
127
  toJSONNotImplemented() {
@@ -137,7 +132,7 @@ var Serializable = class Serializable {
137
132
  };
138
133
  }
139
134
  };
140
-
141
135
  //#endregion
142
136
  export { Serializable, get_lc_unique_name, serializable_exports };
137
+
143
138
  //# sourceMappingURL=serializable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.js","names":["obj: T","root: SerializedFields","secretsMap: { [key: string]: string }","current: any","serializableClass: typeof Serializable","kwargs?: SerializedFields","aliases: { [key: string]: string }","secrets: { [key: string]: string }","read: any","write: any"],"sources":["../../src/load/serializable.ts"],"sourcesContent":["import { type SerializedFields, keyToJson, mapKeys } from \"./map_keys.js\";\n\nexport interface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph?: Record<string, any>;\n}\n\nexport interface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\n\nexport interface SerializedSecret extends BaseSerialized<\"secret\"> {}\n\nexport interface SerializedNotImplemented\n extends BaseSerialized<\"not_implemented\"> {}\n\nexport type Serialized =\n | SerializedConstructor\n | SerializedSecret\n | SerializedNotImplemented;\n\nfunction shallowCopy<T extends object>(obj: T): T {\n return Array.isArray(obj) ? ([...obj] as T) : ({ ...obj } as T);\n}\n\nfunction replaceSecrets(\n root: SerializedFields,\n secretsMap: { [key: string]: string }\n): SerializedFields {\n const result = shallowCopy(root);\n for (const [path, secretId] of Object.entries(secretsMap)) {\n const [last, ...partsReverse] = path.split(\".\").reverse();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let current: any = result;\n for (const part of partsReverse.reverse()) {\n if (current[part] === undefined) {\n break;\n }\n current[part] = shallowCopy(current[part]);\n current = current[part];\n }\n if (current[last] !== undefined) {\n current[last] = {\n lc: 1,\n type: \"secret\",\n id: [secretId],\n };\n }\n }\n return result;\n}\n\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport function get_lc_unique_name(\n serializableClass: typeof Serializable\n): string {\n // \"super\" here would refer to the parent class of Serializable,\n // when we want the parent class of the module actually calling this method.\n const parentClass = Object.getPrototypeOf(serializableClass);\n const lcNameIsSubclassed =\n typeof serializableClass.lc_name === \"function\" &&\n (typeof parentClass.lc_name !== \"function\" ||\n serializableClass.lc_name() !== parentClass.lc_name());\n if (lcNameIsSubclassed) {\n return serializableClass.lc_name();\n } else {\n return serializableClass.name;\n }\n}\n\nexport interface SerializableInterface {\n get lc_id(): string[];\n}\n\nexport abstract class Serializable implements SerializableInterface {\n lc_serializable = false;\n\n lc_kwargs: SerializedFields;\n\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof Serializable),\n ];\n }\n\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined {\n return undefined;\n }\n\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n constructor(kwargs?: SerializedFields, ..._args: never[]) {\n if (this.lc_serializable_keys !== undefined) {\n this.lc_kwargs = Object.fromEntries(\n Object.entries(kwargs || {}).filter(([key]) =>\n this.lc_serializable_keys?.includes(key)\n )\n );\n } else {\n this.lc_kwargs = kwargs ?? {};\n }\n }\n\n toJSON(): Serialized {\n if (!this.lc_serializable) {\n return this.toJSONNotImplemented();\n }\n if (\n // eslint-disable-next-line no-instanceof/no-instanceof\n this.lc_kwargs instanceof Serializable ||\n typeof this.lc_kwargs !== \"object\" ||\n Array.isArray(this.lc_kwargs)\n ) {\n // We do not support serialization of classes with arg not a POJO\n // I'm aware the check above isn't as strict as it could be\n return this.toJSONNotImplemented();\n }\n\n const aliases: { [key: string]: string } = {};\n const secrets: { [key: string]: string } = {};\n const kwargs = Object.keys(this.lc_kwargs).reduce((acc, key) => {\n acc[key] = key in this ? this[key as keyof this] : this.lc_kwargs[key];\n return acc;\n }, {} as SerializedFields);\n // get secrets, attributes and aliases from all superclasses\n for (\n let current = Object.getPrototypeOf(this);\n current;\n current = Object.getPrototypeOf(current)\n ) {\n Object.assign(aliases, Reflect.get(current, \"lc_aliases\", this));\n Object.assign(secrets, Reflect.get(current, \"lc_secrets\", this));\n Object.assign(kwargs, Reflect.get(current, \"lc_attributes\", this));\n }\n\n // include all secrets used, even if not in kwargs,\n // will be replaced with sentinel value in replaceSecrets\n Object.keys(secrets).forEach((keyPath) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let read: any = this;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let write: any = kwargs;\n\n const [last, ...partsReverse] = keyPath.split(\".\").reverse();\n for (const key of partsReverse.reverse()) {\n if (!(key in read) || read[key] === undefined) return;\n if (!(key in write) || write[key] === undefined) {\n if (typeof read[key] === \"object\" && read[key] != null) {\n write[key] = {};\n } else if (Array.isArray(read[key])) {\n write[key] = [];\n }\n }\n\n read = read[key];\n write = write[key];\n }\n\n if (last in read && read[last] !== undefined) {\n write[last] = write[last] || read[last];\n }\n });\n\n return {\n lc: 1,\n type: \"constructor\",\n id: this.lc_id,\n kwargs: mapKeys(\n Object.keys(secrets).length ? replaceSecrets(kwargs, secrets) : kwargs,\n keyToJson,\n aliases\n ),\n };\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return {\n lc: 1,\n type: \"not_implemented\",\n id: this.lc_id,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"serializable.js","names":[],"sources":["../../src/load/serializable.ts"],"sourcesContent":["import { type SerializedFields, keyToJson, mapKeys } from \"./map_keys.js\";\nimport { escapeIfNeeded } from \"./validation.js\";\n\nexport interface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n graph?: Record<string, any>;\n}\n\nexport interface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\n\nexport interface SerializedSecret extends BaseSerialized<\"secret\"> {}\n\nexport interface SerializedNotImplemented extends BaseSerialized<\"not_implemented\"> {}\n\nexport type Serialized =\n | SerializedConstructor\n | SerializedSecret\n | SerializedNotImplemented;\n\nfunction shallowCopy<T extends object>(obj: T): T {\n return Array.isArray(obj) ? ([...obj] as T) : ({ ...obj } as T);\n}\n\nfunction replaceSecrets(\n root: SerializedFields,\n secretsMap: { [key: string]: string }\n): SerializedFields {\n const result = shallowCopy(root);\n for (const [path, secretId] of Object.entries(secretsMap)) {\n const [last, ...partsReverse] = path.split(\".\").reverse();\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let current: any = result;\n for (const part of partsReverse.reverse()) {\n if (current[part] === undefined) {\n break;\n }\n current[part] = shallowCopy(current[part]);\n current = current[part];\n }\n if (current[last] !== undefined) {\n current[last] = {\n lc: 1,\n type: \"secret\",\n id: [secretId],\n };\n }\n }\n return result;\n}\n\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\nexport function get_lc_unique_name(\n serializableClass: typeof Serializable\n): string {\n // \"super\" here would refer to the parent class of Serializable,\n // when we want the parent class of the module actually calling this method.\n const parentClass = Object.getPrototypeOf(serializableClass);\n const lcNameIsSubclassed =\n typeof serializableClass.lc_name === \"function\" &&\n (typeof parentClass.lc_name !== \"function\" ||\n serializableClass.lc_name() !== parentClass.lc_name());\n if (lcNameIsSubclassed) {\n return serializableClass.lc_name();\n } else {\n return serializableClass.name;\n }\n}\n\n/**\n * Interface for objects that can be serialized.\n * This is a duck-typed interface to avoid circular imports.\n */\nexport interface SerializableLike {\n lc_serializable: boolean;\n lc_secrets?: Record<string, string>;\n toJSON(): {\n lc: number;\n type: string;\n id: string[];\n kwargs?: Record<string, unknown>;\n };\n}\n\nexport interface SerializableInterface {\n get lc_id(): string[];\n}\n\nexport abstract class Serializable implements SerializableInterface {\n lc_serializable = false;\n\n lc_kwargs: SerializedFields;\n\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string {\n return this.name;\n }\n\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[] {\n return [\n ...this.lc_namespace,\n get_lc_unique_name(this.constructor as typeof Serializable),\n ];\n }\n\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined {\n return undefined;\n }\n\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): { [key: string]: string } | undefined {\n return undefined;\n }\n\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined {\n return undefined;\n }\n\n constructor(kwargs?: SerializedFields, ..._args: never[]) {\n if (this.lc_serializable_keys !== undefined) {\n this.lc_kwargs = Object.fromEntries(\n Object.entries(kwargs || {}).filter(([key]) =>\n this.lc_serializable_keys?.includes(key)\n )\n );\n } else {\n this.lc_kwargs = kwargs ?? {};\n }\n }\n\n toJSON(): Serialized {\n if (!this.lc_serializable) {\n return this.toJSONNotImplemented();\n }\n if (\n // oxlint-disable-next-line no-instanceof/no-instanceof\n this.lc_kwargs instanceof Serializable ||\n typeof this.lc_kwargs !== \"object\" ||\n Array.isArray(this.lc_kwargs)\n ) {\n // We do not support serialization of classes with arg not a POJO\n // I'm aware the check above isn't as strict as it could be\n return this.toJSONNotImplemented();\n }\n\n const aliases: { [key: string]: string } = {};\n const secrets: { [key: string]: string } = {};\n const kwargs = Object.keys(this.lc_kwargs).reduce((acc, key) => {\n acc[key] = key in this ? this[key as keyof this] : this.lc_kwargs[key];\n return acc;\n }, {} as SerializedFields);\n // get secrets, attributes and aliases from all superclasses\n for (\n let current = Object.getPrototypeOf(this);\n current;\n current = Object.getPrototypeOf(current)\n ) {\n Object.assign(aliases, Reflect.get(current, \"lc_aliases\", this));\n Object.assign(secrets, Reflect.get(current, \"lc_secrets\", this));\n Object.assign(kwargs, Reflect.get(current, \"lc_attributes\", this));\n }\n\n // include all secrets used, even if not in kwargs,\n // will be replaced with sentinel value in replaceSecrets\n Object.keys(secrets).forEach((keyPath) => {\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let read: any = this;\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let write: any = kwargs;\n\n const [last, ...partsReverse] = keyPath.split(\".\").reverse();\n for (const key of partsReverse.reverse()) {\n if (!(key in read) || read[key] === undefined) return;\n if (!(key in write) || write[key] === undefined) {\n if (typeof read[key] === \"object\" && read[key] != null) {\n write[key] = {};\n } else if (Array.isArray(read[key])) {\n write[key] = [];\n }\n }\n\n read = read[key];\n write = write[key];\n }\n\n if (last in read && read[last] !== undefined) {\n write[last] = write[last] || read[last];\n }\n });\n\n const escapedKwargs: SerializedFields = {};\n // Track current path to detect circular references (but not shared references)\n // The Serializable object itself stays in the path to detect self-references in kwargs\n const pathSet = new WeakSet<object>();\n pathSet.add(this);\n for (const [key, value] of Object.entries(kwargs)) {\n escapedKwargs[key] = escapeIfNeeded(value, pathSet);\n }\n\n // Now add secret markers - these are added AFTER escaping so they won't be escaped\n const kwargsWithSecrets = Object.keys(secrets).length\n ? replaceSecrets(escapedKwargs, secrets)\n : escapedKwargs;\n\n // Finally transform keys to JSON format\n const processedKwargs = mapKeys(kwargsWithSecrets, keyToJson, aliases);\n\n return {\n lc: 1,\n type: \"constructor\",\n id: this.lc_id,\n kwargs: processedKwargs,\n };\n }\n\n toJSONNotImplemented(): SerializedNotImplemented {\n return {\n lc: 1,\n type: \"not_implemented\",\n id: this.lc_id,\n };\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ //#region src/load/validation.ts
2
+ /**
3
+ * Sentinel key used to mark escaped user objects during serialization.
4
+ *
5
+ * When a plain object contains 'lc' key (which could be confused with LC objects),
6
+ * we wrap it as `{"__lc_escaped__": {...original...}}`.
7
+ */
8
+ const LC_ESCAPED_KEY = "__lc_escaped__";
9
+ /**
10
+ * Check if an object needs escaping to prevent confusion with LC objects.
11
+ *
12
+ * An object needs escaping if:
13
+ * 1. It has an `'lc'` key (could be confused with LC serialization format)
14
+ * 2. It has only the escape key (would be mistaken for an escaped object)
15
+ */
16
+ function needsEscaping(obj) {
17
+ return "lc" in obj || Object.keys(obj).length === 1 && "__lc_escaped__" in obj;
18
+ }
19
+ /**
20
+ * Wrap an object in the escape marker.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * {"key": "value"} // becomes {"__lc_escaped__": {"key": "value"}}
25
+ * ```
26
+ */
27
+ function escapeObject(obj) {
28
+ return { [LC_ESCAPED_KEY]: obj };
29
+ }
30
+ /**
31
+ * Check if an object is an escaped user object.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * {"__lc_escaped__": {...}} // is an escaped object
36
+ * ```
37
+ */
38
+ function isEscapedObject(obj) {
39
+ return Object.keys(obj).length === 1 && "__lc_escaped__" in obj;
40
+ }
41
+ /**
42
+ * Check if an object looks like a Serializable instance (duck typing).
43
+ */
44
+ function isSerializableLike(obj) {
45
+ return obj !== null && typeof obj === "object" && "lc_serializable" in obj && typeof obj.toJSON === "function";
46
+ }
47
+ /**
48
+ * Create a "not_implemented" serialization result for objects that cannot be serialized.
49
+ */
50
+ function createNotImplemented(obj) {
51
+ let id;
52
+ if (obj !== null && typeof obj === "object") if ("lc_id" in obj && Array.isArray(obj.lc_id)) id = obj.lc_id;
53
+ else id = [obj.constructor?.name ?? "Object"];
54
+ else id = [typeof obj];
55
+ return {
56
+ lc: 1,
57
+ type: "not_implemented",
58
+ id
59
+ };
60
+ }
61
+ /**
62
+ * Escape a value if it needs escaping (contains `lc` key).
63
+ *
64
+ * This is a simpler version of `serializeValue` that doesn't handle Serializable
65
+ * objects - it's meant to be called on kwargs values that have already been
66
+ * processed by `toJSON()`.
67
+ *
68
+ * @param value - The value to potentially escape.
69
+ * @param pathSet - WeakSet to track ancestor objects in the current path to detect circular references.
70
+ * Objects are removed after processing to allow shared references (same object in
71
+ * multiple places) while still detecting true circular references (ancestor in descendant).
72
+ * @returns The value with any `lc`-containing objects wrapped in escape markers.
73
+ */
74
+ function escapeIfNeeded(value, pathSet = /* @__PURE__ */ new WeakSet()) {
75
+ if (value !== null && typeof value === "object" && !Array.isArray(value)) {
76
+ if (pathSet.has(value)) return createNotImplemented(value);
77
+ if (isSerializableLike(value)) return value;
78
+ pathSet.add(value);
79
+ const record = value;
80
+ if (needsEscaping(record)) {
81
+ pathSet.delete(value);
82
+ return escapeObject(record);
83
+ }
84
+ const result = {};
85
+ for (const [key, val] of Object.entries(record)) result[key] = escapeIfNeeded(val, pathSet);
86
+ pathSet.delete(value);
87
+ return result;
88
+ }
89
+ if (Array.isArray(value)) return value.map((item) => escapeIfNeeded(item, pathSet));
90
+ return value;
91
+ }
92
+ /**
93
+ * Unescape a value, processing escape markers in object values and arrays.
94
+ *
95
+ * When an escaped object is encountered (`{"__lc_escaped__": ...}`), it's
96
+ * unwrapped and the contents are returned AS-IS (no further processing).
97
+ * The contents represent user data that should not be modified.
98
+ *
99
+ * For regular objects and arrays, we recurse to find any nested escape markers.
100
+ *
101
+ * @param obj - The value to unescape.
102
+ * @returns The unescaped value.
103
+ */
104
+ function unescapeValue(obj) {
105
+ if (obj !== null && typeof obj === "object" && !Array.isArray(obj)) {
106
+ const record = obj;
107
+ if (isEscapedObject(record)) return record[LC_ESCAPED_KEY];
108
+ const result = {};
109
+ for (const [key, value] of Object.entries(record)) result[key] = unescapeValue(value);
110
+ return result;
111
+ }
112
+ if (Array.isArray(obj)) return obj.map((item) => unescapeValue(item));
113
+ return obj;
114
+ }
115
+ //#endregion
116
+ exports.escapeIfNeeded = escapeIfNeeded;
117
+ exports.isEscapedObject = isEscapedObject;
118
+ exports.unescapeValue = unescapeValue;
119
+
120
+ //# sourceMappingURL=validation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.cjs","names":[],"sources":["../../src/load/validation.ts"],"sourcesContent":["/**\n * Sentinel key used to mark escaped user objects during serialization.\n *\n * When a plain object contains 'lc' key (which could be confused with LC objects),\n * we wrap it as `{\"__lc_escaped__\": {...original...}}`.\n */\nexport const LC_ESCAPED_KEY = \"__lc_escaped__\";\n\n/**\n * Check if an object needs escaping to prevent confusion with LC objects.\n *\n * An object needs escaping if:\n * 1. It has an `'lc'` key (could be confused with LC serialization format)\n * 2. It has only the escape key (would be mistaken for an escaped object)\n */\nexport function needsEscaping(obj: Record<string, unknown>): boolean {\n return (\n \"lc\" in obj || (Object.keys(obj).length === 1 && LC_ESCAPED_KEY in obj)\n );\n}\n\n/**\n * Wrap an object in the escape marker.\n *\n * @example\n * ```typescript\n * {\"key\": \"value\"} // becomes {\"__lc_escaped__\": {\"key\": \"value\"}}\n * ```\n */\nexport function escapeObject(\n obj: Record<string, unknown>\n): Record<string, unknown> {\n return { [LC_ESCAPED_KEY]: obj };\n}\n\n/**\n * Check if an object is an escaped user object.\n *\n * @example\n * ```typescript\n * {\"__lc_escaped__\": {...}} // is an escaped object\n * ```\n */\nexport function isEscapedObject(obj: Record<string, unknown>): boolean {\n return Object.keys(obj).length === 1 && LC_ESCAPED_KEY in obj;\n}\n\n/**\n * Interface for objects that can be serialized.\n * This is a duck-typed interface to avoid circular imports.\n */\ninterface SerializableLike {\n lc_serializable: boolean;\n lc_secrets?: Record<string, string>;\n toJSON(): {\n lc: number;\n type: string;\n id: string[];\n kwargs?: Record<string, unknown>;\n };\n}\n\n/**\n * Check if an object looks like a Serializable instance (duck typing).\n */\nfunction isSerializableLike(obj: unknown): obj is SerializableLike {\n return (\n obj !== null &&\n typeof obj === \"object\" &&\n \"lc_serializable\" in obj &&\n typeof (obj as SerializableLike).toJSON === \"function\"\n );\n}\n\n/**\n * Create a \"not_implemented\" serialization result for objects that cannot be serialized.\n */\nfunction createNotImplemented(obj: unknown): {\n lc: 1;\n type: \"not_implemented\";\n id: string[];\n} {\n let id: string[];\n if (obj !== null && typeof obj === \"object\") {\n if (\"lc_id\" in obj && Array.isArray(obj.lc_id)) {\n id = obj.lc_id as string[];\n } else {\n id = [obj.constructor?.name ?? \"Object\"];\n }\n } else {\n id = [typeof obj];\n }\n return {\n lc: 1,\n type: \"not_implemented\",\n id,\n };\n}\n\n/**\n * Serialize a value with escaping of user objects.\n *\n * Called recursively on kwarg values to escape any plain objects that could be\n * confused with LC objects.\n *\n * @param obj - The value to serialize.\n * @param pathSet - WeakSet to track ancestor objects in the current path to detect circular references.\n * Objects are removed after processing to allow shared references (same object in\n * multiple places) while still detecting true circular references (ancestor in descendant).\n * @returns The serialized value with user objects escaped as needed.\n */\nexport function serializeValue(\n obj: unknown,\n pathSet: WeakSet<object> = new WeakSet()\n): unknown {\n if (obj !== null && typeof obj === \"object\" && !Array.isArray(obj)) {\n // Check for circular reference - only if this object is an ancestor in the current path\n if (pathSet.has(obj)) {\n return createNotImplemented(obj);\n }\n\n if (isSerializableLike(obj)) {\n // This is an LC object - serialize it properly (not escaped)\n return serializeLcObject(obj, pathSet);\n }\n\n // Add to path before processing children\n pathSet.add(obj);\n\n const record = obj as Record<string, unknown>;\n // Check if object needs escaping BEFORE recursing into values.\n // If it needs escaping, wrap it as-is - the contents are user data that\n // will be returned as-is during deserialization (no instantiation).\n // This prevents re-escaping of already-escaped nested content.\n if (needsEscaping(record)) {\n // Remove from path before returning (to allow shared references)\n pathSet.delete(obj);\n return escapeObject(record);\n }\n // Safe object (no 'lc' key) - recurse into values\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(record)) {\n result[key] = serializeValue(value, pathSet);\n }\n // Remove from path after processing (to allow shared references in other branches)\n pathSet.delete(obj);\n return result;\n }\n\n if (Array.isArray(obj)) {\n // Arrays don't need circular reference tracking since they're handled by object tracking\n return obj.map((item) => serializeValue(item, pathSet));\n }\n\n if (\n typeof obj === \"string\" ||\n typeof obj === \"number\" ||\n typeof obj === \"boolean\" ||\n obj === null\n ) {\n return obj;\n }\n\n // Non-JSON-serializable object (Date, custom objects, etc.)\n return createNotImplemented(obj);\n}\n\n/**\n * Serialize a `Serializable` object with escaping of user data in kwargs.\n *\n * @param obj - The `Serializable` object to serialize.\n * @param pathSet - WeakSet to track ancestor objects in the current path to detect circular references.\n * The Serializable object is kept in the path set to detect if it appears in its own kwargs.\n * @returns The serialized object with user data in kwargs escaped as needed.\n *\n * @remarks\n * Kwargs values are processed with `serializeValue` to escape user data (like\n * metadata) that contains `'lc'` keys. Secret fields (from `lc_secrets`) are\n * skipped because `toJSON()` replaces their values with secret markers.\n */\nexport function serializeLcObject(\n obj: SerializableLike,\n pathSet: WeakSet<object> = new WeakSet()\n): {\n lc: number;\n type: string;\n id: string[];\n kwargs?: Record<string, unknown>;\n} {\n // Add object to path set to detect if it appears in its own kwargs (circular reference)\n // Note: We intentionally don't remove this after processing because a Serializable\n // appearing in its own kwargs is always a circular reference that should be detected.\n pathSet.add(obj);\n\n // Secret fields are handled by toJSON() - it replaces values with secret markers\n const secretFields = new Set(Object.keys(obj.lc_secrets ?? {}));\n\n const serialized = { ...obj.toJSON() };\n\n // Process kwargs to escape user data that could be confused with LC objects\n // Skip secret fields - toJSON() already converted them to secret markers\n if (serialized.type === \"constructor\" && serialized.kwargs) {\n const newKwargs: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(serialized.kwargs)) {\n if (secretFields.has(key)) {\n newKwargs[key] = value;\n } else {\n newKwargs[key] = serializeValue(value, pathSet);\n }\n }\n serialized.kwargs = newKwargs;\n }\n\n return serialized;\n}\n\n/**\n * Escape a value if it needs escaping (contains `lc` key).\n *\n * This is a simpler version of `serializeValue` that doesn't handle Serializable\n * objects - it's meant to be called on kwargs values that have already been\n * processed by `toJSON()`.\n *\n * @param value - The value to potentially escape.\n * @param pathSet - WeakSet to track ancestor objects in the current path to detect circular references.\n * Objects are removed after processing to allow shared references (same object in\n * multiple places) while still detecting true circular references (ancestor in descendant).\n * @returns The value with any `lc`-containing objects wrapped in escape markers.\n */\nexport function escapeIfNeeded(\n value: unknown,\n pathSet: WeakSet<object> = new WeakSet()\n): unknown {\n if (value !== null && typeof value === \"object\" && !Array.isArray(value)) {\n // Check for circular reference - only if this object is an ancestor in the current path\n if (pathSet.has(value)) {\n // Replace circular reference with a not_implemented marker\n return createNotImplemented(value);\n }\n\n // Preserve Serializable objects - they have their own toJSON() that will be\n // called by JSON.stringify. We don't want to convert them to plain objects.\n if (isSerializableLike(value)) {\n return value;\n }\n\n // Add to path before processing children\n pathSet.add(value);\n\n const record = value as Record<string, unknown>;\n // Check if object needs escaping BEFORE recursing into values.\n // If it needs escaping, wrap it as-is - the contents are user data that\n // will be returned as-is during deserialization (no instantiation).\n if (needsEscaping(record)) {\n // Remove from path before returning (to allow shared references)\n pathSet.delete(value);\n return escapeObject(record);\n }\n // Safe object (no 'lc' key) - recurse into values\n const result: Record<string, unknown> = {};\n for (const [key, val] of Object.entries(record)) {\n result[key] = escapeIfNeeded(val, pathSet);\n }\n // Remove from path after processing (to allow shared references in other branches)\n pathSet.delete(value);\n return result;\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => escapeIfNeeded(item, pathSet));\n }\n\n return value;\n}\n\n/**\n * Unescape a value, processing escape markers in object values and arrays.\n *\n * When an escaped object is encountered (`{\"__lc_escaped__\": ...}`), it's\n * unwrapped and the contents are returned AS-IS (no further processing).\n * The contents represent user data that should not be modified.\n *\n * For regular objects and arrays, we recurse to find any nested escape markers.\n *\n * @param obj - The value to unescape.\n * @returns The unescaped value.\n */\nexport function unescapeValue(obj: unknown): unknown {\n if (obj !== null && typeof obj === \"object\" && !Array.isArray(obj)) {\n const record = obj as Record<string, unknown>;\n if (isEscapedObject(record)) {\n // Unwrap and return the user data as-is (no further unescaping).\n // The contents are user data that may contain more escape keys,\n // but those are part of the user's actual data.\n return record[LC_ESCAPED_KEY];\n }\n\n // Regular object - recurse into values to find nested escape markers\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(record)) {\n result[key] = unescapeValue(value);\n }\n return result;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => unescapeValue(item));\n }\n\n return obj;\n}\n"],"mappings":";;;;;;;AAMA,MAAa,iBAAiB;;;;;;;;AAS9B,SAAgB,cAAc,KAAuC;AACnE,QACE,QAAQ,OAAQ,OAAO,KAAK,IAAI,CAAC,WAAW,KAAA,oBAAuB;;;;;;;;;;AAYvE,SAAgB,aACd,KACyB;AACzB,QAAO,GAAG,iBAAiB,KAAK;;;;;;;;;;AAWlC,SAAgB,gBAAgB,KAAuC;AACrE,QAAO,OAAO,KAAK,IAAI,CAAC,WAAW,KAAA,oBAAuB;;;;;AAqB5D,SAAS,mBAAmB,KAAuC;AACjE,QACE,QAAQ,QACR,OAAO,QAAQ,YACf,qBAAqB,OACrB,OAAQ,IAAyB,WAAW;;;;;AAOhD,SAAS,qBAAqB,KAI5B;CACA,IAAI;AACJ,KAAI,QAAQ,QAAQ,OAAO,QAAQ,SACjC,KAAI,WAAW,OAAO,MAAM,QAAQ,IAAI,MAAM,CAC5C,MAAK,IAAI;KAET,MAAK,CAAC,IAAI,aAAa,QAAQ,SAAS;KAG1C,MAAK,CAAC,OAAO,IAAI;AAEnB,QAAO;EACL,IAAI;EACJ,MAAM;EACN;EACD;;;;;;;;;;;;;;;AAqIH,SAAgB,eACd,OACA,0BAA2B,IAAI,SAAS,EAC/B;AACT,KAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM,EAAE;AAExE,MAAI,QAAQ,IAAI,MAAM,CAEpB,QAAO,qBAAqB,MAAM;AAKpC,MAAI,mBAAmB,MAAM,CAC3B,QAAO;AAIT,UAAQ,IAAI,MAAM;EAElB,MAAM,SAAS;AAIf,MAAI,cAAc,OAAO,EAAE;AAEzB,WAAQ,OAAO,MAAM;AACrB,UAAO,aAAa,OAAO;;EAG7B,MAAM,SAAkC,EAAE;AAC1C,OAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,OAAO,CAC7C,QAAO,OAAO,eAAe,KAAK,QAAQ;AAG5C,UAAQ,OAAO,MAAM;AACrB,SAAO;;AAGT,KAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,MAAM,KAAK,SAAS,eAAe,MAAM,QAAQ,CAAC;AAG3D,QAAO;;;;;;;;;;;;;;AAeT,SAAgB,cAAc,KAAuB;AACnD,KAAI,QAAQ,QAAQ,OAAO,QAAQ,YAAY,CAAC,MAAM,QAAQ,IAAI,EAAE;EAClE,MAAM,SAAS;AACf,MAAI,gBAAgB,OAAO,CAIzB,QAAO,OAAO;EAIhB,MAAM,SAAkC,EAAE;AAC1C,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,CAC/C,QAAO,OAAO,cAAc,MAAM;AAEpC,SAAO;;AAGT,KAAI,MAAM,QAAQ,IAAI,CACpB,QAAO,IAAI,KAAK,SAAS,cAAc,KAAK,CAAC;AAG/C,QAAO"}