@langchain/core 1.3.4 → 1.3.6

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 (1278) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/_virtual/_rolldown/runtime.cjs +1 -2
  3. package/dist/_virtual/_rolldown/runtime.js +1 -2
  4. package/dist/agents.cjs +1 -2
  5. package/dist/agents.d.cts +0 -2
  6. package/dist/agents.d.cts.map +1 -1
  7. package/dist/agents.d.ts +0 -2
  8. package/dist/agents.d.ts.map +1 -1
  9. package/dist/agents.js +1 -2
  10. package/dist/caches/index.cjs +1 -2
  11. package/dist/caches/index.d.cts +3 -5
  12. package/dist/caches/index.d.cts.map +1 -1
  13. package/dist/caches/index.d.ts +3 -5
  14. package/dist/caches/index.d.ts.map +1 -1
  15. package/dist/caches/index.js +1 -2
  16. package/dist/callbacks/base.cjs +2 -3
  17. package/dist/callbacks/base.d.cts +6 -7
  18. package/dist/callbacks/base.d.cts.map +1 -1
  19. package/dist/callbacks/base.d.ts +6 -7
  20. package/dist/callbacks/base.d.ts.map +1 -1
  21. package/dist/callbacks/base.js +2 -3
  22. package/dist/callbacks/dispatch/index.cjs +3 -4
  23. package/dist/callbacks/dispatch/index.d.cts +0 -2
  24. package/dist/callbacks/dispatch/index.d.cts.map +1 -1
  25. package/dist/callbacks/dispatch/index.d.ts +0 -2
  26. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  27. package/dist/callbacks/dispatch/index.js +3 -4
  28. package/dist/callbacks/dispatch/web.cjs +1 -2
  29. package/dist/callbacks/dispatch/web.d.cts +0 -2
  30. package/dist/callbacks/dispatch/web.d.cts.map +1 -1
  31. package/dist/callbacks/dispatch/web.d.ts +0 -2
  32. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  33. package/dist/callbacks/dispatch/web.js +1 -2
  34. package/dist/callbacks/manager.cjs +5 -6
  35. package/dist/callbacks/manager.d.cts +6 -7
  36. package/dist/callbacks/manager.d.cts.map +1 -1
  37. package/dist/callbacks/manager.d.ts +6 -7
  38. package/dist/callbacks/manager.d.ts.map +1 -1
  39. package/dist/callbacks/manager.js +5 -6
  40. package/dist/callbacks/promises.cjs +1 -2
  41. package/dist/callbacks/promises.js +1 -2
  42. package/dist/chat_history.cjs +1 -2
  43. package/dist/chat_history.d.cts +0 -2
  44. package/dist/chat_history.d.cts.map +1 -1
  45. package/dist/chat_history.d.ts +0 -2
  46. package/dist/chat_history.d.ts.map +1 -1
  47. package/dist/chat_history.js +1 -2
  48. package/dist/context.cjs +3 -4
  49. package/dist/context.d.cts +0 -2
  50. package/dist/context.d.cts.map +1 -1
  51. package/dist/context.d.ts +0 -2
  52. package/dist/context.d.ts.map +1 -1
  53. package/dist/context.js +3 -4
  54. package/dist/document_loaders/base.cjs +1 -2
  55. package/dist/document_loaders/base.d.cts +0 -2
  56. package/dist/document_loaders/base.d.cts.map +1 -1
  57. package/dist/document_loaders/base.d.ts +0 -2
  58. package/dist/document_loaders/base.d.ts.map +1 -1
  59. package/dist/document_loaders/base.js +1 -2
  60. package/dist/document_loaders/langsmith.cjs +1 -2
  61. package/dist/document_loaders/langsmith.d.cts +1 -2
  62. package/dist/document_loaders/langsmith.d.cts.map +1 -1
  63. package/dist/document_loaders/langsmith.d.ts +1 -2
  64. package/dist/document_loaders/langsmith.d.ts.map +1 -1
  65. package/dist/document_loaders/langsmith.js +1 -2
  66. package/dist/documents/document.cjs +1 -2
  67. package/dist/documents/document.d.cts +0 -2
  68. package/dist/documents/document.d.cts.map +1 -1
  69. package/dist/documents/document.d.ts +0 -2
  70. package/dist/documents/document.d.ts.map +1 -1
  71. package/dist/documents/document.js +1 -2
  72. package/dist/documents/index.cjs +1 -2
  73. package/dist/documents/index.js +1 -2
  74. package/dist/documents/transformers.cjs +1 -2
  75. package/dist/documents/transformers.d.cts +2 -4
  76. package/dist/documents/transformers.d.cts.map +1 -1
  77. package/dist/documents/transformers.d.ts +2 -4
  78. package/dist/documents/transformers.d.ts.map +1 -1
  79. package/dist/documents/transformers.js +1 -2
  80. package/dist/embeddings.cjs +1 -2
  81. package/dist/embeddings.d.cts +0 -2
  82. package/dist/embeddings.d.cts.map +1 -1
  83. package/dist/embeddings.d.ts +0 -2
  84. package/dist/embeddings.d.ts.map +1 -1
  85. package/dist/embeddings.js +1 -2
  86. package/dist/errors/index.cjs +1 -2
  87. package/dist/errors/index.d.cts +1 -3
  88. package/dist/errors/index.d.cts.map +1 -1
  89. package/dist/errors/index.d.ts +1 -3
  90. package/dist/errors/index.d.ts.map +1 -1
  91. package/dist/errors/index.js +1 -2
  92. package/dist/example_selectors/base.cjs +1 -2
  93. package/dist/example_selectors/base.d.cts +0 -2
  94. package/dist/example_selectors/base.d.cts.map +1 -1
  95. package/dist/example_selectors/base.d.ts +0 -2
  96. package/dist/example_selectors/base.d.ts.map +1 -1
  97. package/dist/example_selectors/base.js +1 -2
  98. package/dist/example_selectors/conditional.cjs +1 -2
  99. package/dist/example_selectors/conditional.d.cts +3 -5
  100. package/dist/example_selectors/conditional.d.cts.map +1 -1
  101. package/dist/example_selectors/conditional.d.ts +3 -5
  102. package/dist/example_selectors/conditional.d.ts.map +1 -1
  103. package/dist/example_selectors/conditional.js +1 -2
  104. package/dist/example_selectors/index.cjs +1 -2
  105. package/dist/example_selectors/index.js +1 -2
  106. package/dist/example_selectors/length_based.cjs +1 -2
  107. package/dist/example_selectors/length_based.d.cts +0 -2
  108. package/dist/example_selectors/length_based.d.cts.map +1 -1
  109. package/dist/example_selectors/length_based.d.ts +0 -2
  110. package/dist/example_selectors/length_based.d.ts.map +1 -1
  111. package/dist/example_selectors/length_based.js +1 -2
  112. package/dist/example_selectors/semantic_similarity.cjs +1 -2
  113. package/dist/example_selectors/semantic_similarity.d.cts +1 -3
  114. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
  115. package/dist/example_selectors/semantic_similarity.d.ts +1 -3
  116. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
  117. package/dist/example_selectors/semantic_similarity.js +1 -2
  118. package/dist/index.cjs +1 -2
  119. package/dist/index.js +1 -2
  120. package/dist/indexing/base.cjs +3 -4
  121. package/dist/indexing/base.d.cts +3 -4
  122. package/dist/indexing/base.d.cts.map +1 -1
  123. package/dist/indexing/base.d.ts +3 -4
  124. package/dist/indexing/base.d.ts.map +1 -1
  125. package/dist/indexing/base.js +3 -4
  126. package/dist/indexing/index.cjs +1 -2
  127. package/dist/indexing/index.js +1 -2
  128. package/dist/indexing/record_manager.cjs +1 -2
  129. package/dist/indexing/record_manager.d.cts +0 -2
  130. package/dist/indexing/record_manager.d.cts.map +1 -1
  131. package/dist/indexing/record_manager.d.ts +0 -2
  132. package/dist/indexing/record_manager.d.ts.map +1 -1
  133. package/dist/indexing/record_manager.js +1 -2
  134. package/dist/language_models/base.cjs +5 -6
  135. package/dist/language_models/base.d.cts +7 -8
  136. package/dist/language_models/base.d.cts.map +1 -1
  137. package/dist/language_models/base.d.ts +7 -8
  138. package/dist/language_models/base.d.ts.map +1 -1
  139. package/dist/language_models/base.js +5 -6
  140. package/dist/language_models/chat_models.cjs +9 -10
  141. package/dist/language_models/chat_models.d.cts +11 -13
  142. package/dist/language_models/chat_models.d.cts.map +1 -1
  143. package/dist/language_models/chat_models.d.ts +11 -13
  144. package/dist/language_models/chat_models.d.ts.map +1 -1
  145. package/dist/language_models/chat_models.js +9 -10
  146. package/dist/language_models/compat.cjs +1 -2
  147. package/dist/language_models/compat.d.cts +0 -2
  148. package/dist/language_models/compat.d.cts.map +1 -1
  149. package/dist/language_models/compat.d.ts +0 -2
  150. package/dist/language_models/compat.d.ts.map +1 -1
  151. package/dist/language_models/compat.js +1 -2
  152. package/dist/language_models/event.cjs +1 -2
  153. package/dist/language_models/event.d.cts +0 -2
  154. package/dist/language_models/event.d.cts.map +1 -1
  155. package/dist/language_models/event.d.ts +0 -2
  156. package/dist/language_models/event.d.ts.map +1 -1
  157. package/dist/language_models/event.js +1 -2
  158. package/dist/language_models/llms.cjs +4 -5
  159. package/dist/language_models/llms.d.cts +3 -5
  160. package/dist/language_models/llms.d.cts.map +1 -1
  161. package/dist/language_models/llms.d.ts +3 -5
  162. package/dist/language_models/llms.d.ts.map +1 -1
  163. package/dist/language_models/llms.js +4 -5
  164. package/dist/language_models/openai_completions_stream.cjs +1 -2
  165. package/dist/language_models/openai_completions_stream.d.cts +0 -2
  166. package/dist/language_models/openai_completions_stream.d.cts.map +1 -1
  167. package/dist/language_models/openai_completions_stream.d.ts +0 -2
  168. package/dist/language_models/openai_completions_stream.d.ts.map +1 -1
  169. package/dist/language_models/openai_completions_stream.js +1 -2
  170. package/dist/language_models/profile.cjs +1 -2
  171. package/dist/language_models/profile.d.cts +0 -2
  172. package/dist/language_models/profile.d.cts.map +1 -1
  173. package/dist/language_models/profile.d.ts +0 -2
  174. package/dist/language_models/profile.d.ts.map +1 -1
  175. package/dist/language_models/profile.js +1 -2
  176. package/dist/language_models/stream.cjs +1 -2
  177. package/dist/language_models/stream.d.cts +2 -3
  178. package/dist/language_models/stream.d.cts.map +1 -1
  179. package/dist/language_models/stream.d.ts +2 -3
  180. package/dist/language_models/stream.d.ts.map +1 -1
  181. package/dist/language_models/stream.js +1 -2
  182. package/dist/language_models/structured_output.cjs +5 -6
  183. package/dist/language_models/structured_output.d.cts +6 -7
  184. package/dist/language_models/structured_output.d.cts.map +1 -1
  185. package/dist/language_models/structured_output.d.ts +6 -7
  186. package/dist/language_models/structured_output.d.ts.map +1 -1
  187. package/dist/language_models/structured_output.js +5 -6
  188. package/dist/language_models/utils.cjs +1 -2
  189. package/dist/language_models/utils.js +1 -2
  190. package/dist/load/import_constants.cjs +1 -2
  191. package/dist/load/import_constants.js +1 -2
  192. package/dist/load/import_map.cjs +33 -34
  193. package/dist/load/import_map.js +43 -44
  194. package/dist/load/import_type.d.cts +0 -2
  195. package/dist/load/import_type.d.cts.map +1 -1
  196. package/dist/load/import_type.d.ts +0 -2
  197. package/dist/load/import_type.d.ts.map +1 -1
  198. package/dist/load/index.cjs +4 -5
  199. package/dist/load/index.d.cts +0 -2
  200. package/dist/load/index.d.cts.map +1 -1
  201. package/dist/load/index.d.ts +0 -2
  202. package/dist/load/index.d.ts.map +1 -1
  203. package/dist/load/index.js +4 -5
  204. package/dist/load/map_keys.cjs +1 -2
  205. package/dist/load/map_keys.d.cts +0 -2
  206. package/dist/load/map_keys.d.cts.map +1 -1
  207. package/dist/load/map_keys.d.ts +0 -2
  208. package/dist/load/map_keys.d.ts.map +1 -1
  209. package/dist/load/map_keys.js +1 -2
  210. package/dist/load/serializable.cjs +1 -2
  211. package/dist/load/serializable.d.cts +0 -2
  212. package/dist/load/serializable.d.cts.map +1 -1
  213. package/dist/load/serializable.d.ts +0 -2
  214. package/dist/load/serializable.d.ts.map +1 -1
  215. package/dist/load/serializable.js +1 -2
  216. package/dist/load/validation.cjs +1 -2
  217. package/dist/load/validation.js +1 -2
  218. package/dist/memory.cjs +1 -2
  219. package/dist/memory.d.cts +0 -2
  220. package/dist/memory.d.cts.map +1 -1
  221. package/dist/memory.d.ts +0 -2
  222. package/dist/memory.d.ts.map +1 -1
  223. package/dist/memory.js +1 -2
  224. package/dist/messages/ai.cjs +1 -2
  225. package/dist/messages/ai.d.cts +2 -4
  226. package/dist/messages/ai.d.cts.map +1 -1
  227. package/dist/messages/ai.d.ts +2 -4
  228. package/dist/messages/ai.d.ts.map +1 -1
  229. package/dist/messages/ai.js +1 -2
  230. package/dist/messages/base.cjs +1 -2
  231. package/dist/messages/base.d.cts +3 -4
  232. package/dist/messages/base.d.cts.map +1 -1
  233. package/dist/messages/base.d.ts +3 -4
  234. package/dist/messages/base.d.ts.map +1 -1
  235. package/dist/messages/base.js +1 -2
  236. package/dist/messages/block_translators/anthropic.cjs +1 -2
  237. package/dist/messages/block_translators/anthropic.js +1 -2
  238. package/dist/messages/block_translators/bedrock_converse.cjs +1 -2
  239. package/dist/messages/block_translators/bedrock_converse.js +1 -2
  240. package/dist/messages/block_translators/data.cjs +1 -2
  241. package/dist/messages/block_translators/data.js +1 -2
  242. package/dist/messages/block_translators/deepseek.cjs +1 -2
  243. package/dist/messages/block_translators/deepseek.js +1 -2
  244. package/dist/messages/block_translators/google.cjs +1 -2
  245. package/dist/messages/block_translators/google.js +1 -2
  246. package/dist/messages/block_translators/google_genai.cjs +1 -2
  247. package/dist/messages/block_translators/google_genai.js +1 -2
  248. package/dist/messages/block_translators/google_vertexai.cjs +1 -2
  249. package/dist/messages/block_translators/google_vertexai.js +1 -2
  250. package/dist/messages/block_translators/groq.cjs +1 -2
  251. package/dist/messages/block_translators/groq.js +1 -2
  252. package/dist/messages/block_translators/index.cjs +2 -3
  253. package/dist/messages/block_translators/index.js +2 -3
  254. package/dist/messages/block_translators/ollama.cjs +1 -2
  255. package/dist/messages/block_translators/ollama.js +1 -2
  256. package/dist/messages/block_translators/openai.cjs +2 -3
  257. package/dist/messages/block_translators/openai.js +2 -3
  258. package/dist/messages/block_translators/openrouter.cjs +1 -2
  259. package/dist/messages/block_translators/openrouter.js +1 -2
  260. package/dist/messages/block_translators/utils.cjs +1 -2
  261. package/dist/messages/block_translators/utils.js +1 -2
  262. package/dist/messages/block_translators/xai.cjs +1 -2
  263. package/dist/messages/block_translators/xai.js +1 -2
  264. package/dist/messages/chat.cjs +1 -2
  265. package/dist/messages/chat.d.cts +1 -3
  266. package/dist/messages/chat.d.cts.map +1 -1
  267. package/dist/messages/chat.d.ts +1 -3
  268. package/dist/messages/chat.d.ts.map +1 -1
  269. package/dist/messages/chat.js +1 -2
  270. package/dist/messages/content/base.d.cts +0 -2
  271. package/dist/messages/content/base.d.cts.map +1 -1
  272. package/dist/messages/content/base.d.ts +0 -2
  273. package/dist/messages/content/base.d.ts.map +1 -1
  274. package/dist/messages/content/data.cjs +1 -2
  275. package/dist/messages/content/data.d.cts +0 -2
  276. package/dist/messages/content/data.d.cts.map +1 -1
  277. package/dist/messages/content/data.d.ts +0 -2
  278. package/dist/messages/content/data.d.ts.map +1 -1
  279. package/dist/messages/content/data.js +1 -2
  280. package/dist/messages/content/index.cjs +1 -2
  281. package/dist/messages/content/index.d.cts +0 -2
  282. package/dist/messages/content/index.d.cts.map +1 -1
  283. package/dist/messages/content/index.d.ts +0 -2
  284. package/dist/messages/content/index.d.ts.map +1 -1
  285. package/dist/messages/content/index.js +1 -2
  286. package/dist/messages/content/multimodal.cjs +1 -2
  287. package/dist/messages/content/multimodal.d.cts +0 -2
  288. package/dist/messages/content/multimodal.d.cts.map +1 -1
  289. package/dist/messages/content/multimodal.d.ts +0 -2
  290. package/dist/messages/content/multimodal.d.ts.map +1 -1
  291. package/dist/messages/content/multimodal.js +1 -2
  292. package/dist/messages/content/tools.cjs +1 -2
  293. package/dist/messages/content/tools.d.cts +0 -2
  294. package/dist/messages/content/tools.d.cts.map +1 -1
  295. package/dist/messages/content/tools.d.ts +0 -2
  296. package/dist/messages/content/tools.d.ts.map +1 -1
  297. package/dist/messages/content/tools.js +1 -2
  298. package/dist/messages/format.cjs +1 -2
  299. package/dist/messages/format.d.cts +0 -2
  300. package/dist/messages/format.d.cts.map +1 -1
  301. package/dist/messages/format.d.ts +0 -2
  302. package/dist/messages/format.d.ts.map +1 -1
  303. package/dist/messages/format.js +1 -2
  304. package/dist/messages/function.cjs +1 -2
  305. package/dist/messages/function.d.cts +1 -3
  306. package/dist/messages/function.d.cts.map +1 -1
  307. package/dist/messages/function.d.ts +1 -3
  308. package/dist/messages/function.d.ts.map +1 -1
  309. package/dist/messages/function.js +1 -2
  310. package/dist/messages/human.cjs +1 -2
  311. package/dist/messages/human.d.cts +1 -3
  312. package/dist/messages/human.d.cts.map +1 -1
  313. package/dist/messages/human.d.ts +1 -3
  314. package/dist/messages/human.d.ts.map +1 -1
  315. package/dist/messages/human.js +1 -2
  316. package/dist/messages/index.cjs +7 -8
  317. package/dist/messages/index.d.cts +6 -6
  318. package/dist/messages/index.d.ts +6 -6
  319. package/dist/messages/index.js +7 -8
  320. package/dist/messages/message.cjs +1 -2
  321. package/dist/messages/message.d.cts +1 -2
  322. package/dist/messages/message.d.cts.map +1 -1
  323. package/dist/messages/message.d.ts +1 -2
  324. package/dist/messages/message.d.ts.map +1 -1
  325. package/dist/messages/message.js +1 -2
  326. package/dist/messages/metadata.cjs +1 -2
  327. package/dist/messages/metadata.d.cts +0 -2
  328. package/dist/messages/metadata.d.cts.map +1 -1
  329. package/dist/messages/metadata.d.ts +0 -2
  330. package/dist/messages/metadata.d.ts.map +1 -1
  331. package/dist/messages/metadata.js +1 -2
  332. package/dist/messages/modifier.cjs +1 -2
  333. package/dist/messages/modifier.d.cts +0 -2
  334. package/dist/messages/modifier.d.cts.map +1 -1
  335. package/dist/messages/modifier.d.ts +0 -2
  336. package/dist/messages/modifier.d.ts.map +1 -1
  337. package/dist/messages/modifier.js +1 -2
  338. package/dist/messages/notification.cjs +1 -2
  339. package/dist/messages/notification.d.cts +0 -2
  340. package/dist/messages/notification.d.cts.map +1 -1
  341. package/dist/messages/notification.d.ts +0 -2
  342. package/dist/messages/notification.d.ts.map +1 -1
  343. package/dist/messages/notification.js +1 -2
  344. package/dist/messages/system.cjs +1 -2
  345. package/dist/messages/system.d.cts +1 -3
  346. package/dist/messages/system.d.cts.map +1 -1
  347. package/dist/messages/system.d.ts +1 -3
  348. package/dist/messages/system.d.ts.map +1 -1
  349. package/dist/messages/system.js +1 -2
  350. package/dist/messages/tool.cjs +1 -2
  351. package/dist/messages/tool.d.cts +1 -3
  352. package/dist/messages/tool.d.cts.map +1 -1
  353. package/dist/messages/tool.d.ts +1 -3
  354. package/dist/messages/tool.d.ts.map +1 -1
  355. package/dist/messages/tool.js +1 -2
  356. package/dist/messages/transformers.cjs +8 -9
  357. package/dist/messages/transformers.cjs.map +1 -1
  358. package/dist/messages/transformers.d.cts +6 -7
  359. package/dist/messages/transformers.d.cts.map +1 -1
  360. package/dist/messages/transformers.d.ts +6 -7
  361. package/dist/messages/transformers.d.ts.map +1 -1
  362. package/dist/messages/transformers.js +4 -5
  363. package/dist/messages/utils.cjs +3 -4
  364. package/dist/messages/utils.d.cts +4 -5
  365. package/dist/messages/utils.d.cts.map +1 -1
  366. package/dist/messages/utils.d.ts +4 -5
  367. package/dist/messages/utils.d.ts.map +1 -1
  368. package/dist/messages/utils.js +3 -4
  369. package/dist/output_parsers/base.cjs +3 -4
  370. package/dist/output_parsers/base.d.cts +5 -7
  371. package/dist/output_parsers/base.d.cts.map +1 -1
  372. package/dist/output_parsers/base.d.ts +5 -7
  373. package/dist/output_parsers/base.d.ts.map +1 -1
  374. package/dist/output_parsers/base.js +3 -4
  375. package/dist/output_parsers/bytes.cjs +1 -2
  376. package/dist/output_parsers/bytes.d.cts +0 -2
  377. package/dist/output_parsers/bytes.d.cts.map +1 -1
  378. package/dist/output_parsers/bytes.d.ts +0 -2
  379. package/dist/output_parsers/bytes.d.ts.map +1 -1
  380. package/dist/output_parsers/bytes.js +1 -2
  381. package/dist/output_parsers/index.cjs +3 -4
  382. package/dist/output_parsers/index.d.cts +1 -1
  383. package/dist/output_parsers/index.d.ts +1 -1
  384. package/dist/output_parsers/index.js +3 -4
  385. package/dist/output_parsers/json.cjs +3 -4
  386. package/dist/output_parsers/json.d.cts +2 -4
  387. package/dist/output_parsers/json.d.cts.map +1 -1
  388. package/dist/output_parsers/json.d.ts +2 -4
  389. package/dist/output_parsers/json.d.ts.map +1 -1
  390. package/dist/output_parsers/json.js +3 -4
  391. package/dist/output_parsers/list.cjs +1 -2
  392. package/dist/output_parsers/list.d.cts +0 -2
  393. package/dist/output_parsers/list.d.cts.map +1 -1
  394. package/dist/output_parsers/list.d.ts +0 -2
  395. package/dist/output_parsers/list.d.ts.map +1 -1
  396. package/dist/output_parsers/list.js +1 -2
  397. package/dist/output_parsers/openai_functions/index.cjs +1 -2
  398. package/dist/output_parsers/openai_functions/index.js +1 -2
  399. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +2 -3
  400. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +3 -5
  401. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
  402. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +3 -5
  403. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  404. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +2 -3
  405. package/dist/output_parsers/openai_tools/index.cjs +1 -2
  406. package/dist/output_parsers/openai_tools/index.js +1 -2
  407. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +4 -5
  408. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +4 -5
  409. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
  410. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +4 -5
  411. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
  412. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +4 -5
  413. package/dist/output_parsers/standard_schema.cjs +1 -2
  414. package/dist/output_parsers/standard_schema.d.cts +1 -3
  415. package/dist/output_parsers/standard_schema.d.cts.map +1 -1
  416. package/dist/output_parsers/standard_schema.d.ts +1 -3
  417. package/dist/output_parsers/standard_schema.d.ts.map +1 -1
  418. package/dist/output_parsers/standard_schema.js +1 -2
  419. package/dist/output_parsers/string.cjs +1 -2
  420. package/dist/output_parsers/string.d.cts +1 -3
  421. package/dist/output_parsers/string.d.cts.map +1 -1
  422. package/dist/output_parsers/string.d.ts +1 -3
  423. package/dist/output_parsers/string.d.ts.map +1 -1
  424. package/dist/output_parsers/string.js +1 -2
  425. package/dist/output_parsers/structured.cjs +2 -3
  426. package/dist/output_parsers/structured.d.cts +2 -4
  427. package/dist/output_parsers/structured.d.cts.map +1 -1
  428. package/dist/output_parsers/structured.d.ts +2 -4
  429. package/dist/output_parsers/structured.d.ts.map +1 -1
  430. package/dist/output_parsers/structured.js +2 -3
  431. package/dist/output_parsers/transform.cjs +6 -7
  432. package/dist/output_parsers/transform.cjs.map +1 -1
  433. package/dist/output_parsers/transform.d.cts +2 -4
  434. package/dist/output_parsers/transform.d.cts.map +1 -1
  435. package/dist/output_parsers/transform.d.ts +2 -4
  436. package/dist/output_parsers/transform.d.ts.map +1 -1
  437. package/dist/output_parsers/transform.js +2 -3
  438. package/dist/output_parsers/xml.cjs +1 -2
  439. package/dist/output_parsers/xml.d.cts +2 -4
  440. package/dist/output_parsers/xml.d.cts.map +1 -1
  441. package/dist/output_parsers/xml.d.ts +2 -4
  442. package/dist/output_parsers/xml.d.ts.map +1 -1
  443. package/dist/output_parsers/xml.js +1 -2
  444. package/dist/outputs.cjs +1 -2
  445. package/dist/outputs.d.cts +0 -2
  446. package/dist/outputs.d.cts.map +1 -1
  447. package/dist/outputs.d.ts +0 -2
  448. package/dist/outputs.d.ts.map +1 -1
  449. package/dist/outputs.js +1 -2
  450. package/dist/prompt_values.cjs +1 -2
  451. package/dist/prompt_values.d.cts +1 -3
  452. package/dist/prompt_values.d.cts.map +1 -1
  453. package/dist/prompt_values.d.ts +1 -3
  454. package/dist/prompt_values.d.ts.map +1 -1
  455. package/dist/prompt_values.js +1 -2
  456. package/dist/prompts/base.cjs +1 -2
  457. package/dist/prompts/base.d.cts +3 -5
  458. package/dist/prompts/base.d.cts.map +1 -1
  459. package/dist/prompts/base.d.ts +3 -5
  460. package/dist/prompts/base.d.ts.map +1 -1
  461. package/dist/prompts/base.js +1 -2
  462. package/dist/prompts/chat.cjs +6 -7
  463. package/dist/prompts/chat.d.cts +5 -6
  464. package/dist/prompts/chat.d.cts.map +1 -1
  465. package/dist/prompts/chat.d.ts +5 -6
  466. package/dist/prompts/chat.d.ts.map +1 -1
  467. package/dist/prompts/chat.js +6 -7
  468. package/dist/prompts/dict.cjs +10 -8
  469. package/dist/prompts/dict.cjs.map +1 -1
  470. package/dist/prompts/dict.d.cts +1 -3
  471. package/dist/prompts/dict.d.cts.map +1 -1
  472. package/dist/prompts/dict.d.ts +1 -3
  473. package/dist/prompts/dict.d.ts.map +1 -1
  474. package/dist/prompts/dict.js +10 -8
  475. package/dist/prompts/dict.js.map +1 -1
  476. package/dist/prompts/few_shot.cjs +1 -2
  477. package/dist/prompts/few_shot.d.cts +4 -6
  478. package/dist/prompts/few_shot.d.cts.map +1 -1
  479. package/dist/prompts/few_shot.d.ts +4 -6
  480. package/dist/prompts/few_shot.d.ts.map +1 -1
  481. package/dist/prompts/few_shot.js +1 -2
  482. package/dist/prompts/image.cjs +1 -2
  483. package/dist/prompts/image.d.cts +2 -4
  484. package/dist/prompts/image.d.cts.map +1 -1
  485. package/dist/prompts/image.d.ts +2 -4
  486. package/dist/prompts/image.d.ts.map +1 -1
  487. package/dist/prompts/image.js +1 -2
  488. package/dist/prompts/index.cjs +6 -7
  489. package/dist/prompts/index.d.cts +6 -6
  490. package/dist/prompts/index.d.ts +6 -6
  491. package/dist/prompts/index.js +6 -7
  492. package/dist/prompts/pipeline.cjs +1 -2
  493. package/dist/prompts/pipeline.d.cts +1 -3
  494. package/dist/prompts/pipeline.d.cts.map +1 -1
  495. package/dist/prompts/pipeline.d.ts +1 -3
  496. package/dist/prompts/pipeline.d.ts.map +1 -1
  497. package/dist/prompts/pipeline.js +1 -2
  498. package/dist/prompts/prompt.cjs +1 -2
  499. package/dist/prompts/prompt.d.cts +4 -5
  500. package/dist/prompts/prompt.d.cts.map +1 -1
  501. package/dist/prompts/prompt.d.ts +4 -5
  502. package/dist/prompts/prompt.d.ts.map +1 -1
  503. package/dist/prompts/prompt.js +1 -2
  504. package/dist/prompts/serde.d.cts +0 -2
  505. package/dist/prompts/serde.d.cts.map +1 -1
  506. package/dist/prompts/serde.d.ts +0 -2
  507. package/dist/prompts/serde.d.ts.map +1 -1
  508. package/dist/prompts/string.cjs +1 -2
  509. package/dist/prompts/string.d.cts +0 -2
  510. package/dist/prompts/string.d.cts.map +1 -1
  511. package/dist/prompts/string.d.ts +0 -2
  512. package/dist/prompts/string.d.ts.map +1 -1
  513. package/dist/prompts/string.js +1 -2
  514. package/dist/prompts/structured.cjs +1 -2
  515. package/dist/prompts/structured.d.cts +3 -5
  516. package/dist/prompts/structured.d.cts.map +1 -1
  517. package/dist/prompts/structured.d.ts +3 -5
  518. package/dist/prompts/structured.d.ts.map +1 -1
  519. package/dist/prompts/structured.js +1 -2
  520. package/dist/prompts/template.cjs +5 -4
  521. package/dist/prompts/template.cjs.map +1 -1
  522. package/dist/prompts/template.d.cts +2 -3
  523. package/dist/prompts/template.d.cts.map +1 -1
  524. package/dist/prompts/template.d.ts +2 -3
  525. package/dist/prompts/template.d.ts.map +1 -1
  526. package/dist/prompts/template.js +5 -4
  527. package/dist/prompts/template.js.map +1 -1
  528. package/dist/prompts/utils.cjs +7 -0
  529. package/dist/prompts/utils.cjs.map +1 -0
  530. package/dist/prompts/utils.js +7 -0
  531. package/dist/prompts/utils.js.map +1 -0
  532. package/dist/retrievers/document_compressors/index.cjs +1 -2
  533. package/dist/retrievers/document_compressors/index.d.cts +1 -3
  534. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  535. package/dist/retrievers/document_compressors/index.d.ts +1 -3
  536. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  537. package/dist/retrievers/document_compressors/index.js +1 -2
  538. package/dist/retrievers/index.cjs +2 -3
  539. package/dist/retrievers/index.d.cts +2 -4
  540. package/dist/retrievers/index.d.cts.map +1 -1
  541. package/dist/retrievers/index.d.ts +2 -4
  542. package/dist/retrievers/index.d.ts.map +1 -1
  543. package/dist/retrievers/index.js +2 -3
  544. package/dist/runnables/base.cjs +22 -17
  545. package/dist/runnables/base.cjs.map +1 -1
  546. package/dist/runnables/base.d.cts +7 -9
  547. package/dist/runnables/base.d.cts.map +1 -1
  548. package/dist/runnables/base.d.ts +7 -9
  549. package/dist/runnables/base.d.ts.map +1 -1
  550. package/dist/runnables/base.js +17 -12
  551. package/dist/runnables/base.js.map +1 -1
  552. package/dist/runnables/branch.cjs +2 -3
  553. package/dist/runnables/branch.d.cts +2 -4
  554. package/dist/runnables/branch.d.cts.map +1 -1
  555. package/dist/runnables/branch.d.ts +2 -4
  556. package/dist/runnables/branch.d.ts.map +1 -1
  557. package/dist/runnables/branch.js +2 -3
  558. package/dist/runnables/config.cjs +1 -2
  559. package/dist/runnables/config.d.cts +0 -2
  560. package/dist/runnables/config.d.cts.map +1 -1
  561. package/dist/runnables/config.d.ts +0 -2
  562. package/dist/runnables/config.d.ts.map +1 -1
  563. package/dist/runnables/config.js +1 -2
  564. package/dist/runnables/graph.cjs +1 -2
  565. package/dist/runnables/graph.d.cts +0 -2
  566. package/dist/runnables/graph.d.cts.map +1 -1
  567. package/dist/runnables/graph.d.ts +0 -2
  568. package/dist/runnables/graph.d.ts.map +1 -1
  569. package/dist/runnables/graph.js +1 -2
  570. package/dist/runnables/graph_mermaid.cjs +1 -2
  571. package/dist/runnables/graph_mermaid.js +1 -2
  572. package/dist/runnables/history.cjs +2 -3
  573. package/dist/runnables/history.d.cts +4 -5
  574. package/dist/runnables/history.d.cts.map +1 -1
  575. package/dist/runnables/history.d.ts +4 -5
  576. package/dist/runnables/history.d.ts.map +1 -1
  577. package/dist/runnables/history.js +2 -3
  578. package/dist/runnables/index.cjs +3 -4
  579. package/dist/runnables/index.d.cts +1 -1
  580. package/dist/runnables/index.d.ts +1 -1
  581. package/dist/runnables/index.js +3 -4
  582. package/dist/runnables/iter.cjs +1 -2
  583. package/dist/runnables/iter.js +1 -2
  584. package/dist/runnables/passthrough.cjs +2 -3
  585. package/dist/runnables/passthrough.d.cts +2 -3
  586. package/dist/runnables/passthrough.d.cts.map +1 -1
  587. package/dist/runnables/passthrough.d.ts +2 -3
  588. package/dist/runnables/passthrough.d.ts.map +1 -1
  589. package/dist/runnables/passthrough.js +2 -3
  590. package/dist/runnables/router.cjs +2 -3
  591. package/dist/runnables/router.d.cts +2 -4
  592. package/dist/runnables/router.d.cts.map +1 -1
  593. package/dist/runnables/router.d.ts +2 -4
  594. package/dist/runnables/router.d.ts.map +1 -1
  595. package/dist/runnables/router.js +2 -3
  596. package/dist/runnables/types.d.cts +1 -3
  597. package/dist/runnables/types.d.cts.map +1 -1
  598. package/dist/runnables/types.d.ts +1 -3
  599. package/dist/runnables/types.d.ts.map +1 -1
  600. package/dist/runnables/utils.cjs +1 -2
  601. package/dist/runnables/utils.js +1 -2
  602. package/dist/runnables/wrappers.cjs +1 -2
  603. package/dist/runnables/wrappers.js +1 -2
  604. package/dist/singletons/async_local_storage/context.cjs +1 -2
  605. package/dist/singletons/async_local_storage/context.d.cts +0 -2
  606. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  607. package/dist/singletons/async_local_storage/context.d.ts +0 -2
  608. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  609. package/dist/singletons/async_local_storage/context.js +1 -2
  610. package/dist/singletons/async_local_storage/globals.cjs +1 -2
  611. package/dist/singletons/async_local_storage/globals.d.cts +0 -2
  612. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
  613. package/dist/singletons/async_local_storage/globals.d.ts +0 -2
  614. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
  615. package/dist/singletons/async_local_storage/globals.js +1 -2
  616. package/dist/singletons/async_local_storage/index.cjs +1 -2
  617. package/dist/singletons/async_local_storage/index.d.cts +0 -2
  618. package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
  619. package/dist/singletons/async_local_storage/index.d.ts +0 -2
  620. package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
  621. package/dist/singletons/async_local_storage/index.js +1 -2
  622. package/dist/singletons/callbacks.cjs +2 -3
  623. package/dist/singletons/callbacks.d.cts +0 -2
  624. package/dist/singletons/callbacks.d.cts.map +1 -1
  625. package/dist/singletons/callbacks.d.ts +0 -2
  626. package/dist/singletons/callbacks.d.ts.map +1 -1
  627. package/dist/singletons/callbacks.js +2 -3
  628. package/dist/singletons/index.cjs +2 -3
  629. package/dist/singletons/index.d.cts +1 -1
  630. package/dist/singletons/index.d.ts +1 -1
  631. package/dist/singletons/index.js +2 -3
  632. package/dist/singletons/tracer.cjs +1 -2
  633. package/dist/singletons/tracer.js +1 -2
  634. package/dist/stores.cjs +1 -2
  635. package/dist/stores.d.cts +0 -2
  636. package/dist/stores.d.cts.map +1 -1
  637. package/dist/stores.d.ts +0 -2
  638. package/dist/stores.d.ts.map +1 -1
  639. package/dist/stores.js +1 -2
  640. package/dist/structured_query/base.cjs +1 -2
  641. package/dist/structured_query/base.d.cts +0 -2
  642. package/dist/structured_query/base.d.cts.map +1 -1
  643. package/dist/structured_query/base.d.ts +0 -2
  644. package/dist/structured_query/base.d.ts.map +1 -1
  645. package/dist/structured_query/base.js +1 -2
  646. package/dist/structured_query/functional.cjs +2 -3
  647. package/dist/structured_query/functional.d.cts +1 -2
  648. package/dist/structured_query/functional.d.cts.map +1 -1
  649. package/dist/structured_query/functional.d.ts +1 -2
  650. package/dist/structured_query/functional.d.ts.map +1 -1
  651. package/dist/structured_query/functional.js +2 -3
  652. package/dist/structured_query/index.cjs +3 -4
  653. package/dist/structured_query/index.d.cts +1 -1
  654. package/dist/structured_query/index.d.ts +1 -1
  655. package/dist/structured_query/index.js +3 -4
  656. package/dist/structured_query/ir.cjs +1 -2
  657. package/dist/structured_query/ir.d.cts +0 -2
  658. package/dist/structured_query/ir.d.cts.map +1 -1
  659. package/dist/structured_query/ir.d.ts +0 -2
  660. package/dist/structured_query/ir.d.ts.map +1 -1
  661. package/dist/structured_query/ir.js +1 -2
  662. package/dist/structured_query/utils.cjs +1 -2
  663. package/dist/structured_query/utils.d.cts +0 -2
  664. package/dist/structured_query/utils.d.cts.map +1 -1
  665. package/dist/structured_query/utils.d.ts +0 -2
  666. package/dist/structured_query/utils.d.ts.map +1 -1
  667. package/dist/structured_query/utils.js +1 -2
  668. package/dist/testing/fake_model_builder.cjs +3 -4
  669. package/dist/testing/fake_model_builder.d.cts +6 -7
  670. package/dist/testing/fake_model_builder.d.cts.map +1 -1
  671. package/dist/testing/fake_model_builder.d.ts +6 -7
  672. package/dist/testing/fake_model_builder.d.ts.map +1 -1
  673. package/dist/testing/fake_model_builder.js +3 -4
  674. package/dist/testing/index.cjs +2 -3
  675. package/dist/testing/index.d.cts +2 -2
  676. package/dist/testing/index.d.ts +2 -2
  677. package/dist/testing/index.js +2 -3
  678. package/dist/testing/matchers.cjs +2 -3
  679. package/dist/testing/matchers.d.cts +1 -2
  680. package/dist/testing/matchers.d.cts.map +1 -1
  681. package/dist/testing/matchers.d.ts +1 -2
  682. package/dist/testing/matchers.d.ts.map +1 -1
  683. package/dist/testing/matchers.js +2 -3
  684. package/dist/testing/vitest-expect.d.cts +0 -2
  685. package/dist/testing/vitest-expect.d.cts.map +1 -1
  686. package/dist/testing/vitest-expect.d.ts +0 -2
  687. package/dist/testing/vitest-expect.d.ts.map +1 -1
  688. package/dist/tools/index.cjs +10 -7
  689. package/dist/tools/index.cjs.map +1 -1
  690. package/dist/tools/index.d.cts +7 -9
  691. package/dist/tools/index.d.cts.map +1 -1
  692. package/dist/tools/index.d.ts +7 -9
  693. package/dist/tools/index.d.ts.map +1 -1
  694. package/dist/tools/index.js +10 -7
  695. package/dist/tools/index.js.map +1 -1
  696. package/dist/tools/types.cjs +2 -3
  697. package/dist/tools/types.d.cts +4 -6
  698. package/dist/tools/types.d.cts.map +1 -1
  699. package/dist/tools/types.d.ts +4 -6
  700. package/dist/tools/types.d.ts.map +1 -1
  701. package/dist/tools/types.js +2 -3
  702. package/dist/tools/utils.cjs +1 -2
  703. package/dist/tools/utils.d.cts +0 -2
  704. package/dist/tools/utils.d.cts.map +1 -1
  705. package/dist/tools/utils.d.ts +0 -2
  706. package/dist/tools/utils.d.ts.map +1 -1
  707. package/dist/tools/utils.js +1 -2
  708. package/dist/tracers/base.cjs +2 -3
  709. package/dist/tracers/base.d.cts +4 -6
  710. package/dist/tracers/base.d.cts.map +1 -1
  711. package/dist/tracers/base.d.ts +4 -6
  712. package/dist/tracers/base.d.ts.map +1 -1
  713. package/dist/tracers/base.js +2 -3
  714. package/dist/tracers/console.cjs +1 -2
  715. package/dist/tracers/console.d.cts +0 -2
  716. package/dist/tracers/console.d.cts.map +1 -1
  717. package/dist/tracers/console.d.ts +0 -2
  718. package/dist/tracers/console.d.ts.map +1 -1
  719. package/dist/tracers/console.js +1 -2
  720. package/dist/tracers/event_stream.cjs +10 -6
  721. package/dist/tracers/event_stream.cjs.map +1 -1
  722. package/dist/tracers/event_stream.d.cts +1 -3
  723. package/dist/tracers/event_stream.d.cts.map +1 -1
  724. package/dist/tracers/event_stream.d.ts +1 -3
  725. package/dist/tracers/event_stream.d.ts.map +1 -1
  726. package/dist/tracers/event_stream.js +10 -6
  727. package/dist/tracers/event_stream.js.map +1 -1
  728. package/dist/tracers/log_stream.cjs +3 -4
  729. package/dist/tracers/log_stream.d.cts +1 -3
  730. package/dist/tracers/log_stream.d.cts.map +1 -1
  731. package/dist/tracers/log_stream.d.ts +1 -3
  732. package/dist/tracers/log_stream.d.ts.map +1 -1
  733. package/dist/tracers/log_stream.js +3 -4
  734. package/dist/tracers/root_listener.cjs +1 -2
  735. package/dist/tracers/root_listener.js +1 -2
  736. package/dist/tracers/run_collector.cjs +1 -2
  737. package/dist/tracers/run_collector.d.cts +0 -2
  738. package/dist/tracers/run_collector.d.cts.map +1 -1
  739. package/dist/tracers/run_collector.d.ts +0 -2
  740. package/dist/tracers/run_collector.d.ts.map +1 -1
  741. package/dist/tracers/run_collector.js +1 -2
  742. package/dist/tracers/trace_policy.cjs +1 -2
  743. package/dist/tracers/trace_policy.d.cts +0 -2
  744. package/dist/tracers/trace_policy.d.cts.map +1 -1
  745. package/dist/tracers/trace_policy.d.ts +0 -2
  746. package/dist/tracers/trace_policy.d.ts.map +1 -1
  747. package/dist/tracers/trace_policy.js +1 -2
  748. package/dist/tracers/tracer_langchain.cjs +3 -4
  749. package/dist/tracers/tracer_langchain.d.cts +1 -3
  750. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  751. package/dist/tracers/tracer_langchain.d.ts +1 -3
  752. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  753. package/dist/tracers/tracer_langchain.js +3 -4
  754. package/dist/types/_internal.d.cts +0 -2
  755. package/dist/types/_internal.d.cts.map +1 -1
  756. package/dist/types/_internal.d.ts +0 -2
  757. package/dist/types/_internal.d.ts.map +1 -1
  758. package/dist/types/stream.cjs +1 -2
  759. package/dist/types/stream.js +1 -2
  760. package/dist/types/type-utils.d.cts +0 -2
  761. package/dist/types/type-utils.d.cts.map +1 -1
  762. package/dist/types/type-utils.d.ts +0 -2
  763. package/dist/types/type-utils.d.ts.map +1 -1
  764. package/dist/utils/async_caller.cjs +1 -2
  765. package/dist/utils/async_caller.d.cts +1 -2
  766. package/dist/utils/async_caller.d.cts.map +1 -1
  767. package/dist/utils/async_caller.d.ts +1 -2
  768. package/dist/utils/async_caller.d.ts.map +1 -1
  769. package/dist/utils/async_caller.js +1 -2
  770. package/dist/utils/callbacks.cjs +1 -2
  771. package/dist/utils/callbacks.js +1 -2
  772. package/dist/utils/chunk_array.cjs +1 -2
  773. package/dist/utils/chunk_array.d.cts +0 -2
  774. package/dist/utils/chunk_array.d.cts.map +1 -1
  775. package/dist/utils/chunk_array.d.ts +0 -2
  776. package/dist/utils/chunk_array.d.ts.map +1 -1
  777. package/dist/utils/chunk_array.js +1 -2
  778. package/dist/utils/context.cjs +1 -2
  779. package/dist/utils/context.d.cts +0 -2
  780. package/dist/utils/context.d.cts.map +1 -1
  781. package/dist/utils/context.d.ts +0 -2
  782. package/dist/utils/context.d.ts.map +1 -1
  783. package/dist/utils/context.js +1 -2
  784. package/dist/utils/env.cjs +1 -2
  785. package/dist/utils/env.d.cts +0 -2
  786. package/dist/utils/env.d.cts.map +1 -1
  787. package/dist/utils/env.d.ts +0 -2
  788. package/dist/utils/env.d.ts.map +1 -1
  789. package/dist/utils/env.js +1 -2
  790. package/dist/utils/event_source_parse.cjs +1 -2
  791. package/dist/utils/event_source_parse.d.cts +0 -2
  792. package/dist/utils/event_source_parse.d.cts.map +1 -1
  793. package/dist/utils/event_source_parse.d.ts +0 -2
  794. package/dist/utils/event_source_parse.d.ts.map +1 -1
  795. package/dist/utils/event_source_parse.js +1 -2
  796. package/dist/utils/fast-json-patch/index.cjs +1 -2
  797. package/dist/utils/fast-json-patch/index.js +1 -2
  798. package/dist/utils/fast-json-patch/src/core.cjs +1 -2
  799. package/dist/utils/fast-json-patch/src/core.d.cts +0 -2
  800. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
  801. package/dist/utils/fast-json-patch/src/core.d.ts +0 -2
  802. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
  803. package/dist/utils/fast-json-patch/src/core.js +1 -2
  804. package/dist/utils/fast-json-patch/src/duplex.cjs +1 -2
  805. package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -2
  806. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
  807. package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -2
  808. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
  809. package/dist/utils/fast-json-patch/src/duplex.js +1 -2
  810. package/dist/utils/fast-json-patch/src/helpers.cjs +1 -2
  811. package/dist/utils/fast-json-patch/src/helpers.js +1 -2
  812. package/dist/utils/format.cjs +1 -2
  813. package/dist/utils/format.d.cts +0 -2
  814. package/dist/utils/format.d.cts.map +1 -1
  815. package/dist/utils/format.d.ts +0 -2
  816. package/dist/utils/format.d.ts.map +1 -1
  817. package/dist/utils/format.js +1 -2
  818. package/dist/utils/function_calling.cjs +2 -3
  819. package/dist/utils/function_calling.d.cts +2 -4
  820. package/dist/utils/function_calling.d.cts.map +1 -1
  821. package/dist/utils/function_calling.d.ts +2 -4
  822. package/dist/utils/function_calling.d.ts.map +1 -1
  823. package/dist/utils/function_calling.js +2 -3
  824. package/dist/utils/gateway.cjs +1 -2
  825. package/dist/utils/gateway.d.cts +0 -2
  826. package/dist/utils/gateway.d.cts.map +1 -1
  827. package/dist/utils/gateway.d.ts +0 -2
  828. package/dist/utils/gateway.d.ts.map +1 -1
  829. package/dist/utils/gateway.js +1 -2
  830. package/dist/utils/hash.cjs +1 -2
  831. package/dist/utils/hash.d.cts +0 -2
  832. package/dist/utils/hash.d.cts.map +1 -1
  833. package/dist/utils/hash.d.ts +0 -2
  834. package/dist/utils/hash.d.ts.map +1 -1
  835. package/dist/utils/hash.js +1 -2
  836. package/dist/utils/is-network-error/index.cjs +1 -2
  837. package/dist/utils/is-network-error/index.js +1 -2
  838. package/dist/utils/js-sha256/hash.cjs +1 -2
  839. package/dist/utils/js-sha256/hash.d.cts +0 -2
  840. package/dist/utils/js-sha256/hash.d.cts.map +1 -1
  841. package/dist/utils/js-sha256/hash.d.ts +0 -2
  842. package/dist/utils/js-sha256/hash.d.ts.map +1 -1
  843. package/dist/utils/js-sha256/hash.js +1 -2
  844. package/dist/utils/json.cjs +1 -2
  845. package/dist/utils/json.d.cts +0 -2
  846. package/dist/utils/json.d.cts.map +1 -1
  847. package/dist/utils/json.d.ts +0 -2
  848. package/dist/utils/json.d.ts.map +1 -1
  849. package/dist/utils/json.js +1 -2
  850. package/dist/utils/json_patch.cjs +1 -2
  851. package/dist/utils/json_patch.d.cts +1 -1
  852. package/dist/utils/json_patch.d.ts +1 -1
  853. package/dist/utils/json_patch.js +1 -2
  854. package/dist/utils/json_schema.cjs +1 -2
  855. package/dist/utils/json_schema.d.cts +0 -2
  856. package/dist/utils/json_schema.d.cts.map +1 -1
  857. package/dist/utils/json_schema.d.ts +0 -2
  858. package/dist/utils/json_schema.d.ts.map +1 -1
  859. package/dist/utils/json_schema.js +1 -2
  860. package/dist/utils/math.cjs +1 -2
  861. package/dist/utils/math.d.cts +1 -2
  862. package/dist/utils/math.d.cts.map +1 -1
  863. package/dist/utils/math.d.ts +1 -2
  864. package/dist/utils/math.d.ts.map +1 -1
  865. package/dist/utils/math.js +1 -2
  866. package/dist/utils/ml-distance/distances.cjs +1 -2
  867. package/dist/utils/ml-distance/distances.js +1 -2
  868. package/dist/utils/ml-distance/similarities.cjs +1 -2
  869. package/dist/utils/ml-distance/similarities.d.cts +0 -2
  870. package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
  871. package/dist/utils/ml-distance/similarities.d.ts +0 -2
  872. package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
  873. package/dist/utils/ml-distance/similarities.js +1 -2
  874. package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
  875. package/dist/utils/ml-distance-euclidean/euclidean.js +1 -2
  876. package/dist/utils/namespace.cjs +1 -2
  877. package/dist/utils/namespace.d.cts +1 -2
  878. package/dist/utils/namespace.d.cts.map +1 -1
  879. package/dist/utils/namespace.d.ts +1 -2
  880. package/dist/utils/namespace.d.ts.map +1 -1
  881. package/dist/utils/namespace.js +1 -2
  882. package/dist/utils/p-retry/index.cjs +1 -2
  883. package/dist/utils/p-retry/index.js +1 -2
  884. package/dist/utils/sax-js/sax.cjs +1 -2
  885. package/dist/utils/sax-js/sax.js +1 -2
  886. package/dist/utils/signal.cjs +1 -2
  887. package/dist/utils/signal.d.cts +0 -2
  888. package/dist/utils/signal.d.cts.map +1 -1
  889. package/dist/utils/signal.d.ts +0 -2
  890. package/dist/utils/signal.d.ts.map +1 -1
  891. package/dist/utils/signal.js +1 -2
  892. package/dist/utils/ssrf.cjs +1 -2
  893. package/dist/utils/ssrf.d.cts +0 -2
  894. package/dist/utils/ssrf.d.cts.map +1 -1
  895. package/dist/utils/ssrf.d.ts +0 -2
  896. package/dist/utils/ssrf.d.ts.map +1 -1
  897. package/dist/utils/ssrf.js +1 -2
  898. package/dist/utils/standard_schema.cjs +1 -2
  899. package/dist/utils/standard_schema.d.cts +0 -2
  900. package/dist/utils/standard_schema.d.cts.map +1 -1
  901. package/dist/utils/standard_schema.d.ts +0 -2
  902. package/dist/utils/standard_schema.d.ts.map +1 -1
  903. package/dist/utils/standard_schema.js +1 -2
  904. package/dist/utils/stream.cjs +2 -3
  905. package/dist/utils/stream.d.cts +0 -2
  906. package/dist/utils/stream.d.cts.map +1 -1
  907. package/dist/utils/stream.d.ts +0 -2
  908. package/dist/utils/stream.d.ts.map +1 -1
  909. package/dist/utils/stream.js +2 -3
  910. package/dist/utils/testing/chat_models.cjs +4 -5
  911. package/dist/utils/testing/chat_models.d.cts +6 -8
  912. package/dist/utils/testing/chat_models.d.cts.map +1 -1
  913. package/dist/utils/testing/chat_models.d.ts +6 -8
  914. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  915. package/dist/utils/testing/chat_models.js +4 -5
  916. package/dist/utils/testing/embeddings.cjs +1 -2
  917. package/dist/utils/testing/embeddings.d.cts +1 -2
  918. package/dist/utils/testing/embeddings.d.cts.map +1 -1
  919. package/dist/utils/testing/embeddings.d.ts +1 -2
  920. package/dist/utils/testing/embeddings.d.ts.map +1 -1
  921. package/dist/utils/testing/embeddings.js +1 -2
  922. package/dist/utils/testing/index.cjs +3 -4
  923. package/dist/utils/testing/index.d.cts +1 -1
  924. package/dist/utils/testing/index.d.ts +1 -1
  925. package/dist/utils/testing/index.js +3 -4
  926. package/dist/utils/testing/llms.cjs +1 -2
  927. package/dist/utils/testing/llms.d.cts +1 -3
  928. package/dist/utils/testing/llms.d.cts.map +1 -1
  929. package/dist/utils/testing/llms.d.ts +1 -3
  930. package/dist/utils/testing/llms.d.ts.map +1 -1
  931. package/dist/utils/testing/llms.js +1 -2
  932. package/dist/utils/testing/message_history.cjs +3 -4
  933. package/dist/utils/testing/message_history.d.cts +2 -4
  934. package/dist/utils/testing/message_history.d.cts.map +1 -1
  935. package/dist/utils/testing/message_history.d.ts +2 -4
  936. package/dist/utils/testing/message_history.d.ts.map +1 -1
  937. package/dist/utils/testing/message_history.js +3 -4
  938. package/dist/utils/testing/openai_stream_fixtures.cjs +1 -2
  939. package/dist/utils/testing/openai_stream_fixtures.d.cts +0 -2
  940. package/dist/utils/testing/openai_stream_fixtures.d.cts.map +1 -1
  941. package/dist/utils/testing/openai_stream_fixtures.d.ts +0 -2
  942. package/dist/utils/testing/openai_stream_fixtures.d.ts.map +1 -1
  943. package/dist/utils/testing/openai_stream_fixtures.js +1 -2
  944. package/dist/utils/testing/output_parsers.cjs +1 -2
  945. package/dist/utils/testing/output_parsers.d.cts +0 -2
  946. package/dist/utils/testing/output_parsers.d.cts.map +1 -1
  947. package/dist/utils/testing/output_parsers.d.ts +0 -2
  948. package/dist/utils/testing/output_parsers.d.ts.map +1 -1
  949. package/dist/utils/testing/output_parsers.js +1 -2
  950. package/dist/utils/testing/retrievers.cjs +1 -2
  951. package/dist/utils/testing/retrievers.d.cts +0 -2
  952. package/dist/utils/testing/retrievers.d.cts.map +1 -1
  953. package/dist/utils/testing/retrievers.d.ts +0 -2
  954. package/dist/utils/testing/retrievers.d.ts.map +1 -1
  955. package/dist/utils/testing/retrievers.js +1 -2
  956. package/dist/utils/testing/runnables.cjs +1 -2
  957. package/dist/utils/testing/runnables.d.cts +0 -2
  958. package/dist/utils/testing/runnables.d.cts.map +1 -1
  959. package/dist/utils/testing/runnables.d.ts +0 -2
  960. package/dist/utils/testing/runnables.d.ts.map +1 -1
  961. package/dist/utils/testing/runnables.js +1 -2
  962. package/dist/utils/testing/stream.cjs +1 -2
  963. package/dist/utils/testing/stream.d.cts +1 -2
  964. package/dist/utils/testing/stream.d.cts.map +1 -1
  965. package/dist/utils/testing/stream.d.ts +1 -2
  966. package/dist/utils/testing/stream.d.ts.map +1 -1
  967. package/dist/utils/testing/stream.js +1 -2
  968. package/dist/utils/testing/tools.cjs +1 -2
  969. package/dist/utils/testing/tools.d.cts +2 -4
  970. package/dist/utils/testing/tools.d.cts.map +1 -1
  971. package/dist/utils/testing/tools.d.ts +2 -4
  972. package/dist/utils/testing/tools.d.ts.map +1 -1
  973. package/dist/utils/testing/tools.js +1 -2
  974. package/dist/utils/testing/tracers.cjs +1 -2
  975. package/dist/utils/testing/tracers.d.cts +0 -2
  976. package/dist/utils/testing/tracers.d.cts.map +1 -1
  977. package/dist/utils/testing/tracers.d.ts +0 -2
  978. package/dist/utils/testing/tracers.d.ts.map +1 -1
  979. package/dist/utils/testing/tracers.js +1 -2
  980. package/dist/utils/testing/vectorstores.cjs +2 -3
  981. package/dist/utils/testing/vectorstores.d.cts +1 -2
  982. package/dist/utils/testing/vectorstores.d.cts.map +1 -1
  983. package/dist/utils/testing/vectorstores.d.ts +1 -2
  984. package/dist/utils/testing/vectorstores.d.ts.map +1 -1
  985. package/dist/utils/testing/vectorstores.js +2 -3
  986. package/dist/utils/tiktoken.cjs +1 -2
  987. package/dist/utils/tiktoken.d.cts +0 -2
  988. package/dist/utils/tiktoken.d.cts.map +1 -1
  989. package/dist/utils/tiktoken.d.ts +0 -2
  990. package/dist/utils/tiktoken.d.ts.map +1 -1
  991. package/dist/utils/tiktoken.js +1 -2
  992. package/dist/utils/types/index.cjs +1 -2
  993. package/dist/utils/types/index.d.cts +0 -2
  994. package/dist/utils/types/index.d.cts.map +1 -1
  995. package/dist/utils/types/index.d.ts +0 -2
  996. package/dist/utils/types/index.d.ts.map +1 -1
  997. package/dist/utils/types/index.js +1 -2
  998. package/dist/utils/types/zod.cjs +1 -2
  999. package/dist/utils/types/zod.d.cts +1 -2
  1000. package/dist/utils/types/zod.d.cts.map +1 -1
  1001. package/dist/utils/types/zod.d.ts +1 -2
  1002. package/dist/utils/types/zod.d.ts.map +1 -1
  1003. package/dist/utils/types/zod.js +1 -2
  1004. package/dist/utils/uuid/index.cjs +2 -3
  1005. package/dist/utils/uuid/index.d.cts +1 -3
  1006. package/dist/utils/uuid/index.d.cts.map +1 -1
  1007. package/dist/utils/uuid/index.d.ts +1 -3
  1008. package/dist/utils/uuid/index.d.ts.map +1 -1
  1009. package/dist/utils/uuid/index.js +2 -3
  1010. package/dist/utils/uuid/max.cjs +1 -2
  1011. package/dist/utils/uuid/max.js +1 -2
  1012. package/dist/utils/uuid/nil.cjs +1 -2
  1013. package/dist/utils/uuid/nil.js +1 -2
  1014. package/dist/utils/uuid/parse.cjs +1 -2
  1015. package/dist/utils/uuid/parse.d.cts +0 -1
  1016. package/dist/utils/uuid/parse.d.cts.map +1 -1
  1017. package/dist/utils/uuid/parse.d.ts +0 -2
  1018. package/dist/utils/uuid/parse.d.ts.map +1 -1
  1019. package/dist/utils/uuid/parse.js +1 -2
  1020. package/dist/utils/uuid/regex.cjs +1 -2
  1021. package/dist/utils/uuid/regex.js +1 -2
  1022. package/dist/utils/uuid/rng.cjs +1 -2
  1023. package/dist/utils/uuid/rng.js +1 -2
  1024. package/dist/utils/uuid/sha1.cjs +1 -2
  1025. package/dist/utils/uuid/sha1.js +1 -2
  1026. package/dist/utils/uuid/stringify.cjs +1 -2
  1027. package/dist/utils/uuid/stringify.d.cts +0 -1
  1028. package/dist/utils/uuid/stringify.d.cts.map +1 -1
  1029. package/dist/utils/uuid/stringify.d.ts +0 -2
  1030. package/dist/utils/uuid/stringify.d.ts.map +1 -1
  1031. package/dist/utils/uuid/stringify.js +1 -2
  1032. package/dist/utils/uuid/types.d.cts +0 -2
  1033. package/dist/utils/uuid/types.d.cts.map +1 -1
  1034. package/dist/utils/uuid/types.d.ts +0 -2
  1035. package/dist/utils/uuid/types.d.ts.map +1 -1
  1036. package/dist/utils/uuid/v1.cjs +2 -3
  1037. package/dist/utils/uuid/v1.d.cts +0 -1
  1038. package/dist/utils/uuid/v1.d.cts.map +1 -1
  1039. package/dist/utils/uuid/v1.d.ts +0 -2
  1040. package/dist/utils/uuid/v1.d.ts.map +1 -1
  1041. package/dist/utils/uuid/v1.js +2 -3
  1042. package/dist/utils/uuid/v1ToV6.cjs +1 -2
  1043. package/dist/utils/uuid/v1ToV6.js +1 -2
  1044. package/dist/utils/uuid/v35.cjs +1 -2
  1045. package/dist/utils/uuid/v35.d.cts +0 -2
  1046. package/dist/utils/uuid/v35.d.cts.map +1 -1
  1047. package/dist/utils/uuid/v35.d.ts +0 -2
  1048. package/dist/utils/uuid/v35.d.ts.map +1 -1
  1049. package/dist/utils/uuid/v35.js +1 -2
  1050. package/dist/utils/uuid/v4.cjs +2 -3
  1051. package/dist/utils/uuid/v4.d.cts +0 -1
  1052. package/dist/utils/uuid/v4.d.cts.map +1 -1
  1053. package/dist/utils/uuid/v4.d.ts +0 -2
  1054. package/dist/utils/uuid/v4.d.ts.map +1 -1
  1055. package/dist/utils/uuid/v4.js +2 -3
  1056. package/dist/utils/uuid/v5.cjs +1 -2
  1057. package/dist/utils/uuid/v5.d.cts +0 -1
  1058. package/dist/utils/uuid/v5.d.cts.map +1 -1
  1059. package/dist/utils/uuid/v5.d.ts +0 -2
  1060. package/dist/utils/uuid/v5.d.ts.map +1 -1
  1061. package/dist/utils/uuid/v5.js +1 -2
  1062. package/dist/utils/uuid/v6.cjs +1 -2
  1063. package/dist/utils/uuid/v6.d.cts +0 -1
  1064. package/dist/utils/uuid/v6.d.cts.map +1 -1
  1065. package/dist/utils/uuid/v6.d.ts +0 -2
  1066. package/dist/utils/uuid/v6.d.ts.map +1 -1
  1067. package/dist/utils/uuid/v6.js +1 -2
  1068. package/dist/utils/uuid/v7.cjs +2 -3
  1069. package/dist/utils/uuid/v7.d.cts +0 -1
  1070. package/dist/utils/uuid/v7.d.cts.map +1 -1
  1071. package/dist/utils/uuid/v7.d.ts +0 -2
  1072. package/dist/utils/uuid/v7.d.ts.map +1 -1
  1073. package/dist/utils/uuid/v7.js +2 -3
  1074. package/dist/utils/uuid/validate.cjs +1 -2
  1075. package/dist/utils/uuid/validate.d.cts +0 -1
  1076. package/dist/utils/uuid/validate.d.cts.map +1 -1
  1077. package/dist/utils/uuid/validate.d.ts +0 -2
  1078. package/dist/utils/uuid/validate.d.ts.map +1 -1
  1079. package/dist/utils/uuid/validate.js +1 -2
  1080. package/dist/utils/uuid/version.cjs +1 -2
  1081. package/dist/utils/uuid/version.d.cts +0 -1
  1082. package/dist/utils/uuid/version.d.cts.map +1 -1
  1083. package/dist/utils/uuid/version.d.ts +0 -2
  1084. package/dist/utils/uuid/version.d.ts.map +1 -1
  1085. package/dist/utils/uuid/version.js +1 -2
  1086. package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
  1087. package/dist/utils/zod-to-json-schema/Options.d.cts +1 -1
  1088. package/dist/utils/zod-to-json-schema/Options.d.ts +1 -1
  1089. package/dist/utils/zod-to-json-schema/Options.js +1 -2
  1090. package/dist/utils/zod-to-json-schema/Refs.cjs +1 -2
  1091. package/dist/utils/zod-to-json-schema/Refs.d.cts +1 -1
  1092. package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -1
  1093. package/dist/utils/zod-to-json-schema/Refs.js +1 -2
  1094. package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
  1095. package/dist/utils/zod-to-json-schema/errorMessages.d.cts +0 -2
  1096. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
  1097. package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
  1098. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  1099. package/dist/utils/zod-to-json-schema/errorMessages.js +1 -2
  1100. package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
  1101. package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -2
  1102. package/dist/utils/zod-to-json-schema/index.cjs +10 -10
  1103. package/dist/utils/zod-to-json-schema/index.d.cts +17 -17
  1104. package/dist/utils/zod-to-json-schema/index.d.ts +17 -17
  1105. package/dist/utils/zod-to-json-schema/index.js +10 -10
  1106. package/dist/utils/zod-to-json-schema/parseDef.cjs +2 -3
  1107. package/dist/utils/zod-to-json-schema/parseDef.d.cts +1 -1
  1108. package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -1
  1109. package/dist/utils/zod-to-json-schema/parseDef.js +2 -3
  1110. package/dist/utils/zod-to-json-schema/parseTypes.d.cts +4 -5
  1111. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
  1112. package/dist/utils/zod-to-json-schema/parseTypes.d.ts +4 -5
  1113. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
  1114. package/dist/utils/zod-to-json-schema/parsers/any.cjs +1 -2
  1115. package/dist/utils/zod-to-json-schema/parsers/any.d.cts +0 -2
  1116. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
  1117. package/dist/utils/zod-to-json-schema/parsers/any.d.ts +0 -2
  1118. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  1119. package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
  1120. package/dist/utils/zod-to-json-schema/parsers/array.cjs +1 -2
  1121. package/dist/utils/zod-to-json-schema/parsers/array.d.cts +0 -2
  1122. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
  1123. package/dist/utils/zod-to-json-schema/parsers/array.d.ts +0 -2
  1124. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  1125. package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
  1126. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +1 -2
  1127. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +1 -3
  1128. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
  1129. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +1 -3
  1130. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  1131. package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
  1132. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
  1133. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts +0 -2
  1134. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
  1135. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts +0 -2
  1136. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
  1137. package/dist/utils/zod-to-json-schema/parsers/boolean.js +1 -2
  1138. package/dist/utils/zod-to-json-schema/parsers/branded.cjs +1 -2
  1139. package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
  1140. package/dist/utils/zod-to-json-schema/parsers/catch.cjs +1 -2
  1141. package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
  1142. package/dist/utils/zod-to-json-schema/parsers/date.cjs +1 -2
  1143. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +1 -3
  1144. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
  1145. package/dist/utils/zod-to-json-schema/parsers/date.d.ts +1 -3
  1146. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  1147. package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
  1148. package/dist/utils/zod-to-json-schema/parsers/default.cjs +1 -2
  1149. package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
  1150. package/dist/utils/zod-to-json-schema/parsers/effects.cjs +2 -3
  1151. package/dist/utils/zod-to-json-schema/parsers/effects.js +2 -3
  1152. package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
  1153. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts +0 -2
  1154. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
  1155. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +0 -2
  1156. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  1157. package/dist/utils/zod-to-json-schema/parsers/enum.js +1 -2
  1158. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +1 -2
  1159. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +0 -2
  1160. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
  1161. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +0 -2
  1162. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  1163. package/dist/utils/zod-to-json-schema/parsers/intersection.js +1 -2
  1164. package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
  1165. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -2
  1166. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
  1167. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +0 -2
  1168. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  1169. package/dist/utils/zod-to-json-schema/parsers/literal.js +1 -2
  1170. package/dist/utils/zod-to-json-schema/parsers/map.cjs +3 -4
  1171. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +1 -3
  1172. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
  1173. package/dist/utils/zod-to-json-schema/parsers/map.d.ts +1 -3
  1174. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  1175. package/dist/utils/zod-to-json-schema/parsers/map.js +3 -4
  1176. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +1 -2
  1177. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts +0 -2
  1178. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
  1179. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +0 -2
  1180. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  1181. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +1 -2
  1182. package/dist/utils/zod-to-json-schema/parsers/never.cjs +1 -2
  1183. package/dist/utils/zod-to-json-schema/parsers/never.d.cts +1 -3
  1184. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
  1185. package/dist/utils/zod-to-json-schema/parsers/never.d.ts +1 -3
  1186. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  1187. package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
  1188. package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
  1189. package/dist/utils/zod-to-json-schema/parsers/null.d.cts +0 -2
  1190. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
  1191. package/dist/utils/zod-to-json-schema/parsers/null.d.ts +0 -2
  1192. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  1193. package/dist/utils/zod-to-json-schema/parsers/null.js +1 -2
  1194. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +2 -3
  1195. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +1 -3
  1196. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
  1197. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +1 -3
  1198. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  1199. package/dist/utils/zod-to-json-schema/parsers/nullable.js +2 -3
  1200. package/dist/utils/zod-to-json-schema/parsers/number.cjs +1 -2
  1201. package/dist/utils/zod-to-json-schema/parsers/number.d.cts +0 -2
  1202. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
  1203. package/dist/utils/zod-to-json-schema/parsers/number.d.ts +0 -2
  1204. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  1205. package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
  1206. package/dist/utils/zod-to-json-schema/parsers/object.cjs +1 -2
  1207. package/dist/utils/zod-to-json-schema/parsers/object.d.cts +0 -2
  1208. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
  1209. package/dist/utils/zod-to-json-schema/parsers/object.d.ts +0 -2
  1210. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  1211. package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
  1212. package/dist/utils/zod-to-json-schema/parsers/optional.cjs +2 -3
  1213. package/dist/utils/zod-to-json-schema/parsers/optional.js +2 -3
  1214. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +1 -2
  1215. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.cts +1 -1
  1216. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -1
  1217. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +1 -2
  1218. package/dist/utils/zod-to-json-schema/parsers/promise.cjs +1 -2
  1219. package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
  1220. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +1 -2
  1221. package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
  1222. package/dist/utils/zod-to-json-schema/parsers/record.cjs +4 -5
  1223. package/dist/utils/zod-to-json-schema/parsers/record.d.cts +3 -4
  1224. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
  1225. package/dist/utils/zod-to-json-schema/parsers/record.d.ts +3 -4
  1226. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  1227. package/dist/utils/zod-to-json-schema/parsers/record.js +4 -5
  1228. package/dist/utils/zod-to-json-schema/parsers/set.cjs +1 -2
  1229. package/dist/utils/zod-to-json-schema/parsers/set.d.cts +0 -2
  1230. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
  1231. package/dist/utils/zod-to-json-schema/parsers/set.d.ts +0 -2
  1232. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  1233. package/dist/utils/zod-to-json-schema/parsers/set.js +1 -2
  1234. package/dist/utils/zod-to-json-schema/parsers/string.cjs +1 -2
  1235. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -2
  1236. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
  1237. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -2
  1238. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  1239. package/dist/utils/zod-to-json-schema/parsers/string.js +1 -2
  1240. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +1 -2
  1241. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +0 -2
  1242. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
  1243. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +0 -2
  1244. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  1245. package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
  1246. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +1 -2
  1247. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +1 -3
  1248. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
  1249. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +1 -3
  1250. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  1251. package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
  1252. package/dist/utils/zod-to-json-schema/parsers/union.cjs +1 -2
  1253. package/dist/utils/zod-to-json-schema/parsers/union.d.cts +1 -2
  1254. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
  1255. package/dist/utils/zod-to-json-schema/parsers/union.d.ts +1 -2
  1256. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  1257. package/dist/utils/zod-to-json-schema/parsers/union.js +1 -2
  1258. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +1 -2
  1259. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +1 -3
  1260. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
  1261. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +1 -3
  1262. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  1263. package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
  1264. package/dist/utils/zod-to-json-schema/selectParser.cjs +4 -5
  1265. package/dist/utils/zod-to-json-schema/selectParser.d.cts +1 -1
  1266. package/dist/utils/zod-to-json-schema/selectParser.d.ts +1 -1
  1267. package/dist/utils/zod-to-json-schema/selectParser.js +4 -5
  1268. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +2 -3
  1269. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.cts +1 -1
  1270. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -1
  1271. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +2 -3
  1272. package/dist/vectorstores.cjs +2 -3
  1273. package/dist/vectorstores.d.cts +4 -5
  1274. package/dist/vectorstores.d.cts.map +1 -1
  1275. package/dist/vectorstores.d.ts +4 -5
  1276. package/dist/vectorstores.d.ts.map +1 -1
  1277. package/dist/vectorstores.js +2 -3
  1278. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"event_stream.cjs","names":["BaseTracer","IterableReadableStream","GenerationChunk","AIMessageChunk"],"sources":["../../src/tracers/event_stream.ts"],"sourcesContent":["import { BaseTracer, type Run } from \"./base.js\";\nimport {\n BaseCallbackHandler,\n BaseCallbackHandlerInput,\n CallbackHandlerPrefersStreaming,\n} from \"../callbacks/base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { ChatGeneration, Generation, GenerationChunk } from \"../outputs.js\";\nimport { BaseMessage } from \"../messages/base.js\";\n\n/**\n * Data associated with a StreamEvent.\n */\nexport type StreamEventData = {\n /**\n * The input passed to the runnable that generated the event.\n * Inputs will sometimes be available at the *START* of the runnable, and\n * sometimes at the *END* of the runnable.\n * If a runnable is able to stream its inputs, then its input by definition\n * won't be known until the *END* of the runnable when it has finished streaming\n * its inputs.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n input?: any;\n\n /**\n * The output of the runnable that generated the event.\n * Outputs will only be available at the *END* of the runnable.\n * For most runnables, this field can be inferred from the `chunk` field,\n * though there might be some exceptions for special cased runnables (e.g., like\n * chat models), which may return more information.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output?: any;\n\n /**\n * A streaming chunk from the output that generated the event.\n * chunks support addition in general, and adding them up should result\n * in the output of the runnable that generated the event.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n chunk?: any;\n\n /**\n * Error message if the runnable that generated the event failed.\n * This field will only be present if the runnable failed.\n */\n error?: string;\n};\n\n/**\n * A streaming event.\n *\n * Schema of a streaming event which is produced from the streamEvents method.\n */\nexport type StreamEvent = {\n /**\n * Event names are of the format: on_[runnable_type]_(start|stream|end).\n *\n * Runnable types are one of:\n * - llm - used by non chat models\n * - chat_model - used by chat models\n * - prompt -- e.g., ChatPromptTemplate\n * - tool -- LangChain tools\n * - chain - most Runnables are of this type\n *\n * Further, the events are categorized as one of:\n * - start - when the runnable starts\n * - stream - when the runnable is streaming\n * - end - when the runnable ends\n *\n * start, stream and end are associated with slightly different `data` payload.\n *\n * Please see the documentation for `EventData` for more details.\n */\n event: string;\n /** The name of the runnable that generated the event. */\n name: string;\n /**\n * An randomly generated ID to keep track of the execution of the given runnable.\n *\n * Each child runnable that gets invoked as part of the execution of a parent runnable\n * is assigned its own unique ID.\n */\n run_id: string;\n /**\n * Tags associated with the runnable that generated this event.\n * Tags are always inherited from parent runnables.\n */\n tags?: string[];\n /** Metadata associated with the runnable that generated this event. */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n /**\n * Event data.\n *\n * The contents of the event data depend on the event type.\n */\n data: StreamEventData;\n};\n\ntype RunInfo = {\n name: string;\n tags: string[];\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n runType: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n inputs?: Record<string, any>;\n};\n\nexport interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInput {\n autoClose?: boolean;\n includeNames?: string[];\n includeTypes?: string[];\n includeTags?: string[];\n excludeNames?: string[];\n excludeTypes?: string[];\n excludeTags?: string[];\n}\n\nfunction assignName({\n name,\n serialized,\n}: {\n name?: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n serialized?: Record<string, any>;\n}): string {\n if (name !== undefined) {\n return name;\n }\n if (serialized?.name !== undefined) {\n return serialized.name;\n } else if (serialized?.id !== undefined && Array.isArray(serialized?.id)) {\n return serialized.id[serialized.id.length - 1];\n }\n return \"Unnamed\";\n}\n\nexport const isStreamEventsHandler = (\n handler: BaseCallbackHandler\n): handler is EventStreamCallbackHandler =>\n handler.name === \"event_stream_tracer\";\n\n/**\n * Class that extends the `BaseTracer` class from the\n * `langchain.callbacks.tracers.base` module. It represents a callback\n * handler that logs the execution of runs and emits `RunLog` instances to a\n * `RunLogStream`.\n */\nexport class EventStreamCallbackHandler\n extends BaseTracer\n implements CallbackHandlerPrefersStreaming\n{\n protected autoClose = true;\n\n protected includeNames?: string[];\n\n protected includeTypes?: string[];\n\n protected includeTags?: string[];\n\n protected excludeNames?: string[];\n\n protected excludeTypes?: string[];\n\n protected excludeTags?: string[];\n\n private runInfoMap: Map<string, RunInfo> = new Map();\n\n private tappedPromises: Map<string, Promise<void>> = new Map();\n\n protected transformStream: TransformStream;\n\n public writer: WritableStreamDefaultWriter;\n\n public receiveStream: IterableReadableStream<StreamEvent>;\n\n private readableStreamClosed = false;\n\n name = \"event_stream_tracer\";\n\n lc_prefer_streaming = true;\n\n constructor(fields?: EventStreamCallbackHandlerInput) {\n super({ _awaitHandler: true, ...fields });\n this.autoClose = fields?.autoClose ?? true;\n this.includeNames = fields?.includeNames;\n this.includeTypes = fields?.includeTypes;\n this.includeTags = fields?.includeTags;\n this.excludeNames = fields?.excludeNames;\n this.excludeTypes = fields?.excludeTypes;\n this.excludeTags = fields?.excludeTags;\n this.transformStream = new TransformStream({\n flush: () => {\n this.readableStreamClosed = true;\n },\n });\n this.writer = this.transformStream.writable.getWriter();\n this.receiveStream = IterableReadableStream.fromReadableStream(\n this.transformStream.readable\n );\n }\n\n [Symbol.asyncIterator]() {\n return this.receiveStream;\n }\n\n protected async persistRun(_run: Run): Promise<void> {\n // This is a legacy method only called once for an entire run tree\n // and is therefore not useful here\n }\n\n _includeRun(run: RunInfo): boolean {\n const runTags = run.tags ?? [];\n let include =\n this.includeNames === undefined &&\n this.includeTags === undefined &&\n this.includeTypes === undefined;\n if (this.includeNames !== undefined) {\n include = include || this.includeNames.includes(run.name);\n }\n if (this.includeTypes !== undefined) {\n include = include || this.includeTypes.includes(run.runType);\n }\n if (this.includeTags !== undefined) {\n include =\n include ||\n runTags.find((tag) => this.includeTags?.includes(tag)) !== undefined;\n }\n if (this.excludeNames !== undefined) {\n include = include && !this.excludeNames.includes(run.name);\n }\n if (this.excludeTypes !== undefined) {\n include = include && !this.excludeTypes.includes(run.runType);\n }\n if (this.excludeTags !== undefined) {\n include =\n include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n }\n return include;\n }\n\n async *tapOutputIterable<T>(\n runId: string,\n outputStream: AsyncGenerator<T>\n ): AsyncGenerator<T> {\n const firstChunk = await outputStream.next();\n if (firstChunk.done) {\n return;\n }\n const runInfo = this.runInfoMap.get(runId);\n // Run has finished, don't issue any stream events.\n // An example of this is for runnables that use the default\n // implementation of .stream(), which delegates to .invoke()\n // and calls .onChainEnd() before passing it to the iterator.\n if (runInfo === undefined) {\n yield firstChunk.value;\n return;\n }\n // Match format from handlers below\n function _formatOutputChunk(eventType: string, data: unknown) {\n if (eventType === \"llm\" && typeof data === \"string\") {\n return new GenerationChunk({ text: data });\n }\n return data;\n }\n let tappedPromise = this.tappedPromises.get(runId);\n // if we are the first to tap, issue stream events\n if (tappedPromise === undefined) {\n let tappedPromiseResolver: (() => void) | undefined;\n tappedPromise = new Promise((resolve) => {\n tappedPromiseResolver = resolve;\n });\n this.tappedPromises.set(runId, tappedPromise);\n try {\n const event: StreamEvent = {\n event: `on_${runInfo.runType}_stream`,\n run_id: runId,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data: {},\n };\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, firstChunk.value),\n },\n },\n runInfo\n );\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n // Don't yield tool and retriever stream events\n if (runInfo.runType !== \"tool\" && runInfo.runType !== \"retriever\") {\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, chunk),\n },\n },\n runInfo\n );\n }\n yield chunk;\n }\n } finally {\n tappedPromiseResolver?.();\n // Don't delete from the promises map to keep track of which runs have been tapped.\n }\n } else {\n // otherwise just pass through\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n yield chunk;\n }\n }\n }\n\n async send(payload: StreamEvent, run: RunInfo) {\n if (this.readableStreamClosed) return;\n if (this._includeRun(run)) {\n await this.writer.write(payload);\n }\n }\n\n async sendEndEvent(payload: StreamEvent, run: RunInfo) {\n const tappedPromise = this.tappedPromises.get(payload.run_id);\n if (tappedPromise !== undefined) {\n // oxlint-disable-next-line no-void\n void tappedPromise.then(() => {\n // oxlint-disable-next-line no-void\n void this.send(payload, run);\n });\n } else {\n await this.send(payload, run);\n }\n }\n\n async onLLMStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.inputs.messages !== undefined ? \"chat_model\" : \"llm\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: run.inputs,\n };\n this.runInfoMap.set(run.id, runInfo);\n const eventName = `on_${runType}_start`;\n await this.send(\n {\n event: eventName,\n data: {\n input: run.inputs,\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onLLMNewToken(\n run: Run,\n token: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: { chunk: any }\n ): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n let chunk;\n let eventName;\n if (runInfo === undefined) {\n throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);\n }\n // Top-level streaming events are covered by tapOutputIterable\n if (this.runInfoMap.size === 1) {\n return;\n }\n if (runInfo.runType === \"chat_model\") {\n eventName = \"on_chat_model_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new AIMessageChunk({ content: token, id: `run-${run.id}` });\n } else {\n chunk = kwargs.chunk.message;\n }\n } else if (runInfo.runType === \"llm\") {\n eventName = \"on_llm_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new GenerationChunk({ text: token });\n } else {\n chunk = kwargs.chunk;\n }\n } else {\n throw new Error(`Unexpected run type ${runInfo.runType}`);\n }\n await this.send(\n {\n event: eventName,\n data: {\n chunk,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onLLMEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n let eventName: string;\n if (runInfo === undefined) {\n throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);\n }\n const generations: ChatGeneration[][] | Generation[][] | undefined =\n run.outputs?.generations;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let output: BaseMessage | Record<string, any> | undefined;\n if (runInfo.runType === \"chat_model\") {\n for (const generation of generations ?? []) {\n if (output !== undefined) {\n break;\n }\n output = (generation[0] as ChatGeneration | undefined)?.message;\n }\n eventName = \"on_chat_model_end\";\n } else if (runInfo.runType === \"llm\") {\n output = {\n generations: generations?.map((generation) => {\n return generation.map((chunk) => {\n return {\n text: chunk.text,\n generationInfo: chunk.generationInfo,\n };\n });\n }),\n llmOutput: run.outputs?.llmOutput ?? {},\n };\n eventName = \"on_llm_end\";\n } else {\n throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onChainStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.run_type ?? \"chain\";\n const runInfo: RunInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: run.run_type,\n };\n let eventData: StreamEventData = {};\n // Workaround Runnable core code not sending input when transform streaming.\n if (run.inputs.input === \"\" && Object.keys(run.inputs).length === 1) {\n eventData = {};\n runInfo.inputs = {};\n } else if (run.inputs.input !== undefined) {\n eventData.input = run.inputs.input;\n runInfo.inputs = run.inputs.input;\n } else {\n eventData.input = run.inputs;\n runInfo.inputs = run.inputs;\n }\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: `on_${runType}_start`,\n data: eventData,\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onChainEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);\n }\n const eventName = `on_${run.run_type}_end`;\n const inputs = run.inputs ?? runInfo.inputs ?? {};\n const outputs = run.outputs?.output ?? run.outputs;\n const data: StreamEventData = {\n output: outputs,\n input: inputs,\n };\n if (inputs.input && Object.keys(inputs).length === 1) {\n data.input = inputs.input;\n runInfo.inputs = inputs.input;\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data,\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: \"tool\",\n inputs: run.inputs ?? {},\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_tool_start\",\n data: {\n input: run.inputs ?? {},\n },\n name: runName,\n run_id: run.id,\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n const output =\n run.outputs?.output === undefined ? run.outputs : run.outputs.output;\n await this.sendEndEvent(\n {\n event: \"on_tool_end\",\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onToolError(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n\n await this.sendEndEvent(\n {\n event: \"on_tool_error\",\n data: {\n input: runInfo.inputs,\n error: run.error,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onRetrieverStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = \"retriever\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: {\n query: run.inputs.query,\n },\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_retriever_start\",\n data: {\n input: {\n query: run.inputs.query,\n },\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onRetrieverEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);\n }\n await this.sendEndEvent(\n {\n event: \"on_retriever_end\",\n data: {\n output: run.outputs?.documents ?? run.outputs,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n async handleCustomEvent(eventName: string, data: any, runId: string) {\n const runInfo = this.runInfoMap.get(runId);\n if (runInfo === undefined) {\n throw new Error(\n `handleCustomEvent: Run ID ${runId} not found in run map.`\n );\n }\n await this.send(\n {\n event: \"on_custom_event\",\n run_id: runId,\n name: eventName,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data,\n },\n runInfo\n );\n }\n\n async finish() {\n const pendingPromises = [...this.tappedPromises.values()];\n // oxlint-disable-next-line no-void\n void Promise.all(pendingPromises).finally(() => {\n // oxlint-disable-next-line no-void\n void this.writer.close();\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"event_stream.cjs","names":["BaseTracer","IterableReadableStream","GenerationChunk","AIMessageChunk"],"sources":["../../src/tracers/event_stream.ts"],"sourcesContent":["import { BaseTracer, type Run } from \"./base.js\";\nimport {\n BaseCallbackHandler,\n BaseCallbackHandlerInput,\n CallbackHandlerPrefersStreaming,\n} from \"../callbacks/base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { ChatGeneration, Generation, GenerationChunk } from \"../outputs.js\";\nimport { BaseMessage } from \"../messages/base.js\";\n\n/**\n * Data associated with a StreamEvent.\n */\nexport type StreamEventData = {\n /**\n * The input passed to the runnable that generated the event.\n * Inputs will sometimes be available at the *START* of the runnable, and\n * sometimes at the *END* of the runnable.\n * If a runnable is able to stream its inputs, then its input by definition\n * won't be known until the *END* of the runnable when it has finished streaming\n * its inputs.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n input?: any;\n\n /**\n * The output of the runnable that generated the event.\n * Outputs will only be available at the *END* of the runnable.\n * For most runnables, this field can be inferred from the `chunk` field,\n * though there might be some exceptions for special cased runnables (e.g., like\n * chat models), which may return more information.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output?: any;\n\n /**\n * A streaming chunk from the output that generated the event.\n * chunks support addition in general, and adding them up should result\n * in the output of the runnable that generated the event.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n chunk?: any;\n\n /**\n * Error message if the runnable that generated the event failed.\n * This field will only be present if the runnable failed.\n */\n error?: string;\n};\n\n/**\n * A streaming event.\n *\n * Schema of a streaming event which is produced from the streamEvents method.\n */\nexport type StreamEvent = {\n /**\n * Event names are of the format: on_[runnable_type]_(start|stream|end).\n *\n * Runnable types are one of:\n * - llm - used by non chat models\n * - chat_model - used by chat models\n * - prompt -- e.g., ChatPromptTemplate\n * - tool -- LangChain tools\n * - chain - most Runnables are of this type\n *\n * Further, the events are categorized as one of:\n * - start - when the runnable starts\n * - stream - when the runnable is streaming\n * - end - when the runnable ends\n *\n * start, stream and end are associated with slightly different `data` payload.\n *\n * Please see the documentation for `EventData` for more details.\n */\n event: string;\n /** The name of the runnable that generated the event. */\n name: string;\n /**\n * An randomly generated ID to keep track of the execution of the given runnable.\n *\n * Each child runnable that gets invoked as part of the execution of a parent runnable\n * is assigned its own unique ID.\n */\n run_id: string;\n /**\n * Tags associated with the runnable that generated this event.\n * Tags are always inherited from parent runnables.\n */\n tags?: string[];\n /** Metadata associated with the runnable that generated this event. */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n /**\n * Event data.\n *\n * The contents of the event data depend on the event type.\n */\n data: StreamEventData;\n};\n\ntype RunInfo = {\n name: string;\n tags: string[];\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n runType: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n inputs?: Record<string, any>;\n};\n\nexport interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInput {\n autoClose?: boolean;\n includeNames?: string[];\n includeTypes?: string[];\n includeTags?: string[];\n excludeNames?: string[];\n excludeTypes?: string[];\n excludeTags?: string[];\n}\n\nfunction assignName({\n name,\n serialized,\n}: {\n name?: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n serialized?: Record<string, any>;\n}): string {\n if (name !== undefined) {\n return name;\n }\n if (serialized?.name !== undefined) {\n return serialized.name;\n } else if (serialized?.id !== undefined && Array.isArray(serialized?.id)) {\n return serialized.id[serialized.id.length - 1];\n }\n return \"Unnamed\";\n}\n\nexport const isStreamEventsHandler = (\n handler: BaseCallbackHandler\n): handler is EventStreamCallbackHandler =>\n handler.name === \"event_stream_tracer\";\n\n/**\n * Class that extends the `BaseTracer` class from the\n * `langchain.callbacks.tracers.base` module. It represents a callback\n * handler that logs the execution of runs and emits `RunLog` instances to a\n * `RunLogStream`.\n */\nexport class EventStreamCallbackHandler\n extends BaseTracer\n implements CallbackHandlerPrefersStreaming\n{\n protected autoClose = true;\n\n protected includeNames?: string[];\n\n protected includeTypes?: string[];\n\n protected includeTags?: string[];\n\n protected excludeNames?: string[];\n\n protected excludeTypes?: string[];\n\n protected excludeTags?: string[];\n\n private runInfoMap: Map<string, RunInfo> = new Map();\n\n private tappedPromises: Map<string, Promise<void>> = new Map();\n\n protected transformStream: TransformStream;\n\n public writer: WritableStreamDefaultWriter;\n\n public receiveStream: IterableReadableStream<StreamEvent>;\n\n private readableStreamClosed = false;\n\n private writerClosed = false;\n\n name = \"event_stream_tracer\";\n\n lc_prefer_streaming = true;\n\n constructor(fields?: EventStreamCallbackHandlerInput) {\n super({ _awaitHandler: true, ...fields });\n this.autoClose = fields?.autoClose ?? true;\n this.includeNames = fields?.includeNames;\n this.includeTypes = fields?.includeTypes;\n this.includeTags = fields?.includeTags;\n this.excludeNames = fields?.excludeNames;\n this.excludeTypes = fields?.excludeTypes;\n this.excludeTags = fields?.excludeTags;\n this.transformStream = new TransformStream({\n flush: () => {\n this.readableStreamClosed = true;\n },\n });\n this.writer = this.transformStream.writable.getWriter();\n this.receiveStream = IterableReadableStream.fromReadableStream(\n this.transformStream.readable\n );\n }\n\n [Symbol.asyncIterator]() {\n return this.receiveStream;\n }\n\n protected async persistRun(_run: Run): Promise<void> {\n // This is a legacy method only called once for an entire run tree\n // and is therefore not useful here\n }\n\n _includeRun(run: RunInfo): boolean {\n const runTags = run.tags ?? [];\n let include =\n this.includeNames === undefined &&\n this.includeTags === undefined &&\n this.includeTypes === undefined;\n if (this.includeNames !== undefined) {\n include = include || this.includeNames.includes(run.name);\n }\n if (this.includeTypes !== undefined) {\n include = include || this.includeTypes.includes(run.runType);\n }\n if (this.includeTags !== undefined) {\n include =\n include ||\n runTags.find((tag) => this.includeTags?.includes(tag)) !== undefined;\n }\n if (this.excludeNames !== undefined) {\n include = include && !this.excludeNames.includes(run.name);\n }\n if (this.excludeTypes !== undefined) {\n include = include && !this.excludeTypes.includes(run.runType);\n }\n if (this.excludeTags !== undefined) {\n include =\n include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n }\n return include;\n }\n\n async *tapOutputIterable<T>(\n runId: string,\n outputStream: AsyncGenerator<T>\n ): AsyncGenerator<T> {\n const firstChunk = await outputStream.next();\n if (firstChunk.done) {\n return;\n }\n const runInfo = this.runInfoMap.get(runId);\n // Run has finished, don't issue any stream events.\n // An example of this is for runnables that use the default\n // implementation of .stream(), which delegates to .invoke()\n // and calls .onChainEnd() before passing it to the iterator.\n if (runInfo === undefined) {\n yield firstChunk.value;\n return;\n }\n // Match format from handlers below\n function _formatOutputChunk(eventType: string, data: unknown) {\n if (eventType === \"llm\" && typeof data === \"string\") {\n return new GenerationChunk({ text: data });\n }\n return data;\n }\n let tappedPromise = this.tappedPromises.get(runId);\n // if we are the first to tap, issue stream events\n if (tappedPromise === undefined) {\n let tappedPromiseResolver: (() => void) | undefined;\n tappedPromise = new Promise((resolve) => {\n tappedPromiseResolver = resolve;\n });\n this.tappedPromises.set(runId, tappedPromise);\n try {\n const event: StreamEvent = {\n event: `on_${runInfo.runType}_stream`,\n run_id: runId,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data: {},\n };\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, firstChunk.value),\n },\n },\n runInfo\n );\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n // Don't yield tool and retriever stream events\n if (runInfo.runType !== \"tool\" && runInfo.runType !== \"retriever\") {\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, chunk),\n },\n },\n runInfo\n );\n }\n yield chunk;\n }\n } finally {\n tappedPromiseResolver?.();\n // Don't delete from the promises map to keep track of which runs have been tapped.\n }\n } else {\n // otherwise just pass through\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n yield chunk;\n }\n }\n }\n\n async send(payload: StreamEvent, run: RunInfo) {\n if (this.readableStreamClosed) return;\n if (this._includeRun(run)) {\n await this.writer.write(payload);\n }\n }\n\n async sendEndEvent(payload: StreamEvent, run: RunInfo) {\n const tappedPromise = this.tappedPromises.get(payload.run_id);\n if (tappedPromise !== undefined) {\n // oxlint-disable-next-line no-void\n void tappedPromise.then(() => {\n // oxlint-disable-next-line no-void\n void this.send(payload, run);\n });\n } else {\n await this.send(payload, run);\n }\n }\n\n async onLLMStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.inputs.messages !== undefined ? \"chat_model\" : \"llm\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: run.inputs,\n };\n this.runInfoMap.set(run.id, runInfo);\n const eventName = `on_${runType}_start`;\n await this.send(\n {\n event: eventName,\n data: {\n input: run.inputs,\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onLLMNewToken(\n run: Run,\n token: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: { chunk: any }\n ): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n let chunk;\n let eventName;\n if (runInfo === undefined) {\n throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);\n }\n // Top-level streaming events are covered by tapOutputIterable\n if (this.runInfoMap.size === 1) {\n return;\n }\n if (runInfo.runType === \"chat_model\") {\n eventName = \"on_chat_model_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new AIMessageChunk({ content: token, id: `run-${run.id}` });\n } else {\n chunk = kwargs.chunk.message;\n }\n } else if (runInfo.runType === \"llm\") {\n eventName = \"on_llm_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new GenerationChunk({ text: token });\n } else {\n chunk = kwargs.chunk;\n }\n } else {\n throw new Error(`Unexpected run type ${runInfo.runType}`);\n }\n await this.send(\n {\n event: eventName,\n data: {\n chunk,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onLLMEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n let eventName: string;\n if (runInfo === undefined) {\n throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);\n }\n const generations: ChatGeneration[][] | Generation[][] | undefined =\n run.outputs?.generations;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let output: BaseMessage | Record<string, any> | undefined;\n if (runInfo.runType === \"chat_model\") {\n for (const generation of generations ?? []) {\n if (output !== undefined) {\n break;\n }\n output = (generation[0] as ChatGeneration | undefined)?.message;\n }\n eventName = \"on_chat_model_end\";\n } else if (runInfo.runType === \"llm\") {\n output = {\n generations: generations?.map((generation) => {\n return generation.map((chunk) => {\n return {\n text: chunk.text,\n generationInfo: chunk.generationInfo,\n };\n });\n }),\n llmOutput: run.outputs?.llmOutput ?? {},\n };\n eventName = \"on_llm_end\";\n } else {\n throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onChainStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.run_type ?? \"chain\";\n const runInfo: RunInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: run.run_type,\n };\n let eventData: StreamEventData = {};\n // Workaround Runnable core code not sending input when transform streaming.\n if (run.inputs.input === \"\" && Object.keys(run.inputs).length === 1) {\n eventData = {};\n runInfo.inputs = {};\n } else if (run.inputs.input !== undefined) {\n eventData.input = run.inputs.input;\n runInfo.inputs = run.inputs.input;\n } else {\n eventData.input = run.inputs;\n runInfo.inputs = run.inputs;\n }\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: `on_${runType}_start`,\n data: eventData,\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onChainEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);\n }\n const eventName = `on_${run.run_type}_end`;\n const inputs = run.inputs ?? runInfo.inputs ?? {};\n const outputs = run.outputs?.output ?? run.outputs;\n const data: StreamEventData = {\n output: outputs,\n input: inputs,\n };\n if (inputs.input && Object.keys(inputs).length === 1) {\n data.input = inputs.input;\n runInfo.inputs = inputs.input;\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data,\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: \"tool\",\n inputs: run.inputs ?? {},\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_tool_start\",\n data: {\n input: run.inputs ?? {},\n },\n name: runName,\n run_id: run.id,\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n const output =\n run.outputs?.output === undefined ? run.outputs : run.outputs.output;\n await this.sendEndEvent(\n {\n event: \"on_tool_end\",\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onToolError(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n\n await this.sendEndEvent(\n {\n event: \"on_tool_error\",\n data: {\n input: runInfo.inputs,\n error: run.error,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onRetrieverStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = \"retriever\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: {\n query: run.inputs.query,\n },\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_retriever_start\",\n data: {\n input: {\n query: run.inputs.query,\n },\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onRetrieverEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);\n }\n await this.sendEndEvent(\n {\n event: \"on_retriever_end\",\n data: {\n output: run.outputs?.documents ?? run.outputs,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n async handleCustomEvent(eventName: string, data: any, runId: string) {\n const runInfo = this.runInfoMap.get(runId);\n if (runInfo === undefined) {\n throw new Error(\n `handleCustomEvent: Run ID ${runId} not found in run map.`\n );\n }\n await this.send(\n {\n event: \"on_custom_event\",\n run_id: runId,\n name: eventName,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data,\n },\n runInfo\n );\n }\n\n async finish() {\n const pendingPromises = [...this.tappedPromises.values()];\n // oxlint-disable-next-line no-void\n void Promise.all(pendingPromises).finally(() => this.close());\n }\n\n /** Closes the event stream. Safe to call more than once. */\n close() {\n if (this.writerClosed) return;\n this.writerClosed = true;\n // oxlint-disable-next-line no-void\n void this.writer.close();\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { BaseCallbackHandlerInput } from "../callbacks/base.cjs";
2
1
  import "./base.cjs";
3
- //#region src/tracers/event_stream.d.ts
2
+ import { BaseCallbackHandlerInput } from "../callbacks/base.cjs";
4
3
  /**
5
4
  * Data associated with a StreamEvent.
6
5
  */
@@ -92,5 +91,4 @@ export interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInpu
92
91
  excludeTypes?: string[];
93
92
  excludeTags?: string[];
94
93
  }
95
- //#endregion
96
94
  //# sourceMappingURL=event_stream.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event_stream.d.cts","names":[],"sources":["../../src/tracers/event_stream.ts"],"mappings":";;;;;;YAcY;;;;;;;;;EAUV;;;;;;;;EAUA;;;;;;EAQA;;;;;EAMA;;;;;;;YAQU;;;;;;;;;;;;;;;;;;;;EAoBV;;EAEA;;;;;;;EAOA;;;;;EAKA;;EAGA,UAAU;;;;;;EAMV,MAAM;;iBAaS,wCAAwC;EACvD;EACA;EACA;EACA;EACA;EACA;EACA"}
1
+ {"version":3,"file":"event_stream.d.cts","names":[],"sources":["../../src/tracers/event_stream.ts"],"mappings":";;;;;YAcY;;;;;;;;;EAUV;;;;;;;;EAUA;;;;;;EAQA;;;;;EAMA;;;;;;;YAQU;;;;;;;;;;;;;;;;;;;;EAoBV;;EAEA;;;;;;;EAOA;;;;;EAKA;;EAGA,UAAU;;;;;;EAMV,MAAM;;iBAaS,wCAAwC;EACvD;EACA;EACA;EACA;EACA;EACA;EACA"}
@@ -1,6 +1,5 @@
1
- import { BaseCallbackHandlerInput } from "../callbacks/base.js";
2
1
  import "./base.js";
3
- //#region src/tracers/event_stream.d.ts
2
+ import { BaseCallbackHandlerInput } from "../callbacks/base.js";
4
3
  /**
5
4
  * Data associated with a StreamEvent.
6
5
  */
@@ -92,5 +91,4 @@ export interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInpu
92
91
  excludeTypes?: string[];
93
92
  excludeTags?: string[];
94
93
  }
95
- //#endregion
96
94
  //# sourceMappingURL=event_stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event_stream.d.ts","names":[],"sources":["../../src/tracers/event_stream.ts"],"mappings":";;;;;;YAcY;;;;;;;;;EAUV;;;;;;;;EAUA;;;;;;EAQA;;;;;EAMA;;;;;;;YAQU;;;;;;;;;;;;;;;;;;;;EAoBV;;EAEA;;;;;;;EAOA;;;;;EAKA;;EAGA,UAAU;;;;;;EAMV,MAAM;;iBAaS,wCAAwC;EACvD;EACA;EACA;EACA;EACA;EACA;EACA"}
1
+ {"version":3,"file":"event_stream.d.ts","names":[],"sources":["../../src/tracers/event_stream.ts"],"mappings":";;;;;YAcY;;;;;;;;;EAUV;;;;;;;;EAUA;;;;;;EAQA;;;;;EAMA;;;;;;;YAQU;;;;;;;;;;;;;;;;;;;;EAoBV;;EAEA;;;;;;;EAOA;;;;;EAKA;;EAGA,UAAU;;;;;;EAMV,MAAM;;iBAaS,wCAAwC;EACvD;EACA;EACA;EACA;EACA;EACA;EACA"}
@@ -1,8 +1,8 @@
1
- import { AIMessageChunk } from "../messages/ai.js";
2
1
  import { BaseTracer } from "./base.js";
3
2
  import { IterableReadableStream } from "../utils/stream.js";
3
+ import { AIMessageChunk } from "../messages/ai.js";
4
4
  import { GenerationChunk } from "../outputs.js";
5
- //#region src/tracers/event_stream.ts
5
+ // src/tracers/event_stream.ts
6
6
  function assignName({ name, serialized }) {
7
7
  if (name !== void 0) return name;
8
8
  if (serialized?.name !== void 0) return serialized.name;
@@ -30,6 +30,7 @@ var EventStreamCallbackHandler = class extends BaseTracer {
30
30
  writer;
31
31
  receiveStream;
32
32
  readableStreamClosed = false;
33
+ writerClosed = false;
33
34
  name = "event_stream_tracer";
34
35
  lc_prefer_streaming = true;
35
36
  constructor(fields) {
@@ -367,12 +368,15 @@ var EventStreamCallbackHandler = class extends BaseTracer {
367
368
  }
368
369
  async finish() {
369
370
  const pendingPromises = [...this.tappedPromises.values()];
370
- Promise.all(pendingPromises).finally(() => {
371
- this.writer.close();
372
- });
371
+ Promise.all(pendingPromises).finally(() => this.close());
372
+ }
373
+ /** Closes the event stream. Safe to call more than once. */
374
+ close() {
375
+ if (this.writerClosed) return;
376
+ this.writerClosed = true;
377
+ this.writer.close();
373
378
  }
374
379
  };
375
- //#endregion
376
380
  export { EventStreamCallbackHandler, isStreamEventsHandler };
377
381
 
378
382
  //# sourceMappingURL=event_stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event_stream.js","names":[],"sources":["../../src/tracers/event_stream.ts"],"sourcesContent":["import { BaseTracer, type Run } from \"./base.js\";\nimport {\n BaseCallbackHandler,\n BaseCallbackHandlerInput,\n CallbackHandlerPrefersStreaming,\n} from \"../callbacks/base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { ChatGeneration, Generation, GenerationChunk } from \"../outputs.js\";\nimport { BaseMessage } from \"../messages/base.js\";\n\n/**\n * Data associated with a StreamEvent.\n */\nexport type StreamEventData = {\n /**\n * The input passed to the runnable that generated the event.\n * Inputs will sometimes be available at the *START* of the runnable, and\n * sometimes at the *END* of the runnable.\n * If a runnable is able to stream its inputs, then its input by definition\n * won't be known until the *END* of the runnable when it has finished streaming\n * its inputs.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n input?: any;\n\n /**\n * The output of the runnable that generated the event.\n * Outputs will only be available at the *END* of the runnable.\n * For most runnables, this field can be inferred from the `chunk` field,\n * though there might be some exceptions for special cased runnables (e.g., like\n * chat models), which may return more information.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output?: any;\n\n /**\n * A streaming chunk from the output that generated the event.\n * chunks support addition in general, and adding them up should result\n * in the output of the runnable that generated the event.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n chunk?: any;\n\n /**\n * Error message if the runnable that generated the event failed.\n * This field will only be present if the runnable failed.\n */\n error?: string;\n};\n\n/**\n * A streaming event.\n *\n * Schema of a streaming event which is produced from the streamEvents method.\n */\nexport type StreamEvent = {\n /**\n * Event names are of the format: on_[runnable_type]_(start|stream|end).\n *\n * Runnable types are one of:\n * - llm - used by non chat models\n * - chat_model - used by chat models\n * - prompt -- e.g., ChatPromptTemplate\n * - tool -- LangChain tools\n * - chain - most Runnables are of this type\n *\n * Further, the events are categorized as one of:\n * - start - when the runnable starts\n * - stream - when the runnable is streaming\n * - end - when the runnable ends\n *\n * start, stream and end are associated with slightly different `data` payload.\n *\n * Please see the documentation for `EventData` for more details.\n */\n event: string;\n /** The name of the runnable that generated the event. */\n name: string;\n /**\n * An randomly generated ID to keep track of the execution of the given runnable.\n *\n * Each child runnable that gets invoked as part of the execution of a parent runnable\n * is assigned its own unique ID.\n */\n run_id: string;\n /**\n * Tags associated with the runnable that generated this event.\n * Tags are always inherited from parent runnables.\n */\n tags?: string[];\n /** Metadata associated with the runnable that generated this event. */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n /**\n * Event data.\n *\n * The contents of the event data depend on the event type.\n */\n data: StreamEventData;\n};\n\ntype RunInfo = {\n name: string;\n tags: string[];\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n runType: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n inputs?: Record<string, any>;\n};\n\nexport interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInput {\n autoClose?: boolean;\n includeNames?: string[];\n includeTypes?: string[];\n includeTags?: string[];\n excludeNames?: string[];\n excludeTypes?: string[];\n excludeTags?: string[];\n}\n\nfunction assignName({\n name,\n serialized,\n}: {\n name?: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n serialized?: Record<string, any>;\n}): string {\n if (name !== undefined) {\n return name;\n }\n if (serialized?.name !== undefined) {\n return serialized.name;\n } else if (serialized?.id !== undefined && Array.isArray(serialized?.id)) {\n return serialized.id[serialized.id.length - 1];\n }\n return \"Unnamed\";\n}\n\nexport const isStreamEventsHandler = (\n handler: BaseCallbackHandler\n): handler is EventStreamCallbackHandler =>\n handler.name === \"event_stream_tracer\";\n\n/**\n * Class that extends the `BaseTracer` class from the\n * `langchain.callbacks.tracers.base` module. It represents a callback\n * handler that logs the execution of runs and emits `RunLog` instances to a\n * `RunLogStream`.\n */\nexport class EventStreamCallbackHandler\n extends BaseTracer\n implements CallbackHandlerPrefersStreaming\n{\n protected autoClose = true;\n\n protected includeNames?: string[];\n\n protected includeTypes?: string[];\n\n protected includeTags?: string[];\n\n protected excludeNames?: string[];\n\n protected excludeTypes?: string[];\n\n protected excludeTags?: string[];\n\n private runInfoMap: Map<string, RunInfo> = new Map();\n\n private tappedPromises: Map<string, Promise<void>> = new Map();\n\n protected transformStream: TransformStream;\n\n public writer: WritableStreamDefaultWriter;\n\n public receiveStream: IterableReadableStream<StreamEvent>;\n\n private readableStreamClosed = false;\n\n name = \"event_stream_tracer\";\n\n lc_prefer_streaming = true;\n\n constructor(fields?: EventStreamCallbackHandlerInput) {\n super({ _awaitHandler: true, ...fields });\n this.autoClose = fields?.autoClose ?? true;\n this.includeNames = fields?.includeNames;\n this.includeTypes = fields?.includeTypes;\n this.includeTags = fields?.includeTags;\n this.excludeNames = fields?.excludeNames;\n this.excludeTypes = fields?.excludeTypes;\n this.excludeTags = fields?.excludeTags;\n this.transformStream = new TransformStream({\n flush: () => {\n this.readableStreamClosed = true;\n },\n });\n this.writer = this.transformStream.writable.getWriter();\n this.receiveStream = IterableReadableStream.fromReadableStream(\n this.transformStream.readable\n );\n }\n\n [Symbol.asyncIterator]() {\n return this.receiveStream;\n }\n\n protected async persistRun(_run: Run): Promise<void> {\n // This is a legacy method only called once for an entire run tree\n // and is therefore not useful here\n }\n\n _includeRun(run: RunInfo): boolean {\n const runTags = run.tags ?? [];\n let include =\n this.includeNames === undefined &&\n this.includeTags === undefined &&\n this.includeTypes === undefined;\n if (this.includeNames !== undefined) {\n include = include || this.includeNames.includes(run.name);\n }\n if (this.includeTypes !== undefined) {\n include = include || this.includeTypes.includes(run.runType);\n }\n if (this.includeTags !== undefined) {\n include =\n include ||\n runTags.find((tag) => this.includeTags?.includes(tag)) !== undefined;\n }\n if (this.excludeNames !== undefined) {\n include = include && !this.excludeNames.includes(run.name);\n }\n if (this.excludeTypes !== undefined) {\n include = include && !this.excludeTypes.includes(run.runType);\n }\n if (this.excludeTags !== undefined) {\n include =\n include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n }\n return include;\n }\n\n async *tapOutputIterable<T>(\n runId: string,\n outputStream: AsyncGenerator<T>\n ): AsyncGenerator<T> {\n const firstChunk = await outputStream.next();\n if (firstChunk.done) {\n return;\n }\n const runInfo = this.runInfoMap.get(runId);\n // Run has finished, don't issue any stream events.\n // An example of this is for runnables that use the default\n // implementation of .stream(), which delegates to .invoke()\n // and calls .onChainEnd() before passing it to the iterator.\n if (runInfo === undefined) {\n yield firstChunk.value;\n return;\n }\n // Match format from handlers below\n function _formatOutputChunk(eventType: string, data: unknown) {\n if (eventType === \"llm\" && typeof data === \"string\") {\n return new GenerationChunk({ text: data });\n }\n return data;\n }\n let tappedPromise = this.tappedPromises.get(runId);\n // if we are the first to tap, issue stream events\n if (tappedPromise === undefined) {\n let tappedPromiseResolver: (() => void) | undefined;\n tappedPromise = new Promise((resolve) => {\n tappedPromiseResolver = resolve;\n });\n this.tappedPromises.set(runId, tappedPromise);\n try {\n const event: StreamEvent = {\n event: `on_${runInfo.runType}_stream`,\n run_id: runId,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data: {},\n };\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, firstChunk.value),\n },\n },\n runInfo\n );\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n // Don't yield tool and retriever stream events\n if (runInfo.runType !== \"tool\" && runInfo.runType !== \"retriever\") {\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, chunk),\n },\n },\n runInfo\n );\n }\n yield chunk;\n }\n } finally {\n tappedPromiseResolver?.();\n // Don't delete from the promises map to keep track of which runs have been tapped.\n }\n } else {\n // otherwise just pass through\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n yield chunk;\n }\n }\n }\n\n async send(payload: StreamEvent, run: RunInfo) {\n if (this.readableStreamClosed) return;\n if (this._includeRun(run)) {\n await this.writer.write(payload);\n }\n }\n\n async sendEndEvent(payload: StreamEvent, run: RunInfo) {\n const tappedPromise = this.tappedPromises.get(payload.run_id);\n if (tappedPromise !== undefined) {\n // oxlint-disable-next-line no-void\n void tappedPromise.then(() => {\n // oxlint-disable-next-line no-void\n void this.send(payload, run);\n });\n } else {\n await this.send(payload, run);\n }\n }\n\n async onLLMStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.inputs.messages !== undefined ? \"chat_model\" : \"llm\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: run.inputs,\n };\n this.runInfoMap.set(run.id, runInfo);\n const eventName = `on_${runType}_start`;\n await this.send(\n {\n event: eventName,\n data: {\n input: run.inputs,\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onLLMNewToken(\n run: Run,\n token: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: { chunk: any }\n ): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n let chunk;\n let eventName;\n if (runInfo === undefined) {\n throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);\n }\n // Top-level streaming events are covered by tapOutputIterable\n if (this.runInfoMap.size === 1) {\n return;\n }\n if (runInfo.runType === \"chat_model\") {\n eventName = \"on_chat_model_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new AIMessageChunk({ content: token, id: `run-${run.id}` });\n } else {\n chunk = kwargs.chunk.message;\n }\n } else if (runInfo.runType === \"llm\") {\n eventName = \"on_llm_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new GenerationChunk({ text: token });\n } else {\n chunk = kwargs.chunk;\n }\n } else {\n throw new Error(`Unexpected run type ${runInfo.runType}`);\n }\n await this.send(\n {\n event: eventName,\n data: {\n chunk,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onLLMEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n let eventName: string;\n if (runInfo === undefined) {\n throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);\n }\n const generations: ChatGeneration[][] | Generation[][] | undefined =\n run.outputs?.generations;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let output: BaseMessage | Record<string, any> | undefined;\n if (runInfo.runType === \"chat_model\") {\n for (const generation of generations ?? []) {\n if (output !== undefined) {\n break;\n }\n output = (generation[0] as ChatGeneration | undefined)?.message;\n }\n eventName = \"on_chat_model_end\";\n } else if (runInfo.runType === \"llm\") {\n output = {\n generations: generations?.map((generation) => {\n return generation.map((chunk) => {\n return {\n text: chunk.text,\n generationInfo: chunk.generationInfo,\n };\n });\n }),\n llmOutput: run.outputs?.llmOutput ?? {},\n };\n eventName = \"on_llm_end\";\n } else {\n throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onChainStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.run_type ?? \"chain\";\n const runInfo: RunInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: run.run_type,\n };\n let eventData: StreamEventData = {};\n // Workaround Runnable core code not sending input when transform streaming.\n if (run.inputs.input === \"\" && Object.keys(run.inputs).length === 1) {\n eventData = {};\n runInfo.inputs = {};\n } else if (run.inputs.input !== undefined) {\n eventData.input = run.inputs.input;\n runInfo.inputs = run.inputs.input;\n } else {\n eventData.input = run.inputs;\n runInfo.inputs = run.inputs;\n }\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: `on_${runType}_start`,\n data: eventData,\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onChainEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);\n }\n const eventName = `on_${run.run_type}_end`;\n const inputs = run.inputs ?? runInfo.inputs ?? {};\n const outputs = run.outputs?.output ?? run.outputs;\n const data: StreamEventData = {\n output: outputs,\n input: inputs,\n };\n if (inputs.input && Object.keys(inputs).length === 1) {\n data.input = inputs.input;\n runInfo.inputs = inputs.input;\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data,\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: \"tool\",\n inputs: run.inputs ?? {},\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_tool_start\",\n data: {\n input: run.inputs ?? {},\n },\n name: runName,\n run_id: run.id,\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n const output =\n run.outputs?.output === undefined ? run.outputs : run.outputs.output;\n await this.sendEndEvent(\n {\n event: \"on_tool_end\",\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onToolError(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n\n await this.sendEndEvent(\n {\n event: \"on_tool_error\",\n data: {\n input: runInfo.inputs,\n error: run.error,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onRetrieverStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = \"retriever\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: {\n query: run.inputs.query,\n },\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_retriever_start\",\n data: {\n input: {\n query: run.inputs.query,\n },\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onRetrieverEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);\n }\n await this.sendEndEvent(\n {\n event: \"on_retriever_end\",\n data: {\n output: run.outputs?.documents ?? run.outputs,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n async handleCustomEvent(eventName: string, data: any, runId: string) {\n const runInfo = this.runInfoMap.get(runId);\n if (runInfo === undefined) {\n throw new Error(\n `handleCustomEvent: Run ID ${runId} not found in run map.`\n );\n }\n await this.send(\n {\n event: \"on_custom_event\",\n run_id: runId,\n name: eventName,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data,\n },\n runInfo\n );\n }\n\n async finish() {\n const pendingPromises = [...this.tappedPromises.values()];\n // oxlint-disable-next-line no-void\n void Promise.all(pendingPromises).finally(() => {\n // oxlint-disable-next-line no-void\n void this.writer.close();\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"event_stream.js","names":[],"sources":["../../src/tracers/event_stream.ts"],"sourcesContent":["import { BaseTracer, type Run } from \"./base.js\";\nimport {\n BaseCallbackHandler,\n BaseCallbackHandlerInput,\n CallbackHandlerPrefersStreaming,\n} from \"../callbacks/base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { ChatGeneration, Generation, GenerationChunk } from \"../outputs.js\";\nimport { BaseMessage } from \"../messages/base.js\";\n\n/**\n * Data associated with a StreamEvent.\n */\nexport type StreamEventData = {\n /**\n * The input passed to the runnable that generated the event.\n * Inputs will sometimes be available at the *START* of the runnable, and\n * sometimes at the *END* of the runnable.\n * If a runnable is able to stream its inputs, then its input by definition\n * won't be known until the *END* of the runnable when it has finished streaming\n * its inputs.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n input?: any;\n\n /**\n * The output of the runnable that generated the event.\n * Outputs will only be available at the *END* of the runnable.\n * For most runnables, this field can be inferred from the `chunk` field,\n * though there might be some exceptions for special cased runnables (e.g., like\n * chat models), which may return more information.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n output?: any;\n\n /**\n * A streaming chunk from the output that generated the event.\n * chunks support addition in general, and adding them up should result\n * in the output of the runnable that generated the event.\n */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n chunk?: any;\n\n /**\n * Error message if the runnable that generated the event failed.\n * This field will only be present if the runnable failed.\n */\n error?: string;\n};\n\n/**\n * A streaming event.\n *\n * Schema of a streaming event which is produced from the streamEvents method.\n */\nexport type StreamEvent = {\n /**\n * Event names are of the format: on_[runnable_type]_(start|stream|end).\n *\n * Runnable types are one of:\n * - llm - used by non chat models\n * - chat_model - used by chat models\n * - prompt -- e.g., ChatPromptTemplate\n * - tool -- LangChain tools\n * - chain - most Runnables are of this type\n *\n * Further, the events are categorized as one of:\n * - start - when the runnable starts\n * - stream - when the runnable is streaming\n * - end - when the runnable ends\n *\n * start, stream and end are associated with slightly different `data` payload.\n *\n * Please see the documentation for `EventData` for more details.\n */\n event: string;\n /** The name of the runnable that generated the event. */\n name: string;\n /**\n * An randomly generated ID to keep track of the execution of the given runnable.\n *\n * Each child runnable that gets invoked as part of the execution of a parent runnable\n * is assigned its own unique ID.\n */\n run_id: string;\n /**\n * Tags associated with the runnable that generated this event.\n * Tags are always inherited from parent runnables.\n */\n tags?: string[];\n /** Metadata associated with the runnable that generated this event. */\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n /**\n * Event data.\n *\n * The contents of the event data depend on the event type.\n */\n data: StreamEventData;\n};\n\ntype RunInfo = {\n name: string;\n tags: string[];\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n runType: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n inputs?: Record<string, any>;\n};\n\nexport interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInput {\n autoClose?: boolean;\n includeNames?: string[];\n includeTypes?: string[];\n includeTags?: string[];\n excludeNames?: string[];\n excludeTypes?: string[];\n excludeTags?: string[];\n}\n\nfunction assignName({\n name,\n serialized,\n}: {\n name?: string;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n serialized?: Record<string, any>;\n}): string {\n if (name !== undefined) {\n return name;\n }\n if (serialized?.name !== undefined) {\n return serialized.name;\n } else if (serialized?.id !== undefined && Array.isArray(serialized?.id)) {\n return serialized.id[serialized.id.length - 1];\n }\n return \"Unnamed\";\n}\n\nexport const isStreamEventsHandler = (\n handler: BaseCallbackHandler\n): handler is EventStreamCallbackHandler =>\n handler.name === \"event_stream_tracer\";\n\n/**\n * Class that extends the `BaseTracer` class from the\n * `langchain.callbacks.tracers.base` module. It represents a callback\n * handler that logs the execution of runs and emits `RunLog` instances to a\n * `RunLogStream`.\n */\nexport class EventStreamCallbackHandler\n extends BaseTracer\n implements CallbackHandlerPrefersStreaming\n{\n protected autoClose = true;\n\n protected includeNames?: string[];\n\n protected includeTypes?: string[];\n\n protected includeTags?: string[];\n\n protected excludeNames?: string[];\n\n protected excludeTypes?: string[];\n\n protected excludeTags?: string[];\n\n private runInfoMap: Map<string, RunInfo> = new Map();\n\n private tappedPromises: Map<string, Promise<void>> = new Map();\n\n protected transformStream: TransformStream;\n\n public writer: WritableStreamDefaultWriter;\n\n public receiveStream: IterableReadableStream<StreamEvent>;\n\n private readableStreamClosed = false;\n\n private writerClosed = false;\n\n name = \"event_stream_tracer\";\n\n lc_prefer_streaming = true;\n\n constructor(fields?: EventStreamCallbackHandlerInput) {\n super({ _awaitHandler: true, ...fields });\n this.autoClose = fields?.autoClose ?? true;\n this.includeNames = fields?.includeNames;\n this.includeTypes = fields?.includeTypes;\n this.includeTags = fields?.includeTags;\n this.excludeNames = fields?.excludeNames;\n this.excludeTypes = fields?.excludeTypes;\n this.excludeTags = fields?.excludeTags;\n this.transformStream = new TransformStream({\n flush: () => {\n this.readableStreamClosed = true;\n },\n });\n this.writer = this.transformStream.writable.getWriter();\n this.receiveStream = IterableReadableStream.fromReadableStream(\n this.transformStream.readable\n );\n }\n\n [Symbol.asyncIterator]() {\n return this.receiveStream;\n }\n\n protected async persistRun(_run: Run): Promise<void> {\n // This is a legacy method only called once for an entire run tree\n // and is therefore not useful here\n }\n\n _includeRun(run: RunInfo): boolean {\n const runTags = run.tags ?? [];\n let include =\n this.includeNames === undefined &&\n this.includeTags === undefined &&\n this.includeTypes === undefined;\n if (this.includeNames !== undefined) {\n include = include || this.includeNames.includes(run.name);\n }\n if (this.includeTypes !== undefined) {\n include = include || this.includeTypes.includes(run.runType);\n }\n if (this.includeTags !== undefined) {\n include =\n include ||\n runTags.find((tag) => this.includeTags?.includes(tag)) !== undefined;\n }\n if (this.excludeNames !== undefined) {\n include = include && !this.excludeNames.includes(run.name);\n }\n if (this.excludeTypes !== undefined) {\n include = include && !this.excludeTypes.includes(run.runType);\n }\n if (this.excludeTags !== undefined) {\n include =\n include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n }\n return include;\n }\n\n async *tapOutputIterable<T>(\n runId: string,\n outputStream: AsyncGenerator<T>\n ): AsyncGenerator<T> {\n const firstChunk = await outputStream.next();\n if (firstChunk.done) {\n return;\n }\n const runInfo = this.runInfoMap.get(runId);\n // Run has finished, don't issue any stream events.\n // An example of this is for runnables that use the default\n // implementation of .stream(), which delegates to .invoke()\n // and calls .onChainEnd() before passing it to the iterator.\n if (runInfo === undefined) {\n yield firstChunk.value;\n return;\n }\n // Match format from handlers below\n function _formatOutputChunk(eventType: string, data: unknown) {\n if (eventType === \"llm\" && typeof data === \"string\") {\n return new GenerationChunk({ text: data });\n }\n return data;\n }\n let tappedPromise = this.tappedPromises.get(runId);\n // if we are the first to tap, issue stream events\n if (tappedPromise === undefined) {\n let tappedPromiseResolver: (() => void) | undefined;\n tappedPromise = new Promise((resolve) => {\n tappedPromiseResolver = resolve;\n });\n this.tappedPromises.set(runId, tappedPromise);\n try {\n const event: StreamEvent = {\n event: `on_${runInfo.runType}_stream`,\n run_id: runId,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data: {},\n };\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, firstChunk.value),\n },\n },\n runInfo\n );\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n // Don't yield tool and retriever stream events\n if (runInfo.runType !== \"tool\" && runInfo.runType !== \"retriever\") {\n await this.send(\n {\n ...event,\n data: {\n chunk: _formatOutputChunk(runInfo.runType, chunk),\n },\n },\n runInfo\n );\n }\n yield chunk;\n }\n } finally {\n tappedPromiseResolver?.();\n // Don't delete from the promises map to keep track of which runs have been tapped.\n }\n } else {\n // otherwise just pass through\n yield firstChunk.value;\n for await (const chunk of outputStream) {\n yield chunk;\n }\n }\n }\n\n async send(payload: StreamEvent, run: RunInfo) {\n if (this.readableStreamClosed) return;\n if (this._includeRun(run)) {\n await this.writer.write(payload);\n }\n }\n\n async sendEndEvent(payload: StreamEvent, run: RunInfo) {\n const tappedPromise = this.tappedPromises.get(payload.run_id);\n if (tappedPromise !== undefined) {\n // oxlint-disable-next-line no-void\n void tappedPromise.then(() => {\n // oxlint-disable-next-line no-void\n void this.send(payload, run);\n });\n } else {\n await this.send(payload, run);\n }\n }\n\n async onLLMStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.inputs.messages !== undefined ? \"chat_model\" : \"llm\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: run.inputs,\n };\n this.runInfoMap.set(run.id, runInfo);\n const eventName = `on_${runType}_start`;\n await this.send(\n {\n event: eventName,\n data: {\n input: run.inputs,\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onLLMNewToken(\n run: Run,\n token: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: { chunk: any }\n ): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n let chunk;\n let eventName;\n if (runInfo === undefined) {\n throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);\n }\n // Top-level streaming events are covered by tapOutputIterable\n if (this.runInfoMap.size === 1) {\n return;\n }\n if (runInfo.runType === \"chat_model\") {\n eventName = \"on_chat_model_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new AIMessageChunk({ content: token, id: `run-${run.id}` });\n } else {\n chunk = kwargs.chunk.message;\n }\n } else if (runInfo.runType === \"llm\") {\n eventName = \"on_llm_stream\";\n if (kwargs?.chunk === undefined) {\n chunk = new GenerationChunk({ text: token });\n } else {\n chunk = kwargs.chunk;\n }\n } else {\n throw new Error(`Unexpected run type ${runInfo.runType}`);\n }\n await this.send(\n {\n event: eventName,\n data: {\n chunk,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onLLMEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n let eventName: string;\n if (runInfo === undefined) {\n throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);\n }\n const generations: ChatGeneration[][] | Generation[][] | undefined =\n run.outputs?.generations;\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n let output: BaseMessage | Record<string, any> | undefined;\n if (runInfo.runType === \"chat_model\") {\n for (const generation of generations ?? []) {\n if (output !== undefined) {\n break;\n }\n output = (generation[0] as ChatGeneration | undefined)?.message;\n }\n eventName = \"on_chat_model_end\";\n } else if (runInfo.runType === \"llm\") {\n output = {\n generations: generations?.map((generation) => {\n return generation.map((chunk) => {\n return {\n text: chunk.text,\n generationInfo: chunk.generationInfo,\n };\n });\n }),\n llmOutput: run.outputs?.llmOutput ?? {},\n };\n eventName = \"on_llm_end\";\n } else {\n throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onChainStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = run.run_type ?? \"chain\";\n const runInfo: RunInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: run.run_type,\n };\n let eventData: StreamEventData = {};\n // Workaround Runnable core code not sending input when transform streaming.\n if (run.inputs.input === \"\" && Object.keys(run.inputs).length === 1) {\n eventData = {};\n runInfo.inputs = {};\n } else if (run.inputs.input !== undefined) {\n eventData.input = run.inputs.input;\n runInfo.inputs = run.inputs.input;\n } else {\n eventData.input = run.inputs;\n runInfo.inputs = run.inputs;\n }\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: `on_${runType}_start`,\n data: eventData,\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onChainEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);\n }\n const eventName = `on_${run.run_type}_end`;\n const inputs = run.inputs ?? runInfo.inputs ?? {};\n const outputs = run.outputs?.output ?? run.outputs;\n const data: StreamEventData = {\n output: outputs,\n input: inputs,\n };\n if (inputs.input && Object.keys(inputs).length === 1) {\n data.input = inputs.input;\n runInfo.inputs = inputs.input;\n }\n await this.sendEndEvent(\n {\n event: eventName,\n data,\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType: \"tool\",\n inputs: run.inputs ?? {},\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_tool_start\",\n data: {\n input: run.inputs ?? {},\n },\n name: runName,\n run_id: run.id,\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onToolEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n const output =\n run.outputs?.output === undefined ? run.outputs : run.outputs.output;\n await this.sendEndEvent(\n {\n event: \"on_tool_end\",\n data: {\n output,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onToolError(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n }\n if (runInfo.inputs === undefined) {\n throw new Error(\n `onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`\n );\n }\n\n await this.sendEndEvent(\n {\n event: \"on_tool_error\",\n data: {\n input: runInfo.inputs,\n error: run.error,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n async onRetrieverStart(run: Run): Promise<void> {\n const runName = assignName(run);\n const runType = \"retriever\";\n const runInfo = {\n tags: run.tags ?? [],\n metadata: run.extra?.metadata ?? {},\n name: runName,\n runType,\n inputs: {\n query: run.inputs.query,\n },\n };\n this.runInfoMap.set(run.id, runInfo);\n await this.send(\n {\n event: \"on_retriever_start\",\n data: {\n input: {\n query: run.inputs.query,\n },\n },\n name: runName,\n tags: run.tags ?? [],\n run_id: run.id,\n metadata: run.extra?.metadata ?? {},\n },\n runInfo\n );\n }\n\n async onRetrieverEnd(run: Run): Promise<void> {\n const runInfo = this.runInfoMap.get(run.id);\n this.runInfoMap.delete(run.id);\n if (runInfo === undefined) {\n throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);\n }\n await this.sendEndEvent(\n {\n event: \"on_retriever_end\",\n data: {\n output: run.outputs?.documents ?? run.outputs,\n input: runInfo.inputs,\n },\n run_id: run.id,\n name: runInfo.name,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n },\n runInfo\n );\n }\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n async handleCustomEvent(eventName: string, data: any, runId: string) {\n const runInfo = this.runInfoMap.get(runId);\n if (runInfo === undefined) {\n throw new Error(\n `handleCustomEvent: Run ID ${runId} not found in run map.`\n );\n }\n await this.send(\n {\n event: \"on_custom_event\",\n run_id: runId,\n name: eventName,\n tags: runInfo.tags,\n metadata: runInfo.metadata,\n data,\n },\n runInfo\n );\n }\n\n async finish() {\n const pendingPromises = [...this.tappedPromises.values()];\n // oxlint-disable-next-line no-void\n void Promise.all(pendingPromises).finally(() => this.close());\n }\n\n /** Closes the event stream. Safe to call more than once. */\n close() {\n if (this.writerClosed) return;\n this.writerClosed = true;\n // oxlint-disable-next-line no-void\n void this.writer.close();\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
- const require_ai = require("../messages/ai.cjs");
3
+ require("../utils/fast-json-patch/index.cjs");
4
4
  const require_tracers_base = require("./base.cjs");
5
5
  const require_core = require("../utils/fast-json-patch/src/core.cjs");
6
- require("../utils/fast-json-patch/index.cjs");
7
6
  const require_utils_stream = require("../utils/stream.cjs");
8
- //#region src/tracers/log_stream.ts
7
+ const require_ai = require("../messages/ai.cjs");
8
+ // src/tracers/log_stream.ts
9
9
  var log_stream_exports = /* @__PURE__ */ require_runtime.__exportAll({
10
10
  LogStreamCallbackHandler: () => LogStreamCallbackHandler,
11
11
  RunLog: () => RunLog,
@@ -260,7 +260,6 @@ var LogStreamCallbackHandler = class extends require_tracers_base.BaseTracer {
260
260
  await this.writer.write(patch);
261
261
  }
262
262
  };
263
- //#endregion
264
263
  exports.LogStreamCallbackHandler = LogStreamCallbackHandler;
265
264
  exports.RunLog = RunLog;
266
265
  exports.RunLogPatch = RunLogPatch;
@@ -1,9 +1,8 @@
1
- import { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields } from "../callbacks/base.cjs";
2
1
  import { Operation } from "../utils/fast-json-patch/src/core.cjs";
3
2
  import { BaseTracer, Run } from "./base.cjs";
3
+ import { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields } from "../callbacks/base.cjs";
4
4
  import { IterableReadableStream } from "../utils/stream.cjs";
5
5
  import { StreamEvent, StreamEventData } from "./event_stream.cjs";
6
- //#region src/tracers/log_stream.d.ts
7
6
  /**
8
7
  * Interface that represents the structure of a log entry in the
9
8
  * `LogStreamCallbackHandler`.
@@ -116,6 +115,5 @@ export declare class LogStreamCallbackHandler extends BaseTracer implements Call
116
115
  onRunUpdate(run: Run): Promise<void>;
117
116
  onLLMNewToken(run: Run, token: string, kwargs?: HandleLLMNewTokenCallbackFields): Promise<void>;
118
117
  }
119
- //#endregion
120
118
  export type { StreamEvent, StreamEventData };
121
119
  //# sourceMappingURL=log_stream.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log_stream.d.cts","names":["JSONPatchOperation"],"sources":["../../src/tracers/log_stream.ts"],"mappings":";;;;;;;;;;YAsBY;;EAEV;;EAEA;;EAEA;;EAEA;;EAGA,UAAU;;EAEV;;EAGA;;EAEA;;EAGA;;EAGA;;EAEA;;YAGU;;EAEV;;EAGA;;EAGA;;;;;EAKA,MAAM,eAAe;;EAErB;;EAEA;;;;;;;;;qBAUW;EACX,KAAKA;EAEL,YAAY;IAAU,MAAMA;;EAI5B,OAAO,OAAO,cAAW;;qBAWd,eAAe;EAC1B,OAAO;EAEP,YAAY;IAAU,MAAMA;IAAsB,OAAO;;EAKzD,OAAO,OAAO,cAAW;SAMlB,gBAAgB,OAAO,cAAW;;YAS/B;iBAEK,sCAAsC;EACrD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAAgB;;qBAGL,qBAAkB,SACpB,wBACR,WAAW;;;;;;;qBA6ED,iCACH,sBACG;YAED;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA,eAAe;YAEf;UAEF;UAEA;YAEE,iBAAiB;EAEpB,QAAQ;EAER,eAAe,uBAAuB;EAE7C;EAEA;EAEA,YAAY,SAAS;GAiBpB,OAAO,kBAAc,uBAAA;YAIN,WAAW,MAAM,MAAM;EAKvC,YAAY,KAAK;EAiCV,kBAAkB,GACvB,eACA,QAAQ,eAAe,KACtB,eAAe;EA0BZ,YAAY,KAAK,MAAM;EAiEvB,YAAY,KAAK,MAAM;EA+CvB,cACJ,KAAK,KACL,eACA,SAAS,kCACR"}
1
+ {"version":3,"file":"log_stream.d.cts","names":["JSONPatchOperation"],"sources":["../../src/tracers/log_stream.ts"],"mappings":";;;;;;;;;YAsBY;;EAEV;;EAEA;;EAEA;;EAEA;;EAGA,UAAU;;EAEV;;EAGA;;EAEA;;EAGA;;EAGA;;EAEA;;YAGU;;EAEV;;EAGA;;EAGA;;;;;EAKA,MAAM,eAAe;;EAErB;;EAEA;;;;;;;;;qBAUW;EACX,KAAKA;EAEL,YAAY;IAAU,MAAMA;;EAI5B,OAAO,OAAO,cAAW;;qBAWd,eAAe;EAC1B,OAAO;EAEP,YAAY;IAAU,MAAMA;IAAsB,OAAO;;EAKzD,OAAO,OAAO,cAAW;SAMlB,gBAAgB,OAAO,cAAW;;YAS/B;iBAEK,sCAAsC;EACrD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAAgB;;qBAGL,qBAAkB,SACpB,wBACR,WAAW;;;;;;;qBA6ED,iCACH,sBACG;YAED;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA,eAAe;YAEf;UAEF;UAEA;YAEE,iBAAiB;EAEpB,QAAQ;EAER,eAAe,uBAAuB;EAE7C;EAEA;EAEA,YAAY,SAAS;GAiBpB,OAAO,kBAAc,uBAAA;YAIN,WAAW,MAAM,MAAM;EAKvC,YAAY,KAAK;EAiCV,kBAAkB,GACvB,eACA,QAAQ,eAAe,KACtB,eAAe;EA0BZ,YAAY,KAAK,MAAM;EAiEvB,YAAY,KAAK,MAAM;EA+CvB,cACJ,KAAK,KACL,eACA,SAAS,kCACR"}
@@ -1,9 +1,8 @@
1
- import { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields } from "../callbacks/base.js";
2
1
  import { Operation } from "../utils/fast-json-patch/src/core.js";
3
2
  import { BaseTracer, Run } from "./base.js";
3
+ import { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields } from "../callbacks/base.js";
4
4
  import { IterableReadableStream } from "../utils/stream.js";
5
5
  import { StreamEvent, StreamEventData } from "./event_stream.js";
6
- //#region src/tracers/log_stream.d.ts
7
6
  /**
8
7
  * Interface that represents the structure of a log entry in the
9
8
  * `LogStreamCallbackHandler`.
@@ -116,6 +115,5 @@ export declare class LogStreamCallbackHandler extends BaseTracer implements Call
116
115
  onRunUpdate(run: Run): Promise<void>;
117
116
  onLLMNewToken(run: Run, token: string, kwargs?: HandleLLMNewTokenCallbackFields): Promise<void>;
118
117
  }
119
- //#endregion
120
118
  export type { StreamEvent, StreamEventData };
121
119
  //# sourceMappingURL=log_stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log_stream.d.ts","names":["JSONPatchOperation"],"sources":["../../src/tracers/log_stream.ts"],"mappings":";;;;;;;;;;YAsBY;;EAEV;;EAEA;;EAEA;;EAEA;;EAGA,UAAU;;EAEV;;EAGA;;EAEA;;EAGA;;EAGA;;EAEA;;YAGU;;EAEV;;EAGA;;EAGA;;;;;EAKA,MAAM,eAAe;;EAErB;;EAEA;;;;;;;;;qBAUW;EACX,KAAKA;EAEL,YAAY;IAAU,MAAMA;;EAI5B,OAAO,OAAO,cAAW;;qBAWd,eAAe;EAC1B,OAAO;EAEP,YAAY;IAAU,MAAMA;IAAsB,OAAO;;EAKzD,OAAO,OAAO,cAAW;SAMlB,gBAAgB,OAAO,cAAW;;YAS/B;iBAEK,sCAAsC;EACrD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAAgB;;qBAGL,qBAAkB,SACpB,wBACR,WAAW;;;;;;;qBA6ED,iCACH,sBACG;YAED;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA,eAAe;YAEf;UAEF;UAEA;YAEE,iBAAiB;EAEpB,QAAQ;EAER,eAAe,uBAAuB;EAE7C;EAEA;EAEA,YAAY,SAAS;GAiBpB,OAAO,kBAAc,uBAAA;YAIN,WAAW,MAAM,MAAM;EAKvC,YAAY,KAAK;EAiCV,kBAAkB,GACvB,eACA,QAAQ,eAAe,KACtB,eAAe;EA0BZ,YAAY,KAAK,MAAM;EAiEvB,YAAY,KAAK,MAAM;EA+CvB,cACJ,KAAK,KACL,eACA,SAAS,kCACR"}
1
+ {"version":3,"file":"log_stream.d.ts","names":["JSONPatchOperation"],"sources":["../../src/tracers/log_stream.ts"],"mappings":";;;;;;;;;YAsBY;;EAEV;;EAEA;;EAEA;;EAEA;;EAGA,UAAU;;EAEV;;EAGA;;EAEA;;EAGA;;EAGA;;EAEA;;YAGU;;EAEV;;EAGA;;EAGA;;;;;EAKA,MAAM,eAAe;;EAErB;;EAEA;;;;;;;;;qBAUW;EACX,KAAKA;EAEL,YAAY;IAAU,MAAMA;;EAI5B,OAAO,OAAO,cAAW;;qBAWd,eAAe;EAC1B,OAAO;EAEP,YAAY;IAAU,MAAMA;IAAsB,OAAO;;EAKzD,OAAO,OAAO,cAAW;SAMlB,gBAAgB,OAAO,cAAW;;YAS/B;iBAEK,sCAAsC;EACrD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAAgB;;qBAGL,qBAAkB,SACpB,wBACR,WAAW;;;;;;;qBA6ED,iCACH,sBACG;YAED;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA;YAEA,eAAe;YAEf;UAEF;UAEA;YAEE,iBAAiB;EAEpB,QAAQ;EAER,eAAe,uBAAuB;EAE7C;EAEA;EAEA,YAAY,SAAS;GAiBpB,OAAO,kBAAc,uBAAA;YAIN,WAAW,MAAM,MAAM;EAKvC,YAAY,KAAK;EAiCV,kBAAkB,GACvB,eACA,QAAQ,eAAe,KACtB,eAAe;EA0BZ,YAAY,KAAK,MAAM;EAiEvB,YAAY,KAAK,MAAM;EA+CvB,cACJ,KAAK,KACL,eACA,SAAS,kCACR"}
@@ -1,10 +1,10 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
- import { AIMessageChunk } from "../messages/ai.js";
2
+ import "../utils/fast-json-patch/index.js";
3
3
  import { BaseTracer } from "./base.js";
4
4
  import { applyPatch } from "../utils/fast-json-patch/src/core.js";
5
- import "../utils/fast-json-patch/index.js";
6
5
  import { IterableReadableStream } from "../utils/stream.js";
7
- //#region src/tracers/log_stream.ts
6
+ import { AIMessageChunk } from "../messages/ai.js";
7
+ // src/tracers/log_stream.ts
8
8
  var log_stream_exports = /* @__PURE__ */ __exportAll({
9
9
  LogStreamCallbackHandler: () => LogStreamCallbackHandler,
10
10
  RunLog: () => RunLog,
@@ -259,7 +259,6 @@ var LogStreamCallbackHandler = class extends BaseTracer {
259
259
  await this.writer.write(patch);
260
260
  }
261
261
  };
262
- //#endregion
263
262
  export { LogStreamCallbackHandler, RunLog, RunLogPatch, isLogStreamHandler, log_stream_exports };
264
263
 
265
264
  //# sourceMappingURL=log_stream.js.map
@@ -1,5 +1,5 @@
1
1
  const require_tracers_base = require("./base.cjs");
2
- //#region src/tracers/root_listener.ts
2
+ // src/tracers/root_listener.ts
3
3
  var RootListenersTracer = class extends require_tracers_base.BaseTracer {
4
4
  name = "RootListenersTracer";
5
5
  /** The Run's ID. Type UUID */
@@ -35,7 +35,6 @@ var RootListenersTracer = class extends require_tracers_base.BaseTracer {
35
35
  } else if (this.argOnError) await this.argOnError(run, this.config);
36
36
  }
37
37
  };
38
- //#endregion
39
38
  exports.RootListenersTracer = RootListenersTracer;
40
39
 
41
40
  //# sourceMappingURL=root_listener.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { BaseTracer } from "./base.js";
2
- //#region src/tracers/root_listener.ts
2
+ // src/tracers/root_listener.ts
3
3
  var RootListenersTracer = class extends BaseTracer {
4
4
  name = "RootListenersTracer";
5
5
  /** The Run's ID. Type UUID */
@@ -35,7 +35,6 @@ var RootListenersTracer = class extends BaseTracer {
35
35
  } else if (this.argOnError) await this.argOnError(run, this.config);
36
36
  }
37
37
  };
38
- //#endregion
39
38
  export { RootListenersTracer };
40
39
 
41
40
  //# sourceMappingURL=root_listener.js.map
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
3
  const require_tracers_base = require("./base.cjs");
4
- //#region src/tracers/run_collector.ts
4
+ // src/tracers/run_collector.ts
5
5
  var run_collector_exports = /* @__PURE__ */ require_runtime.__exportAll({ RunCollectorCallbackHandler: () => RunCollectorCallbackHandler });
6
6
  /**
7
7
  * A callback handler that collects traced runs and makes it easy to fetch the traced run object from calls through any langchain object.
@@ -33,7 +33,6 @@ var RunCollectorCallbackHandler = class extends require_tracers_base.BaseTracer
33
33
  this.tracedRuns.push(run_);
34
34
  }
35
35
  };
36
- //#endregion
37
36
  exports.RunCollectorCallbackHandler = RunCollectorCallbackHandler;
38
37
  Object.defineProperty(exports, "run_collector_exports", {
39
38
  enumerable: true,
@@ -1,6 +1,5 @@
1
1
  import { BaseTracer } from "./base.cjs";
2
2
  import { BaseRun, Run } from "langsmith/schemas";
3
- //#region src/tracers/run_collector.d.ts
4
3
  /**
5
4
  * A callback handler that collects traced runs and makes it easy to fetch the traced run object from calls through any langchain object.
6
5
  * For instance, it makes it easy to fetch the run ID and then do things with that, such as log feedback.
@@ -25,5 +24,4 @@ export declare class RunCollectorCallbackHandler extends BaseTracer {
25
24
  */
26
25
  protected persistRun(run: BaseRun): Promise<void>;
27
26
  }
28
- //#endregion
29
27
  //# sourceMappingURL=run_collector.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run_collector.d.cts","names":[],"sources":["../../src/tracers/run_collector.ts"],"mappings":";;;;;;;qBAOa,oCAAoC;;EAE/C;;EAGA;;EAGA,YAAY;;;;;EAMZ,cAAc;IAAe;;;;;;YAUb,WAAW,KAAK,UAAU"}
1
+ {"version":3,"file":"run_collector.d.cts","names":[],"sources":["../../src/tracers/run_collector.ts"],"mappings":";;;;;;qBAOa,oCAAoC;;EAE/C;;EAGA;;EAGA,YAAY;;;;;EAMZ,cAAc;IAAe;;;;;;YAUb,WAAW,KAAK,UAAU"}
@@ -1,6 +1,5 @@
1
1
  import { BaseTracer } from "./base.js";
2
2
  import { BaseRun, Run } from "langsmith/schemas";
3
- //#region src/tracers/run_collector.d.ts
4
3
  /**
5
4
  * A callback handler that collects traced runs and makes it easy to fetch the traced run object from calls through any langchain object.
6
5
  * For instance, it makes it easy to fetch the run ID and then do things with that, such as log feedback.
@@ -25,5 +24,4 @@ export declare class RunCollectorCallbackHandler extends BaseTracer {
25
24
  */
26
25
  protected persistRun(run: BaseRun): Promise<void>;
27
26
  }
28
- //#endregion
29
27
  //# sourceMappingURL=run_collector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run_collector.d.ts","names":[],"sources":["../../src/tracers/run_collector.ts"],"mappings":";;;;;;;qBAOa,oCAAoC;;EAE/C;;EAGA;;EAGA,YAAY;;;;;EAMZ,cAAc;IAAe;;;;;;YAUb,WAAW,KAAK,UAAU"}
1
+ {"version":3,"file":"run_collector.d.ts","names":[],"sources":["../../src/tracers/run_collector.ts"],"mappings":";;;;;;qBAOa,oCAAoC;;EAE/C;;EAGA;;EAGA,YAAY;;;;;EAMZ,cAAc;IAAe;;;;;;YAUb,WAAW,KAAK,UAAU"}
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { BaseTracer } from "./base.js";
3
- //#region src/tracers/run_collector.ts
3
+ // src/tracers/run_collector.ts
4
4
  var run_collector_exports = /* @__PURE__ */ __exportAll({ RunCollectorCallbackHandler: () => RunCollectorCallbackHandler });
5
5
  /**
6
6
  * A callback handler that collects traced runs and makes it easy to fetch the traced run object from calls through any langchain object.
@@ -32,7 +32,6 @@ var RunCollectorCallbackHandler = class extends BaseTracer {
32
32
  this.tracedRuns.push(run_);
33
33
  }
34
34
  };
35
- //#endregion
36
35
  export { RunCollectorCallbackHandler, run_collector_exports };
37
36
 
38
37
  //# sourceMappingURL=run_collector.js.map
@@ -1,4 +1,4 @@
1
- //#region src/tracers/trace_policy.ts
1
+ // src/tracers/trace_policy.ts
2
2
  /**
3
3
  * Key a run's `extra` carries its policy under. A symbol, so the policy is
4
4
  * never serialized with the run.
@@ -12,7 +12,6 @@ const TRACE_POLICY_KEY = Symbol.for("langchain.trace_policy");
12
12
  function omitPayload(_payload) {
13
13
  return {};
14
14
  }
15
- //#endregion
16
15
  exports.TRACE_POLICY_KEY = TRACE_POLICY_KEY;
17
16
  exports.omitPayload = omitPayload;
18
17
 
@@ -1,5 +1,4 @@
1
1
  import { KVMap } from "langsmith/schemas";
2
- //#region src/tracers/trace_policy.d.ts
3
2
  /**
4
3
  * Transforms what `LangChainTracer` sends to LangSmith for a run. Execution
5
4
  * values and every other callback handler (including `streamEvents`) still
@@ -15,5 +14,4 @@ export interface TracePolicy {
15
14
  * Use as `processInputs` and/or `processOutputs` in a {@link TracePolicy}.
16
15
  */
17
16
  export declare function omitPayload(_payload: KVMap): KVMap;
18
- //#endregion
19
17
  //# sourceMappingURL=trace_policy.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace_policy.d.cts","names":[],"sources":["../../src/tracers/trace_policy.ts"],"mappings":";;;;;;;;iBAQiB;EACf,iBAAiB,QAAQ,UAAU;EACnC,kBAAkB,SAAS,UAAU;;;;;;wBAcvB,YAAY,UAAU,QAAQ"}
1
+ {"version":3,"file":"trace_policy.d.cts","names":[],"sources":["../../src/tracers/trace_policy.ts"],"mappings":";;;;;;;iBAQiB;EACf,iBAAiB,QAAQ,UAAU;EACnC,kBAAkB,SAAS,UAAU;;;;;;wBAcvB,YAAY,UAAU,QAAQ"}