@langchain/core 1.2.0-dev-1775763803878 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/README.md +1 -1
  3. package/agents.cjs +1 -0
  4. package/agents.d.cts +1 -0
  5. package/agents.d.ts +1 -0
  6. package/agents.js +1 -0
  7. package/caches.cjs +1 -0
  8. package/caches.d.cts +1 -0
  9. package/caches.d.ts +1 -0
  10. package/caches.js +1 -0
  11. package/callbacks/base.cjs +1 -0
  12. package/callbacks/base.d.cts +1 -0
  13. package/callbacks/base.d.ts +1 -0
  14. package/callbacks/base.js +1 -0
  15. package/callbacks/dispatch/web.cjs +1 -0
  16. package/callbacks/dispatch/web.d.cts +1 -0
  17. package/callbacks/dispatch/web.d.ts +1 -0
  18. package/callbacks/dispatch/web.js +1 -0
  19. package/callbacks/dispatch.cjs +1 -0
  20. package/callbacks/dispatch.d.cts +1 -0
  21. package/callbacks/dispatch.d.ts +1 -0
  22. package/callbacks/dispatch.js +1 -0
  23. package/callbacks/manager.cjs +1 -0
  24. package/callbacks/manager.d.cts +1 -0
  25. package/callbacks/manager.d.ts +1 -0
  26. package/callbacks/manager.js +1 -0
  27. package/callbacks/promises.cjs +1 -0
  28. package/callbacks/promises.d.cts +1 -0
  29. package/callbacks/promises.d.ts +1 -0
  30. package/callbacks/promises.js +1 -0
  31. package/chat_history.cjs +1 -0
  32. package/chat_history.d.cts +1 -0
  33. package/chat_history.d.ts +1 -0
  34. package/chat_history.js +1 -0
  35. package/context.cjs +1 -0
  36. package/context.d.cts +1 -0
  37. package/context.d.ts +1 -0
  38. package/context.js +1 -0
  39. package/dist/callbacks/base.cjs +7 -3
  40. package/dist/callbacks/base.cjs.map +1 -1
  41. package/dist/callbacks/base.d.cts +20 -1
  42. package/dist/callbacks/base.d.cts.map +1 -1
  43. package/dist/callbacks/base.d.ts +20 -1
  44. package/dist/callbacks/base.d.ts.map +1 -1
  45. package/dist/callbacks/base.js +7 -3
  46. package/dist/callbacks/base.js.map +1 -1
  47. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  48. package/dist/callbacks/dispatch/index.js.map +1 -1
  49. package/dist/callbacks/manager.cjs +29 -7
  50. package/dist/callbacks/manager.cjs.map +1 -1
  51. package/dist/callbacks/manager.d.cts +4 -0
  52. package/dist/callbacks/manager.d.cts.map +1 -1
  53. package/dist/callbacks/manager.d.ts +4 -0
  54. package/dist/callbacks/manager.d.ts.map +1 -1
  55. package/dist/callbacks/manager.js +23 -1
  56. package/dist/callbacks/manager.js.map +1 -1
  57. package/dist/example_selectors/conditional.cjs.map +1 -1
  58. package/dist/example_selectors/conditional.js.map +1 -1
  59. package/dist/example_selectors/length_based.cjs.map +1 -1
  60. package/dist/example_selectors/length_based.js.map +1 -1
  61. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  62. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  63. package/dist/indexing/base.cjs +3 -4
  64. package/dist/indexing/base.cjs.map +1 -1
  65. package/dist/indexing/base.js +1 -1
  66. package/dist/indexing/base.js.map +1 -1
  67. package/dist/language_models/base.cjs +9 -1
  68. package/dist/language_models/base.cjs.map +1 -1
  69. package/dist/language_models/base.d.cts +5 -0
  70. package/dist/language_models/base.d.cts.map +1 -1
  71. package/dist/language_models/base.d.ts +5 -0
  72. package/dist/language_models/base.d.ts.map +1 -1
  73. package/dist/language_models/base.js +9 -1
  74. package/dist/language_models/base.js.map +1 -1
  75. package/dist/language_models/chat_models.cjs +71 -33
  76. package/dist/language_models/chat_models.cjs.map +1 -1
  77. package/dist/language_models/chat_models.d.cts +74 -3
  78. package/dist/language_models/chat_models.d.cts.map +1 -1
  79. package/dist/language_models/chat_models.d.ts +74 -3
  80. package/dist/language_models/chat_models.d.ts.map +1 -1
  81. package/dist/language_models/chat_models.js +72 -34
  82. package/dist/language_models/chat_models.js.map +1 -1
  83. package/dist/language_models/compat.cjs +255 -78
  84. package/dist/language_models/compat.cjs.map +1 -1
  85. package/dist/language_models/compat.d.cts +3 -17
  86. package/dist/language_models/compat.d.cts.map +1 -1
  87. package/dist/language_models/compat.d.ts +3 -17
  88. package/dist/language_models/compat.d.ts.map +1 -1
  89. package/dist/language_models/compat.js +256 -78
  90. package/dist/language_models/compat.js.map +1 -1
  91. package/dist/language_models/event.cjs.map +1 -1
  92. package/dist/language_models/event.d.cts +82 -90
  93. package/dist/language_models/event.d.cts.map +1 -1
  94. package/dist/language_models/event.d.ts +82 -90
  95. package/dist/language_models/event.d.ts.map +1 -1
  96. package/dist/language_models/event.js.map +1 -1
  97. package/dist/language_models/llms.cjs +18 -6
  98. package/dist/language_models/llms.cjs.map +1 -1
  99. package/dist/language_models/llms.d.cts.map +1 -1
  100. package/dist/language_models/llms.d.ts.map +1 -1
  101. package/dist/language_models/llms.js +18 -6
  102. package/dist/language_models/llms.js.map +1 -1
  103. package/dist/language_models/openai_completions_stream.cjs +308 -0
  104. package/dist/language_models/openai_completions_stream.cjs.map +1 -0
  105. package/dist/language_models/openai_completions_stream.d.cts +75 -0
  106. package/dist/language_models/openai_completions_stream.d.cts.map +1 -0
  107. package/dist/language_models/openai_completions_stream.d.ts +75 -0
  108. package/dist/language_models/openai_completions_stream.d.ts.map +1 -0
  109. package/dist/language_models/openai_completions_stream.js +301 -0
  110. package/dist/language_models/openai_completions_stream.js.map +1 -0
  111. package/dist/language_models/stream.cjs +216 -86
  112. package/dist/language_models/stream.cjs.map +1 -1
  113. package/dist/language_models/stream.d.cts +5 -28
  114. package/dist/language_models/stream.d.cts.map +1 -1
  115. package/dist/language_models/stream.d.ts +5 -28
  116. package/dist/language_models/stream.d.ts.map +1 -1
  117. package/dist/language_models/stream.js +216 -86
  118. package/dist/language_models/stream.js.map +1 -1
  119. package/dist/load/import_map.cjs +4 -0
  120. package/dist/load/import_map.cjs.map +1 -1
  121. package/dist/load/import_map.js +4 -0
  122. package/dist/load/import_map.js.map +1 -1
  123. package/dist/load/index.cjs +19 -0
  124. package/dist/load/index.cjs.map +1 -1
  125. package/dist/load/index.d.cts +4 -0
  126. package/dist/load/index.d.cts.map +1 -1
  127. package/dist/load/index.d.ts +4 -0
  128. package/dist/load/index.d.ts.map +1 -1
  129. package/dist/load/index.js +19 -0
  130. package/dist/load/index.js.map +1 -1
  131. package/dist/load/map_keys.cjs +13 -7
  132. package/dist/load/map_keys.cjs.map +1 -1
  133. package/dist/load/map_keys.d.cts.map +1 -1
  134. package/dist/load/map_keys.d.ts.map +1 -1
  135. package/dist/load/map_keys.js +11 -2
  136. package/dist/load/map_keys.js.map +1 -1
  137. package/dist/memory.cjs.map +1 -1
  138. package/dist/memory.js.map +1 -1
  139. package/dist/messages/ai.cjs +12 -9
  140. package/dist/messages/ai.cjs.map +1 -1
  141. package/dist/messages/ai.d.cts.map +1 -1
  142. package/dist/messages/ai.d.ts.map +1 -1
  143. package/dist/messages/ai.js +12 -9
  144. package/dist/messages/ai.js.map +1 -1
  145. package/dist/messages/base.cjs +10 -0
  146. package/dist/messages/base.cjs.map +1 -1
  147. package/dist/messages/base.d.cts +9 -0
  148. package/dist/messages/base.d.cts.map +1 -1
  149. package/dist/messages/base.d.ts +9 -0
  150. package/dist/messages/base.d.ts.map +1 -1
  151. package/dist/messages/base.js +10 -0
  152. package/dist/messages/base.js.map +1 -1
  153. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  154. package/dist/messages/block_translators/anthropic.js.map +1 -1
  155. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  156. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  157. package/dist/messages/block_translators/google.cjs.map +1 -1
  158. package/dist/messages/block_translators/google.js.map +1 -1
  159. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  160. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  161. package/dist/messages/block_translators/index.cjs +2 -0
  162. package/dist/messages/block_translators/index.cjs.map +1 -1
  163. package/dist/messages/block_translators/index.js +2 -0
  164. package/dist/messages/block_translators/index.js.map +1 -1
  165. package/dist/messages/block_translators/openai.cjs.map +1 -1
  166. package/dist/messages/block_translators/openai.js.map +1 -1
  167. package/dist/messages/block_translators/openrouter.cjs +101 -0
  168. package/dist/messages/block_translators/openrouter.cjs.map +1 -0
  169. package/dist/messages/block_translators/openrouter.js +101 -0
  170. package/dist/messages/block_translators/openrouter.js.map +1 -0
  171. package/dist/messages/index.d.cts +2 -2
  172. package/dist/messages/index.d.ts +2 -2
  173. package/dist/messages/modifier.cjs +6 -0
  174. package/dist/messages/modifier.cjs.map +1 -1
  175. package/dist/messages/modifier.d.cts +9 -4
  176. package/dist/messages/modifier.d.cts.map +1 -1
  177. package/dist/messages/modifier.d.ts +9 -4
  178. package/dist/messages/modifier.d.ts.map +1 -1
  179. package/dist/messages/modifier.js +6 -0
  180. package/dist/messages/modifier.js.map +1 -1
  181. package/dist/messages/transformers.cjs.map +1 -1
  182. package/dist/messages/transformers.js.map +1 -1
  183. package/dist/messages/utils.cjs +16 -2
  184. package/dist/messages/utils.cjs.map +1 -1
  185. package/dist/messages/utils.d.cts +9 -1
  186. package/dist/messages/utils.d.cts.map +1 -1
  187. package/dist/messages/utils.d.ts +9 -1
  188. package/dist/messages/utils.d.ts.map +1 -1
  189. package/dist/messages/utils.js +16 -2
  190. package/dist/messages/utils.js.map +1 -1
  191. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  192. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  193. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  194. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  195. package/dist/output_parsers/standard_schema.cjs +3 -0
  196. package/dist/output_parsers/standard_schema.cjs.map +1 -1
  197. package/dist/output_parsers/standard_schema.d.cts +2 -0
  198. package/dist/output_parsers/standard_schema.d.cts.map +1 -1
  199. package/dist/output_parsers/standard_schema.d.ts +2 -0
  200. package/dist/output_parsers/standard_schema.d.ts.map +1 -1
  201. package/dist/output_parsers/standard_schema.js +3 -0
  202. package/dist/output_parsers/standard_schema.js.map +1 -1
  203. package/dist/output_parsers/structured.cjs +3 -0
  204. package/dist/output_parsers/structured.cjs.map +1 -1
  205. package/dist/output_parsers/structured.d.cts +2 -0
  206. package/dist/output_parsers/structured.d.cts.map +1 -1
  207. package/dist/output_parsers/structured.d.ts +2 -0
  208. package/dist/output_parsers/structured.d.ts.map +1 -1
  209. package/dist/output_parsers/structured.js +3 -0
  210. package/dist/output_parsers/structured.js.map +1 -1
  211. package/dist/output_parsers/xml.cjs.map +1 -1
  212. package/dist/output_parsers/xml.js.map +1 -1
  213. package/dist/prompts/base.cjs.map +1 -1
  214. package/dist/prompts/base.js.map +1 -1
  215. package/dist/prompts/chat.cjs.map +1 -1
  216. package/dist/prompts/chat.js.map +1 -1
  217. package/dist/prompts/few_shot.cjs.map +1 -1
  218. package/dist/prompts/few_shot.js.map +1 -1
  219. package/dist/prompts/image.cjs.map +1 -1
  220. package/dist/prompts/image.js.map +1 -1
  221. package/dist/prompts/prompt.cjs +1 -1
  222. package/dist/prompts/prompt.cjs.map +1 -1
  223. package/dist/prompts/prompt.d.cts +1 -1
  224. package/dist/prompts/prompt.d.ts +1 -1
  225. package/dist/prompts/prompt.js +1 -1
  226. package/dist/prompts/prompt.js.map +1 -1
  227. package/dist/prompts/string.cjs.map +1 -1
  228. package/dist/prompts/string.js.map +1 -1
  229. package/dist/prompts/template.cjs +1 -1
  230. package/dist/prompts/template.cjs.map +1 -1
  231. package/dist/prompts/template.js.map +1 -1
  232. package/dist/retrievers/index.cjs.map +1 -1
  233. package/dist/retrievers/index.js.map +1 -1
  234. package/dist/runnables/base.cjs +5 -2
  235. package/dist/runnables/base.cjs.map +1 -1
  236. package/dist/runnables/base.d.cts +43 -0
  237. package/dist/runnables/base.d.cts.map +1 -1
  238. package/dist/runnables/base.d.ts +43 -0
  239. package/dist/runnables/base.d.ts.map +1 -1
  240. package/dist/runnables/base.js +4 -1
  241. package/dist/runnables/base.js.map +1 -1
  242. package/dist/runnables/branch.cjs.map +1 -1
  243. package/dist/runnables/branch.js.map +1 -1
  244. package/dist/runnables/config.cjs +16 -8
  245. package/dist/runnables/config.cjs.map +1 -1
  246. package/dist/runnables/config.d.cts.map +1 -1
  247. package/dist/runnables/config.d.ts.map +1 -1
  248. package/dist/runnables/config.js +16 -8
  249. package/dist/runnables/config.js.map +1 -1
  250. package/dist/runnables/graph.cjs +6 -6
  251. package/dist/runnables/graph.cjs.map +1 -1
  252. package/dist/runnables/graph.js +1 -1
  253. package/dist/runnables/graph.js.map +1 -1
  254. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  255. package/dist/runnables/graph_mermaid.js.map +1 -1
  256. package/dist/runnables/history.cjs +3 -0
  257. package/dist/runnables/history.cjs.map +1 -1
  258. package/dist/runnables/history.d.cts +3 -0
  259. package/dist/runnables/history.d.cts.map +1 -1
  260. package/dist/runnables/history.d.ts +3 -0
  261. package/dist/runnables/history.d.ts.map +1 -1
  262. package/dist/runnables/history.js +3 -0
  263. package/dist/runnables/history.js.map +1 -1
  264. package/dist/runnables/router.cjs.map +1 -1
  265. package/dist/runnables/router.js.map +1 -1
  266. package/dist/runnables/utils.cjs.map +1 -1
  267. package/dist/runnables/utils.js.map +1 -1
  268. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  269. package/dist/singletons/async_local_storage/context.js.map +1 -1
  270. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  271. package/dist/singletons/async_local_storage/index.js.map +1 -1
  272. package/dist/singletons/callbacks.cjs +1 -1
  273. package/dist/testing/fake_model_builder.cjs +10 -9
  274. package/dist/testing/fake_model_builder.cjs.map +1 -1
  275. package/dist/testing/fake_model_builder.d.cts +1 -2
  276. package/dist/testing/fake_model_builder.d.cts.map +1 -1
  277. package/dist/testing/fake_model_builder.d.ts +1 -2
  278. package/dist/testing/fake_model_builder.d.ts.map +1 -1
  279. package/dist/testing/fake_model_builder.js +10 -9
  280. package/dist/testing/fake_model_builder.js.map +1 -1
  281. package/dist/testing/index.cjs +16 -0
  282. package/dist/testing/index.cjs.map +1 -1
  283. package/dist/testing/index.d.cts +3 -1
  284. package/dist/testing/index.d.ts +3 -1
  285. package/dist/testing/index.js +10 -1
  286. package/dist/testing/index.js.map +1 -1
  287. package/dist/testing/matchers.cjs +3 -1
  288. package/dist/testing/matchers.cjs.map +1 -1
  289. package/dist/testing/matchers.d.cts +8 -4
  290. package/dist/testing/matchers.d.cts.map +1 -1
  291. package/dist/testing/matchers.d.ts +8 -4
  292. package/dist/testing/matchers.d.ts.map +1 -1
  293. package/dist/testing/matchers.js +3 -1
  294. package/dist/testing/matchers.js.map +1 -1
  295. package/dist/tracers/console.cjs +30 -4
  296. package/dist/tracers/console.cjs.map +1 -1
  297. package/dist/tracers/console.d.cts.map +1 -1
  298. package/dist/tracers/console.d.ts.map +1 -1
  299. package/dist/tracers/console.js +28 -1
  300. package/dist/tracers/console.js.map +1 -1
  301. package/dist/tracers/event_stream.cjs.map +1 -1
  302. package/dist/tracers/event_stream.js.map +1 -1
  303. package/dist/tracers/tracer_langchain.cjs +70 -2
  304. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  305. package/dist/tracers/tracer_langchain.d.cts +26 -1
  306. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  307. package/dist/tracers/tracer_langchain.d.ts +26 -1
  308. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  309. package/dist/tracers/tracer_langchain.js +70 -3
  310. package/dist/tracers/tracer_langchain.js.map +1 -1
  311. package/dist/utils/async_caller.cjs +3 -2
  312. package/dist/utils/async_caller.cjs.map +1 -1
  313. package/dist/utils/async_caller.js +2 -1
  314. package/dist/utils/async_caller.js.map +1 -1
  315. package/dist/utils/callbacks.cjs.map +1 -1
  316. package/dist/utils/callbacks.js.map +1 -1
  317. package/dist/utils/context.cjs.map +1 -1
  318. package/dist/utils/context.js.map +1 -1
  319. package/dist/utils/env.cjs.map +1 -1
  320. package/dist/utils/env.d.cts.map +1 -1
  321. package/dist/utils/env.d.ts.map +1 -1
  322. package/dist/utils/env.js.map +1 -1
  323. package/dist/utils/event_source_parse.cjs +5 -12
  324. package/dist/utils/event_source_parse.cjs.map +1 -1
  325. package/dist/utils/event_source_parse.js +5 -12
  326. package/dist/utils/event_source_parse.js.map +1 -1
  327. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  328. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  329. package/dist/utils/json_schema.cjs.map +1 -1
  330. package/dist/utils/json_schema.js.map +1 -1
  331. package/dist/utils/sax-js/sax.cjs.map +1 -1
  332. package/dist/utils/sax-js/sax.js.map +1 -1
  333. package/dist/utils/ssrf.cjs.map +1 -1
  334. package/dist/utils/ssrf.js.map +1 -1
  335. package/dist/utils/stream.d.cts +2 -2
  336. package/dist/utils/stream.d.cts.map +1 -1
  337. package/dist/utils/stream.d.ts +2 -2
  338. package/dist/utils/stream.d.ts.map +1 -1
  339. package/dist/utils/testing/chat_models.cjs.map +1 -1
  340. package/dist/utils/testing/chat_models.js.map +1 -1
  341. package/dist/utils/testing/embeddings.cjs.map +1 -1
  342. package/dist/utils/testing/embeddings.js.map +1 -1
  343. package/dist/utils/testing/index.cjs +17 -1
  344. package/dist/utils/testing/index.cjs.map +1 -1
  345. package/dist/utils/testing/index.d.cts +3 -1
  346. package/dist/utils/testing/index.d.ts +3 -1
  347. package/dist/utils/testing/index.js +11 -2
  348. package/dist/utils/testing/index.js.map +1 -1
  349. package/dist/utils/testing/openai_stream_fixtures.cjs +160 -0
  350. package/dist/utils/testing/openai_stream_fixtures.cjs.map +1 -0
  351. package/dist/utils/testing/openai_stream_fixtures.d.cts +12 -0
  352. package/dist/utils/testing/openai_stream_fixtures.d.cts.map +1 -0
  353. package/dist/utils/testing/openai_stream_fixtures.d.ts +12 -0
  354. package/dist/utils/testing/openai_stream_fixtures.d.ts.map +1 -0
  355. package/dist/utils/testing/openai_stream_fixtures.js +155 -0
  356. package/dist/utils/testing/openai_stream_fixtures.js.map +1 -0
  357. package/dist/utils/testing/stream.cjs +136 -0
  358. package/dist/utils/testing/stream.cjs.map +1 -0
  359. package/dist/utils/testing/stream.d.cts +96 -0
  360. package/dist/utils/testing/stream.d.cts.map +1 -0
  361. package/dist/utils/testing/stream.d.ts +96 -0
  362. package/dist/utils/testing/stream.d.ts.map +1 -0
  363. package/dist/utils/testing/stream.js +136 -0
  364. package/dist/utils/testing/stream.js.map +1 -0
  365. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  366. package/dist/utils/testing/vectorstores.js.map +1 -1
  367. package/dist/utils/types/zod.cjs.map +1 -1
  368. package/dist/utils/types/zod.js.map +1 -1
  369. package/dist/utils/uuid/index.cjs +58 -0
  370. package/dist/utils/uuid/index.cjs.map +1 -0
  371. package/dist/utils/uuid/index.d.cts +26 -0
  372. package/dist/utils/uuid/index.d.cts.map +1 -0
  373. package/dist/utils/uuid/index.d.ts +26 -0
  374. package/dist/utils/uuid/index.d.ts.map +1 -0
  375. package/dist/utils/uuid/index.js +41 -0
  376. package/dist/utils/uuid/index.js.map +1 -0
  377. package/dist/utils/uuid/max.cjs +6 -0
  378. package/dist/utils/uuid/max.cjs.map +1 -0
  379. package/dist/utils/uuid/max.js +6 -0
  380. package/dist/utils/uuid/max.js.map +1 -0
  381. package/dist/utils/uuid/nil.cjs +6 -0
  382. package/dist/utils/uuid/nil.cjs.map +1 -0
  383. package/dist/utils/uuid/nil.js +6 -0
  384. package/dist/utils/uuid/nil.js.map +1 -0
  385. package/dist/utils/uuid/parse.cjs +11 -0
  386. package/dist/utils/uuid/parse.cjs.map +1 -0
  387. package/dist/utils/uuid/parse.d.cts +7 -0
  388. package/dist/utils/uuid/parse.d.cts.map +1 -0
  389. package/dist/utils/uuid/parse.d.ts +7 -0
  390. package/dist/utils/uuid/parse.d.ts.map +1 -0
  391. package/dist/utils/uuid/parse.js +11 -0
  392. package/dist/utils/uuid/parse.js.map +1 -0
  393. package/dist/utils/uuid/regex.cjs +6 -0
  394. package/dist/utils/uuid/regex.cjs.map +1 -0
  395. package/dist/utils/uuid/regex.js +6 -0
  396. package/dist/utils/uuid/regex.js.map +1 -0
  397. package/dist/utils/uuid/rng.cjs +9 -0
  398. package/dist/utils/uuid/rng.cjs.map +1 -0
  399. package/dist/utils/uuid/rng.js +9 -0
  400. package/dist/utils/uuid/rng.js.map +1 -0
  401. package/dist/utils/uuid/sha1.cjs +71 -0
  402. package/dist/utils/uuid/sha1.cjs.map +1 -0
  403. package/dist/utils/uuid/sha1.js +71 -0
  404. package/dist/utils/uuid/sha1.js.map +1 -0
  405. package/dist/utils/uuid/stringify.cjs +21 -0
  406. package/dist/utils/uuid/stringify.cjs.map +1 -0
  407. package/dist/utils/uuid/stringify.d.cts +5 -0
  408. package/dist/utils/uuid/stringify.d.cts.map +1 -0
  409. package/dist/utils/uuid/stringify.d.ts +5 -0
  410. package/dist/utils/uuid/stringify.d.ts.map +1 -0
  411. package/dist/utils/uuid/stringify.js +20 -0
  412. package/dist/utils/uuid/stringify.js.map +1 -0
  413. package/dist/utils/uuid/types.d.cts +26 -0
  414. package/dist/utils/uuid/types.d.cts.map +1 -0
  415. package/dist/utils/uuid/types.d.ts +26 -0
  416. package/dist/utils/uuid/types.d.ts.map +1 -0
  417. package/dist/utils/uuid/v1.cjs +69 -0
  418. package/dist/utils/uuid/v1.cjs.map +1 -0
  419. package/dist/utils/uuid/v1.d.cts +8 -0
  420. package/dist/utils/uuid/v1.d.cts.map +1 -0
  421. package/dist/utils/uuid/v1.d.ts +8 -0
  422. package/dist/utils/uuid/v1.d.ts.map +1 -0
  423. package/dist/utils/uuid/v1.js +69 -0
  424. package/dist/utils/uuid/v1.js.map +1 -0
  425. package/dist/utils/uuid/v1ToV6.cjs +14 -0
  426. package/dist/utils/uuid/v1ToV6.cjs.map +1 -0
  427. package/dist/utils/uuid/v1ToV6.js +14 -0
  428. package/dist/utils/uuid/v1ToV6.js.map +1 -0
  429. package/dist/utils/uuid/v35.cjs +36 -0
  430. package/dist/utils/uuid/v35.cjs.map +1 -0
  431. package/dist/utils/uuid/v35.js +34 -0
  432. package/dist/utils/uuid/v35.js.map +1 -0
  433. package/dist/utils/uuid/v4.cjs +25 -0
  434. package/dist/utils/uuid/v4.cjs.map +1 -0
  435. package/dist/utils/uuid/v4.d.cts +8 -0
  436. package/dist/utils/uuid/v4.d.cts.map +1 -0
  437. package/dist/utils/uuid/v4.d.ts +8 -0
  438. package/dist/utils/uuid/v4.d.ts.map +1 -0
  439. package/dist/utils/uuid/v4.js +25 -0
  440. package/dist/utils/uuid/v4.js.map +1 -0
  441. package/dist/utils/uuid/v5.cjs +12 -0
  442. package/dist/utils/uuid/v5.cjs.map +1 -0
  443. package/dist/utils/uuid/v5.d.cts +14 -0
  444. package/dist/utils/uuid/v5.d.cts.map +1 -0
  445. package/dist/utils/uuid/v5.d.ts +14 -0
  446. package/dist/utils/uuid/v5.d.ts.map +1 -0
  447. package/dist/utils/uuid/v5.js +12 -0
  448. package/dist/utils/uuid/v5.js.map +1 -0
  449. package/dist/utils/uuid/v6.cjs +23 -0
  450. package/dist/utils/uuid/v6.cjs.map +1 -0
  451. package/dist/utils/uuid/v6.d.cts +8 -0
  452. package/dist/utils/uuid/v6.d.cts.map +1 -0
  453. package/dist/utils/uuid/v6.d.ts +8 -0
  454. package/dist/utils/uuid/v6.d.ts.map +1 -0
  455. package/dist/utils/uuid/v6.js +23 -0
  456. package/dist/utils/uuid/v6.js.map +1 -0
  457. package/dist/utils/uuid/v7.cjs +57 -0
  458. package/dist/utils/uuid/v7.cjs.map +1 -0
  459. package/dist/utils/uuid/v7.d.cts +8 -0
  460. package/dist/utils/uuid/v7.d.cts.map +1 -0
  461. package/dist/utils/uuid/v7.d.ts +8 -0
  462. package/dist/utils/uuid/v7.d.ts.map +1 -0
  463. package/dist/utils/uuid/v7.js +57 -0
  464. package/dist/utils/uuid/v7.js.map +1 -0
  465. package/dist/utils/uuid/validate.cjs +9 -0
  466. package/dist/utils/uuid/validate.cjs.map +1 -0
  467. package/dist/utils/uuid/validate.d.cts +5 -0
  468. package/dist/utils/uuid/validate.d.cts.map +1 -0
  469. package/dist/utils/uuid/validate.d.ts +5 -0
  470. package/dist/utils/uuid/validate.d.ts.map +1 -0
  471. package/dist/utils/uuid/validate.js +9 -0
  472. package/dist/utils/uuid/validate.js.map +1 -0
  473. package/dist/utils/uuid/version.cjs +10 -0
  474. package/dist/utils/uuid/version.cjs.map +1 -0
  475. package/dist/utils/uuid/version.d.cts +5 -0
  476. package/dist/utils/uuid/version.d.cts.map +1 -0
  477. package/dist/utils/uuid/version.d.ts +5 -0
  478. package/dist/utils/uuid/version.d.ts.map +1 -0
  479. package/dist/utils/uuid/version.js +10 -0
  480. package/dist/utils/uuid/version.js.map +1 -0
  481. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  482. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  483. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  484. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  485. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  486. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  487. package/dist/utils/zod-to-json-schema/parsers/string.cjs +26 -0
  488. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  489. package/dist/utils/zod-to-json-schema/parsers/string.js +26 -0
  490. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  491. package/dist/vectorstores.cjs.map +1 -1
  492. package/dist/vectorstores.js.map +1 -1
  493. package/document_loaders/base.cjs +1 -0
  494. package/document_loaders/base.d.cts +1 -0
  495. package/document_loaders/base.d.ts +1 -0
  496. package/document_loaders/base.js +1 -0
  497. package/document_loaders/langsmith.cjs +1 -0
  498. package/document_loaders/langsmith.d.cts +1 -0
  499. package/document_loaders/langsmith.d.ts +1 -0
  500. package/document_loaders/langsmith.js +1 -0
  501. package/documents.cjs +1 -0
  502. package/documents.d.cts +1 -0
  503. package/documents.d.ts +1 -0
  504. package/documents.js +1 -0
  505. package/embeddings.cjs +1 -0
  506. package/embeddings.d.cts +1 -0
  507. package/embeddings.d.ts +1 -0
  508. package/embeddings.js +1 -0
  509. package/errors.cjs +1 -0
  510. package/errors.d.cts +1 -0
  511. package/errors.d.ts +1 -0
  512. package/errors.js +1 -0
  513. package/example_selectors.cjs +1 -0
  514. package/example_selectors.d.cts +1 -0
  515. package/example_selectors.d.ts +1 -0
  516. package/example_selectors.js +1 -0
  517. package/indexing.cjs +1 -0
  518. package/indexing.d.cts +1 -0
  519. package/indexing.d.ts +1 -0
  520. package/indexing.js +1 -0
  521. package/language_models/base.cjs +1 -0
  522. package/language_models/base.d.cts +1 -0
  523. package/language_models/base.d.ts +1 -0
  524. package/language_models/base.js +1 -0
  525. package/language_models/chat_models.cjs +1 -0
  526. package/language_models/chat_models.d.cts +1 -0
  527. package/language_models/chat_models.d.ts +1 -0
  528. package/language_models/chat_models.js +1 -0
  529. package/language_models/compat.cjs +1 -0
  530. package/language_models/compat.d.cts +1 -0
  531. package/language_models/compat.d.ts +1 -0
  532. package/language_models/compat.js +1 -0
  533. package/language_models/event.cjs +1 -0
  534. package/language_models/event.d.cts +1 -0
  535. package/language_models/event.d.ts +1 -0
  536. package/language_models/event.js +1 -0
  537. package/language_models/llms.cjs +1 -0
  538. package/language_models/llms.d.cts +1 -0
  539. package/language_models/llms.d.ts +1 -0
  540. package/language_models/llms.js +1 -0
  541. package/language_models/openai_completions_stream.cjs +1 -0
  542. package/language_models/openai_completions_stream.d.cts +1 -0
  543. package/language_models/openai_completions_stream.d.ts +1 -0
  544. package/language_models/openai_completions_stream.js +1 -0
  545. package/language_models/profile.cjs +1 -0
  546. package/language_models/profile.d.cts +1 -0
  547. package/language_models/profile.d.ts +1 -0
  548. package/language_models/profile.js +1 -0
  549. package/language_models/stream.cjs +1 -0
  550. package/language_models/stream.d.cts +1 -0
  551. package/language_models/stream.d.ts +1 -0
  552. package/language_models/stream.js +1 -0
  553. package/language_models/structured_output.cjs +1 -0
  554. package/language_models/structured_output.d.cts +1 -0
  555. package/language_models/structured_output.d.ts +1 -0
  556. package/language_models/structured_output.js +1 -0
  557. package/load/serializable.cjs +1 -0
  558. package/load/serializable.d.cts +1 -0
  559. package/load/serializable.d.ts +1 -0
  560. package/load/serializable.js +1 -0
  561. package/load.cjs +1 -0
  562. package/load.d.cts +1 -0
  563. package/load.d.ts +1 -0
  564. package/load.js +1 -0
  565. package/memory.cjs +1 -0
  566. package/memory.d.cts +1 -0
  567. package/memory.d.ts +1 -0
  568. package/memory.js +1 -0
  569. package/messages/tool.cjs +1 -0
  570. package/messages/tool.d.cts +1 -0
  571. package/messages/tool.d.ts +1 -0
  572. package/messages/tool.js +1 -0
  573. package/messages.cjs +1 -0
  574. package/messages.d.cts +1 -0
  575. package/messages.d.ts +1 -0
  576. package/messages.js +1 -0
  577. package/output_parsers/openai_functions.cjs +1 -0
  578. package/output_parsers/openai_functions.d.cts +1 -0
  579. package/output_parsers/openai_functions.d.ts +1 -0
  580. package/output_parsers/openai_functions.js +1 -0
  581. package/output_parsers/openai_tools.cjs +1 -0
  582. package/output_parsers/openai_tools.d.cts +1 -0
  583. package/output_parsers/openai_tools.d.ts +1 -0
  584. package/output_parsers/openai_tools.js +1 -0
  585. package/output_parsers.cjs +1 -0
  586. package/output_parsers.d.cts +1 -0
  587. package/output_parsers.d.ts +1 -0
  588. package/output_parsers.js +1 -0
  589. package/outputs.cjs +1 -0
  590. package/outputs.d.cts +1 -0
  591. package/outputs.d.ts +1 -0
  592. package/outputs.js +1 -0
  593. package/package.json +34 -14
  594. package/prompt_values.cjs +1 -0
  595. package/prompt_values.d.cts +1 -0
  596. package/prompt_values.d.ts +1 -0
  597. package/prompt_values.js +1 -0
  598. package/prompts.cjs +1 -0
  599. package/prompts.d.cts +1 -0
  600. package/prompts.d.ts +1 -0
  601. package/prompts.js +1 -0
  602. package/retrievers/document_compressors.cjs +1 -0
  603. package/retrievers/document_compressors.d.cts +1 -0
  604. package/retrievers/document_compressors.d.ts +1 -0
  605. package/retrievers/document_compressors.js +1 -0
  606. package/retrievers.cjs +1 -0
  607. package/retrievers.d.cts +1 -0
  608. package/retrievers.d.ts +1 -0
  609. package/retrievers.js +1 -0
  610. package/runnables/graph.cjs +1 -0
  611. package/runnables/graph.d.cts +1 -0
  612. package/runnables/graph.d.ts +1 -0
  613. package/runnables/graph.js +1 -0
  614. package/runnables.cjs +1 -0
  615. package/runnables.d.cts +1 -0
  616. package/runnables.d.ts +1 -0
  617. package/runnables.js +1 -0
  618. package/singletons.cjs +1 -0
  619. package/singletons.d.cts +1 -0
  620. package/singletons.d.ts +1 -0
  621. package/singletons.js +1 -0
  622. package/stores.cjs +1 -0
  623. package/stores.d.cts +1 -0
  624. package/stores.d.ts +1 -0
  625. package/stores.js +1 -0
  626. package/structured_query.cjs +1 -0
  627. package/structured_query.d.cts +1 -0
  628. package/structured_query.d.ts +1 -0
  629. package/structured_query.js +1 -0
  630. package/testing.cjs +1 -0
  631. package/testing.d.cts +1 -0
  632. package/testing.d.ts +1 -0
  633. package/testing.js +1 -0
  634. package/tools.cjs +1 -0
  635. package/tools.d.cts +1 -0
  636. package/tools.d.ts +1 -0
  637. package/tools.js +1 -0
  638. package/tracers/base.cjs +1 -0
  639. package/tracers/base.d.cts +1 -0
  640. package/tracers/base.d.ts +1 -0
  641. package/tracers/base.js +1 -0
  642. package/tracers/console.cjs +1 -0
  643. package/tracers/console.d.cts +1 -0
  644. package/tracers/console.d.ts +1 -0
  645. package/tracers/console.js +1 -0
  646. package/tracers/log_stream.cjs +1 -0
  647. package/tracers/log_stream.d.cts +1 -0
  648. package/tracers/log_stream.d.ts +1 -0
  649. package/tracers/log_stream.js +1 -0
  650. package/tracers/run_collector.cjs +1 -0
  651. package/tracers/run_collector.d.cts +1 -0
  652. package/tracers/run_collector.d.ts +1 -0
  653. package/tracers/run_collector.js +1 -0
  654. package/tracers/tracer_langchain.cjs +1 -0
  655. package/tracers/tracer_langchain.d.cts +1 -0
  656. package/tracers/tracer_langchain.d.ts +1 -0
  657. package/tracers/tracer_langchain.js +1 -0
  658. package/types/stream.cjs +1 -0
  659. package/types/stream.d.cts +1 -0
  660. package/types/stream.d.ts +1 -0
  661. package/types/stream.js +1 -0
  662. package/utils/async_caller.cjs +1 -0
  663. package/utils/async_caller.d.cts +1 -0
  664. package/utils/async_caller.d.ts +1 -0
  665. package/utils/async_caller.js +1 -0
  666. package/utils/chunk_array.cjs +1 -0
  667. package/utils/chunk_array.d.cts +1 -0
  668. package/utils/chunk_array.d.ts +1 -0
  669. package/utils/chunk_array.js +1 -0
  670. package/utils/context.cjs +1 -0
  671. package/utils/context.d.cts +1 -0
  672. package/utils/context.d.ts +1 -0
  673. package/utils/context.js +1 -0
  674. package/utils/env.cjs +1 -0
  675. package/utils/env.d.cts +1 -0
  676. package/utils/env.d.ts +1 -0
  677. package/utils/env.js +1 -0
  678. package/utils/event_source_parse.cjs +1 -0
  679. package/utils/event_source_parse.d.cts +1 -0
  680. package/utils/event_source_parse.d.ts +1 -0
  681. package/utils/event_source_parse.js +1 -0
  682. package/utils/format.cjs +1 -0
  683. package/utils/format.d.cts +1 -0
  684. package/utils/format.d.ts +1 -0
  685. package/utils/format.js +1 -0
  686. package/utils/function_calling.cjs +1 -0
  687. package/utils/function_calling.d.cts +1 -0
  688. package/utils/function_calling.d.ts +1 -0
  689. package/utils/function_calling.js +1 -0
  690. package/utils/hash.cjs +1 -0
  691. package/utils/hash.d.cts +1 -0
  692. package/utils/hash.d.ts +1 -0
  693. package/utils/hash.js +1 -0
  694. package/utils/json_patch.cjs +1 -0
  695. package/utils/json_patch.d.cts +1 -0
  696. package/utils/json_patch.d.ts +1 -0
  697. package/utils/json_patch.js +1 -0
  698. package/utils/json_schema.cjs +1 -0
  699. package/utils/json_schema.d.cts +1 -0
  700. package/utils/json_schema.d.ts +1 -0
  701. package/utils/json_schema.js +1 -0
  702. package/utils/math.cjs +1 -0
  703. package/utils/math.d.cts +1 -0
  704. package/utils/math.d.ts +1 -0
  705. package/utils/math.js +1 -0
  706. package/utils/ssrf.cjs +1 -0
  707. package/utils/ssrf.d.cts +1 -0
  708. package/utils/ssrf.d.ts +1 -0
  709. package/utils/ssrf.js +1 -0
  710. package/utils/standard_schema.cjs +1 -0
  711. package/utils/standard_schema.d.cts +1 -0
  712. package/utils/standard_schema.d.ts +1 -0
  713. package/utils/standard_schema.js +1 -0
  714. package/utils/stream.cjs +1 -0
  715. package/utils/stream.d.cts +1 -0
  716. package/utils/stream.d.ts +1 -0
  717. package/utils/stream.js +1 -0
  718. package/utils/testing.cjs +1 -0
  719. package/utils/testing.d.cts +1 -0
  720. package/utils/testing.d.ts +1 -0
  721. package/utils/testing.js +1 -0
  722. package/utils/tiktoken.cjs +1 -0
  723. package/utils/tiktoken.d.cts +1 -0
  724. package/utils/tiktoken.d.ts +1 -0
  725. package/utils/tiktoken.js +1 -0
  726. package/utils/types.cjs +1 -0
  727. package/utils/types.d.cts +1 -0
  728. package/utils/types.d.ts +1 -0
  729. package/utils/types.js +1 -0
  730. package/utils/uuid.cjs +1 -0
  731. package/utils/uuid.d.cts +1 -0
  732. package/utils/uuid.d.ts +1 -0
  733. package/utils/uuid.js +1 -0
  734. package/vectorstores.cjs +1 -0
  735. package/vectorstores.d.cts +1 -0
  736. package/vectorstores.d.ts +1 -0
  737. package/vectorstores.js +1 -0
@@ -1,4 +1,4 @@
1
- import { ContentBlock, PartialContentBlock } from "../messages/content/index.cjs";
1
+ import { ContentBlock } from "../messages/content/index.cjs";
2
2
  import { UsageMetadata } from "../messages/metadata.cjs";
3
3
 
4
4
  //#region src/language_models/event.d.ts
@@ -6,14 +6,14 @@ import { UsageMetadata } from "../messages/metadata.cjs";
6
6
  * Emitted once at the start of a model response.
7
7
  */
8
8
  interface MessageStartEvent {
9
- type: "message-start";
9
+ event: "message-start";
10
10
  /** Optional message ID assigned by the provider. */
11
11
  id?: string;
12
12
  /**
13
13
  * Initial usage snapshot, if the provider reports input token counts
14
14
  * before content begins streaming (e.g., Anthropic's `message_start`).
15
15
  */
16
- usage?: UsageMetadata;
16
+ usage?: Partial<UsageMetadata>;
17
17
  }
18
18
  /**
19
19
  * Finish reason for a model response.
@@ -28,11 +28,11 @@ type FinishReason = "stop" | "length" | "tool_use" | "content_filter";
28
28
  * Emitted once when the model response is complete.
29
29
  */
30
30
  interface MessageFinishEvent {
31
- type: "message-finish";
31
+ event: "message-finish";
32
32
  /** Why the model stopped generating. */
33
- reason: FinishReason;
33
+ reason?: FinishReason;
34
34
  /** Final usage snapshot. */
35
- usage?: UsageMetadata;
35
+ usage?: Partial<UsageMetadata>;
36
36
  /** Provider-specific response metadata (model name, response ID, headers, etc.). */
37
37
  responseMetadata?: Record<string, unknown>;
38
38
  }
@@ -41,82 +41,105 @@ interface MessageFinishEvent {
41
41
  *
42
42
  * @example
43
43
  * ```ts
44
- * // Text block starting
45
- * { type: "content-block-start", index: 0,
44
+ * { event: "content-block-start", index: 0,
46
45
  * content: { type: "text", text: "" } }
47
- *
48
- * // Tool call starting
49
- * { type: "content-block-start", index: 1,
50
- * content: { type: "tool_call", id: "call_1", name: "search", args: "" } }
51
- *
52
- * // Reasoning starting
53
- * { type: "content-block-start", index: 2,
54
- * content: { type: "reasoning", reasoning: "" } }
55
46
  * ```
56
47
  */
57
48
  interface ContentBlockStartEvent {
58
- type: "content-block-start";
49
+ event: "content-block-start";
59
50
  /** Positional index of this block within the message. */
60
51
  index: number;
61
52
  /** Initial state of the content block. */
62
53
  content: ContentBlock;
63
54
  }
55
+ /**
56
+ * Incremental text content. Append `text` to the active block's `text` field.
57
+ */
58
+ interface TextDelta {
59
+ type: "text-delta";
60
+ /** The new text to append. */
61
+ text: string;
62
+ }
63
+ /**
64
+ * Incremental reasoning content. Append `reasoning` to the active block's
65
+ * `reasoning` field.
66
+ */
67
+ interface ReasoningDelta {
68
+ type: "reasoning-delta";
69
+ /** The new reasoning text to append. */
70
+ reasoning: string;
71
+ }
72
+ /**
73
+ * Incremental encoded data. Append `data` to the active multimodal block's
74
+ * data field.
75
+ */
76
+ interface DataDelta {
77
+ type: "data-delta";
78
+ /** Encoded data chunk to append. */
79
+ data: string;
80
+ /** Encoding for the data chunk. Defaults to `"base64"` when omitted. */
81
+ encoding?: "base64";
82
+ }
83
+ /**
84
+ * Generic content block field update. Shallow-merge `fields` onto the active
85
+ * content block.
86
+ */
87
+ interface BlockDelta {
88
+ type: "block-delta";
89
+ /** Fields to shallow-merge onto the active content block. */
90
+ fields: {
91
+ type: string;
92
+ } & Record<string, unknown>;
93
+ }
94
+ /**
95
+ * Union of all content block delta types.
96
+ */
97
+ type ContentBlockDelta = TextDelta | ReasoningDelta | DataDelta | BlockDelta;
64
98
  /**
65
99
  * Emitted for each incremental update within a content block.
66
100
  *
67
- * Carries the **accumulated state** of the content block so far.
68
- * The content is deeply partial — not all fields may be populated during
69
- * streaming (e.g., a tool call may have `name` but `args` is still being
70
- * streamed as a partial JSON string).
71
- *
72
- * Consumers who need incremental deltas (e.g., new tokens only) should
73
- * track the previous state and diff against the new accumulated state.
74
- *
75
- * Aggregation into `AIMessage` is trivial:
76
- * `message.content[event.index] = event.content`
101
+ * The `delta` field carries the incremental content block update.
102
+ * Accumulation rules:
103
+ * - `text-delta` append `text` to the active block's text field
104
+ * - `reasoning-delta` append `reasoning` to the active block's reasoning field
105
+ * - `data-delta` → append `data` to the active block's data field
106
+ * - `block-delta` shallow-merge `fields` onto the active block
77
107
  *
78
108
  * @example
79
109
  * ```ts
80
- * // First text delta — accumulated so far
81
- * { type: "content-block-delta", index: 0,
82
- * content: { type: "text", text: "Hello" } }
83
- *
84
- * // Second text delta — accumulated so far
85
- * { type: "content-block-delta", index: 0,
86
- * content: { type: "text", text: "Hello world" } }
87
- *
88
- * // Tool call args — accumulated so far
89
- * { type: "content-block-delta", index: 1,
90
- * content: { type: "tool_call", id: "call_1", name: "search", args: '{"q":"wea' } }
110
+ * // Text token
111
+ * { event: "content-block-delta", index: 0,
112
+ * delta: { type: "text-delta", text: " world" } }
113
+ *
114
+ * // Tool call args snapshot
115
+ * { event: "content-block-delta", index: 1,
116
+ * delta: { type: "block-delta",
117
+ * fields: { type: "tool_call_chunk", args: '{"q":"wea' } } } }
118
+ *
119
+ * // Provider-specific field (e.g., signature)
120
+ * { event: "content-block-delta", index: 0,
121
+ * delta: { type: "block-delta",
122
+ * fields: { type: "reasoning", signature: "sig_abc" } } }
91
123
  * ```
92
124
  */
93
125
  interface ContentBlockDeltaEvent {
94
- type: "content-block-delta";
126
+ event: "content-block-delta";
95
127
  /** Positional index of the block being updated. */
96
128
  index: number;
97
- /** Accumulated state of the content block after this update. Deeply partial. */
98
- content: PartialContentBlock;
129
+ /** Incremental content block delta. */
130
+ delta: ContentBlockDelta;
99
131
  }
100
132
  /**
101
133
  * Emitted when a content block is complete.
102
134
  *
103
- * The `content` carries the **finalized** block. For tool calls, this means
104
- * args have been parsed from a JSON string into an object.
105
- *
106
135
  * @example
107
136
  * ```ts
108
- * // Finalized text block
109
- * { type: "content-block-finish", index: 0,
110
- * content: { type: "text", text: "The weather is sunny." } }
111
- *
112
- * // Finalized tool call (args parsed)
113
- * { type: "content-block-finish", index: 1,
114
- * content: { type: "tool_call", id: "call_1", name: "search",
115
- * args: { q: "weather" } } }
137
+ * { event: "content-block-finish", index: 0,
138
+ * content: { type: "text", text: "Hello world" } }
116
139
  * ```
117
140
  */
118
141
  interface ContentBlockFinishEvent {
119
- type: "content-block-finish";
142
+ event: "content-block-finish";
120
143
  /** Positional index of the completed block. */
121
144
  index: number;
122
145
  /** Finalized content block. */
@@ -124,47 +147,18 @@ interface ContentBlockFinishEvent {
124
147
  }
125
148
  /**
126
149
  * Emitted whenever the provider reports updated usage information.
127
- *
128
- * May appear at any point during streaming. Each event carries a
129
- * **running snapshot** of usage (not an additive delta), so consumers
130
- * can simply take the latest value.
131
- *
132
- * @example
133
- * ```ts
134
- * // After message_start (Anthropic: input tokens known)
135
- * { type: "usage", usage: { input_tokens: 1234, output_tokens: 0, total_tokens: 1234 } }
136
- *
137
- * // After streaming completes
138
- * { type: "usage", usage: { input_tokens: 1234, output_tokens: 567, total_tokens: 1801 } }
139
- * ```
150
+ * Each event carries a **running snapshot** (not an additive delta).
140
151
  */
141
152
  interface UsageUpdateEvent {
142
- type: "usage";
153
+ event: "usage";
143
154
  /** Current usage snapshot. */
144
- usage: UsageMetadata;
155
+ usage: Partial<UsageMetadata>;
145
156
  }
146
157
  /**
147
158
  * Passthrough for native provider events that don't map to standard types.
148
- *
149
- * Provider adapters map recognized events to standard {@link ChatModelStreamEvent}
150
- * types and forward everything else as `ProviderEvent`. This ensures no information
151
- * is silently dropped.
152
- *
153
- * @example
154
- * ```ts
155
- * // OpenAI server-side web search in progress
156
- * { type: "provider", provider: "openai",
157
- * name: "response.web_search_call.searching",
158
- * payload: { item_id: "ws_123", output_index: 0 } }
159
- *
160
- * // Anthropic context management signal
161
- * { type: "provider", provider: "anthropic",
162
- * name: "context_management",
163
- * payload: { ... } }
164
- * ```
165
159
  */
166
160
  interface ProviderEvent {
167
- type: "provider";
161
+ event: "provider";
168
162
  /** Provider identifier (e.g., `"openai"`, `"anthropic"`, `"google"`). */
169
163
  provider: string;
170
164
  /** Raw event type name from the provider SDK. */
@@ -176,7 +170,7 @@ interface ProviderEvent {
176
170
  * Emitted on unrecoverable stream errors.
177
171
  */
178
172
  interface StreamErrorEvent {
179
- type: "error";
173
+ event: "error";
180
174
  /** Human-readable error message. */
181
175
  message: string;
182
176
  /** Optional error code for programmatic handling. */
@@ -184,10 +178,8 @@ interface StreamErrorEvent {
184
178
  }
185
179
  /**
186
180
  * Union of all chat model stream event types.
187
- *
188
- * This is the type yielded by `ChatModelStream[Symbol.asyncIterator]()`.
189
181
  */
190
182
  type ChatModelStreamEvent = MessageStartEvent | MessageFinishEvent | ContentBlockStartEvent | ContentBlockDeltaEvent | ContentBlockFinishEvent | UsageUpdateEvent | ProviderEvent | StreamErrorEvent;
191
183
  //#endregion
192
- export { ChatModelStreamEvent, ContentBlockDeltaEvent, ContentBlockFinishEvent, ContentBlockStartEvent, FinishReason, MessageFinishEvent, MessageStartEvent, ProviderEvent, StreamErrorEvent, UsageUpdateEvent };
184
+ export { BlockDelta, ChatModelStreamEvent, ContentBlockDelta, ContentBlockDeltaEvent, ContentBlockFinishEvent, ContentBlockStartEvent, DataDelta, FinishReason, MessageFinishEvent, MessageStartEvent, ProviderEvent, ReasoningDelta, StreamErrorEvent, TextDelta, UsageUpdateEvent };
193
185
  //# sourceMappingURL=event.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.cts","names":[],"sources":["../../src/language_models/event.ts"],"mappings":";;;;;;;UAuDiB,iBAAA;EACf,IAAA;EA6FA;EA3FA,EAAA;EA2F4B;;AAqB9B;;EA3GE,KAAA,GAAQ,aAAA;AAAA;;;;;;;AAmIV;;KAxHY,YAAA;;;;UAKK,kBAAA;EACf,IAAA;EAqHoB;EAnHpB,MAAA,EAAQ,YAAA;EA0IoB;EAxI5B,KAAA,GAAQ,aAAA;EAwIoB;EAtI5B,gBAAA,GAAmB,MAAA;AAAA;;;;;AAmJrB;;;;;;;;;AAaA;;;;;UA3IiB,sBAAA;EACf,IAAA;EA+IE;EA7IF,KAAA;EA+IE;EA7IF,OAAA,EAAS,YAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgCM,sBAAA;EACf,IAAA;;EAEA,KAAA;;EAEA,OAAA,EAAS,mBAAA;AAAA;;;;;;;;;;;;;;;;;;;UAqBM,uBAAA;EACf,IAAA;;EAEA,KAAA;;EAEA,OAAA,EAAS,YAAA;AAAA;;;;;;;;;;;;;;;;;UAmBM,gBAAA;EACf,IAAA;;EAEA,KAAA,EAAO,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;UAuBQ,aAAA;EACf,IAAA;;EAEA,QAAA;;EAEA,IAAA;;EAEA,OAAA;AAAA;;;;UAMe,gBAAA;EACf,IAAA;;EAEA,OAAA;;EAEA,IAAA;AAAA;;;;;;KAQU,oBAAA,GACR,iBAAA,GACA,kBAAA,GACA,sBAAA,GACA,sBAAA,GACA,uBAAA,GACA,gBAAA,GACA,aAAA,GACA,gBAAA"}
1
+ {"version":3,"file":"event.d.cts","names":[],"sources":["../../src/language_models/event.ts"],"mappings":";;;;AA4FA;;;AAAA,UA9CiB,iBAAA;EACf,KAAA;EAgDA;EA9CA,EAAA;EAgDS;;;AAQX;EAnDE,KAAA,GAAQ,OAAA,CAAQ,aAAA;AAAA;;;AA6DlB;;;;;AAUA;KA5DY,YAAA;;;;UAKK,kBAAA;EACf,KAAA;EA2DQ;EAzDR,MAAA,GAAS,YAAA;EAgEM;EA9Df,KAAA,GAAQ,OAAA,CAAQ,aAAA;;EAEhB,gBAAA,GAAmB,MAAA;AAAA;;;;;;AAqErB;;;;UAtDiB,sBAAA;EACf,KAAA;EAyDE;EAvDF,KAAA;EAuDY;EArDZ,OAAA,EAAS,YAAA;AAAA;;;;UAQM,SAAA;EACf,IAAA;EAyEqC;EAvErC,IAAA;AAAA;;;;;UAOe,cAAA;EACf,IAAA;EAgFe;EA9Ef,SAAA;AAAA;;;;;UAOe,SAAA;EACf,IAAA;EA2EqB;EAzErB,IAAA;EAkF+B;EAhF/B,QAAA;AAAA;;;;;UAOe,UAAA;EACf,IAAA;EAmFe;EAjFf,MAAA;IAAU,IAAA;EAAA,IAAiB,MAAA;AAAA;;;;KAMjB,iBAAA,GACR,SAAA,GACA,cAAA,GACA,SAAA,GACA,UAAA;;AAsFJ;;;;;;;;;AAaA;;;;;;;;;;;;;;;;;UAtEiB,sBAAA;EACf,KAAA;EA4EE;EA1EF,KAAA;EA2EkB;EAzElB,KAAA,EAAO,iBAAA;AAAA;;;;;;;;;;UAYQ,uBAAA;EACf,KAAA;;EAEA,KAAA;;EAEA,OAAA,EAAS,YAAA;AAAA;;;;;UASM,gBAAA;EACf,KAAA;;EAEA,KAAA,EAAO,OAAA,CAAQ,aAAA;AAAA;;;;UAQA,aAAA;EACf,KAAA;;EAEA,QAAA;;EAEA,IAAA;;EAEA,OAAA;AAAA;;;;UAQe,gBAAA;EACf,KAAA;;EAEA,OAAA;;EAEA,IAAA;AAAA;;;;KAQU,oBAAA,GACR,iBAAA,GACA,kBAAA,GACA,sBAAA,GACA,sBAAA,GACA,uBAAA,GACA,gBAAA,GACA,aAAA,GACA,gBAAA"}
@@ -1,4 +1,4 @@
1
- import { ContentBlock, PartialContentBlock } from "../messages/content/index.js";
1
+ import { ContentBlock } from "../messages/content/index.js";
2
2
  import { UsageMetadata } from "../messages/metadata.js";
3
3
 
4
4
  //#region src/language_models/event.d.ts
@@ -6,14 +6,14 @@ import { UsageMetadata } from "../messages/metadata.js";
6
6
  * Emitted once at the start of a model response.
7
7
  */
8
8
  interface MessageStartEvent {
9
- type: "message-start";
9
+ event: "message-start";
10
10
  /** Optional message ID assigned by the provider. */
11
11
  id?: string;
12
12
  /**
13
13
  * Initial usage snapshot, if the provider reports input token counts
14
14
  * before content begins streaming (e.g., Anthropic's `message_start`).
15
15
  */
16
- usage?: UsageMetadata;
16
+ usage?: Partial<UsageMetadata>;
17
17
  }
18
18
  /**
19
19
  * Finish reason for a model response.
@@ -28,11 +28,11 @@ type FinishReason = "stop" | "length" | "tool_use" | "content_filter";
28
28
  * Emitted once when the model response is complete.
29
29
  */
30
30
  interface MessageFinishEvent {
31
- type: "message-finish";
31
+ event: "message-finish";
32
32
  /** Why the model stopped generating. */
33
- reason: FinishReason;
33
+ reason?: FinishReason;
34
34
  /** Final usage snapshot. */
35
- usage?: UsageMetadata;
35
+ usage?: Partial<UsageMetadata>;
36
36
  /** Provider-specific response metadata (model name, response ID, headers, etc.). */
37
37
  responseMetadata?: Record<string, unknown>;
38
38
  }
@@ -41,82 +41,105 @@ interface MessageFinishEvent {
41
41
  *
42
42
  * @example
43
43
  * ```ts
44
- * // Text block starting
45
- * { type: "content-block-start", index: 0,
44
+ * { event: "content-block-start", index: 0,
46
45
  * content: { type: "text", text: "" } }
47
- *
48
- * // Tool call starting
49
- * { type: "content-block-start", index: 1,
50
- * content: { type: "tool_call", id: "call_1", name: "search", args: "" } }
51
- *
52
- * // Reasoning starting
53
- * { type: "content-block-start", index: 2,
54
- * content: { type: "reasoning", reasoning: "" } }
55
46
  * ```
56
47
  */
57
48
  interface ContentBlockStartEvent {
58
- type: "content-block-start";
49
+ event: "content-block-start";
59
50
  /** Positional index of this block within the message. */
60
51
  index: number;
61
52
  /** Initial state of the content block. */
62
53
  content: ContentBlock;
63
54
  }
55
+ /**
56
+ * Incremental text content. Append `text` to the active block's `text` field.
57
+ */
58
+ interface TextDelta {
59
+ type: "text-delta";
60
+ /** The new text to append. */
61
+ text: string;
62
+ }
63
+ /**
64
+ * Incremental reasoning content. Append `reasoning` to the active block's
65
+ * `reasoning` field.
66
+ */
67
+ interface ReasoningDelta {
68
+ type: "reasoning-delta";
69
+ /** The new reasoning text to append. */
70
+ reasoning: string;
71
+ }
72
+ /**
73
+ * Incremental encoded data. Append `data` to the active multimodal block's
74
+ * data field.
75
+ */
76
+ interface DataDelta {
77
+ type: "data-delta";
78
+ /** Encoded data chunk to append. */
79
+ data: string;
80
+ /** Encoding for the data chunk. Defaults to `"base64"` when omitted. */
81
+ encoding?: "base64";
82
+ }
83
+ /**
84
+ * Generic content block field update. Shallow-merge `fields` onto the active
85
+ * content block.
86
+ */
87
+ interface BlockDelta {
88
+ type: "block-delta";
89
+ /** Fields to shallow-merge onto the active content block. */
90
+ fields: {
91
+ type: string;
92
+ } & Record<string, unknown>;
93
+ }
94
+ /**
95
+ * Union of all content block delta types.
96
+ */
97
+ type ContentBlockDelta = TextDelta | ReasoningDelta | DataDelta | BlockDelta;
64
98
  /**
65
99
  * Emitted for each incremental update within a content block.
66
100
  *
67
- * Carries the **accumulated state** of the content block so far.
68
- * The content is deeply partial — not all fields may be populated during
69
- * streaming (e.g., a tool call may have `name` but `args` is still being
70
- * streamed as a partial JSON string).
71
- *
72
- * Consumers who need incremental deltas (e.g., new tokens only) should
73
- * track the previous state and diff against the new accumulated state.
74
- *
75
- * Aggregation into `AIMessage` is trivial:
76
- * `message.content[event.index] = event.content`
101
+ * The `delta` field carries the incremental content block update.
102
+ * Accumulation rules:
103
+ * - `text-delta` append `text` to the active block's text field
104
+ * - `reasoning-delta` append `reasoning` to the active block's reasoning field
105
+ * - `data-delta` → append `data` to the active block's data field
106
+ * - `block-delta` shallow-merge `fields` onto the active block
77
107
  *
78
108
  * @example
79
109
  * ```ts
80
- * // First text delta — accumulated so far
81
- * { type: "content-block-delta", index: 0,
82
- * content: { type: "text", text: "Hello" } }
83
- *
84
- * // Second text delta — accumulated so far
85
- * { type: "content-block-delta", index: 0,
86
- * content: { type: "text", text: "Hello world" } }
87
- *
88
- * // Tool call args — accumulated so far
89
- * { type: "content-block-delta", index: 1,
90
- * content: { type: "tool_call", id: "call_1", name: "search", args: '{"q":"wea' } }
110
+ * // Text token
111
+ * { event: "content-block-delta", index: 0,
112
+ * delta: { type: "text-delta", text: " world" } }
113
+ *
114
+ * // Tool call args snapshot
115
+ * { event: "content-block-delta", index: 1,
116
+ * delta: { type: "block-delta",
117
+ * fields: { type: "tool_call_chunk", args: '{"q":"wea' } } } }
118
+ *
119
+ * // Provider-specific field (e.g., signature)
120
+ * { event: "content-block-delta", index: 0,
121
+ * delta: { type: "block-delta",
122
+ * fields: { type: "reasoning", signature: "sig_abc" } } }
91
123
  * ```
92
124
  */
93
125
  interface ContentBlockDeltaEvent {
94
- type: "content-block-delta";
126
+ event: "content-block-delta";
95
127
  /** Positional index of the block being updated. */
96
128
  index: number;
97
- /** Accumulated state of the content block after this update. Deeply partial. */
98
- content: PartialContentBlock;
129
+ /** Incremental content block delta. */
130
+ delta: ContentBlockDelta;
99
131
  }
100
132
  /**
101
133
  * Emitted when a content block is complete.
102
134
  *
103
- * The `content` carries the **finalized** block. For tool calls, this means
104
- * args have been parsed from a JSON string into an object.
105
- *
106
135
  * @example
107
136
  * ```ts
108
- * // Finalized text block
109
- * { type: "content-block-finish", index: 0,
110
- * content: { type: "text", text: "The weather is sunny." } }
111
- *
112
- * // Finalized tool call (args parsed)
113
- * { type: "content-block-finish", index: 1,
114
- * content: { type: "tool_call", id: "call_1", name: "search",
115
- * args: { q: "weather" } } }
137
+ * { event: "content-block-finish", index: 0,
138
+ * content: { type: "text", text: "Hello world" } }
116
139
  * ```
117
140
  */
118
141
  interface ContentBlockFinishEvent {
119
- type: "content-block-finish";
142
+ event: "content-block-finish";
120
143
  /** Positional index of the completed block. */
121
144
  index: number;
122
145
  /** Finalized content block. */
@@ -124,47 +147,18 @@ interface ContentBlockFinishEvent {
124
147
  }
125
148
  /**
126
149
  * Emitted whenever the provider reports updated usage information.
127
- *
128
- * May appear at any point during streaming. Each event carries a
129
- * **running snapshot** of usage (not an additive delta), so consumers
130
- * can simply take the latest value.
131
- *
132
- * @example
133
- * ```ts
134
- * // After message_start (Anthropic: input tokens known)
135
- * { type: "usage", usage: { input_tokens: 1234, output_tokens: 0, total_tokens: 1234 } }
136
- *
137
- * // After streaming completes
138
- * { type: "usage", usage: { input_tokens: 1234, output_tokens: 567, total_tokens: 1801 } }
139
- * ```
150
+ * Each event carries a **running snapshot** (not an additive delta).
140
151
  */
141
152
  interface UsageUpdateEvent {
142
- type: "usage";
153
+ event: "usage";
143
154
  /** Current usage snapshot. */
144
- usage: UsageMetadata;
155
+ usage: Partial<UsageMetadata>;
145
156
  }
146
157
  /**
147
158
  * Passthrough for native provider events that don't map to standard types.
148
- *
149
- * Provider adapters map recognized events to standard {@link ChatModelStreamEvent}
150
- * types and forward everything else as `ProviderEvent`. This ensures no information
151
- * is silently dropped.
152
- *
153
- * @example
154
- * ```ts
155
- * // OpenAI server-side web search in progress
156
- * { type: "provider", provider: "openai",
157
- * name: "response.web_search_call.searching",
158
- * payload: { item_id: "ws_123", output_index: 0 } }
159
- *
160
- * // Anthropic context management signal
161
- * { type: "provider", provider: "anthropic",
162
- * name: "context_management",
163
- * payload: { ... } }
164
- * ```
165
159
  */
166
160
  interface ProviderEvent {
167
- type: "provider";
161
+ event: "provider";
168
162
  /** Provider identifier (e.g., `"openai"`, `"anthropic"`, `"google"`). */
169
163
  provider: string;
170
164
  /** Raw event type name from the provider SDK. */
@@ -176,7 +170,7 @@ interface ProviderEvent {
176
170
  * Emitted on unrecoverable stream errors.
177
171
  */
178
172
  interface StreamErrorEvent {
179
- type: "error";
173
+ event: "error";
180
174
  /** Human-readable error message. */
181
175
  message: string;
182
176
  /** Optional error code for programmatic handling. */
@@ -184,10 +178,8 @@ interface StreamErrorEvent {
184
178
  }
185
179
  /**
186
180
  * Union of all chat model stream event types.
187
- *
188
- * This is the type yielded by `ChatModelStream[Symbol.asyncIterator]()`.
189
181
  */
190
182
  type ChatModelStreamEvent = MessageStartEvent | MessageFinishEvent | ContentBlockStartEvent | ContentBlockDeltaEvent | ContentBlockFinishEvent | UsageUpdateEvent | ProviderEvent | StreamErrorEvent;
191
183
  //#endregion
192
- export { ChatModelStreamEvent, ContentBlockDeltaEvent, ContentBlockFinishEvent, ContentBlockStartEvent, FinishReason, MessageFinishEvent, MessageStartEvent, ProviderEvent, StreamErrorEvent, UsageUpdateEvent };
184
+ export { BlockDelta, ChatModelStreamEvent, ContentBlockDelta, ContentBlockDeltaEvent, ContentBlockFinishEvent, ContentBlockStartEvent, DataDelta, FinishReason, MessageFinishEvent, MessageStartEvent, ProviderEvent, ReasoningDelta, StreamErrorEvent, TextDelta, UsageUpdateEvent };
193
185
  //# sourceMappingURL=event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","names":[],"sources":["../../src/language_models/event.ts"],"mappings":";;;;;;;UAuDiB,iBAAA;EACf,IAAA;EA6FA;EA3FA,EAAA;EA2F4B;;AAqB9B;;EA3GE,KAAA,GAAQ,aAAA;AAAA;;;;;;;AAmIV;;KAxHY,YAAA;;;;UAKK,kBAAA;EACf,IAAA;EAqHoB;EAnHpB,MAAA,EAAQ,YAAA;EA0IoB;EAxI5B,KAAA,GAAQ,aAAA;EAwIoB;EAtI5B,gBAAA,GAAmB,MAAA;AAAA;;;;;AAmJrB;;;;;;;;;AAaA;;;;;UA3IiB,sBAAA;EACf,IAAA;EA+IE;EA7IF,KAAA;EA+IE;EA7IF,OAAA,EAAS,YAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgCM,sBAAA;EACf,IAAA;;EAEA,KAAA;;EAEA,OAAA,EAAS,mBAAA;AAAA;;;;;;;;;;;;;;;;;;;UAqBM,uBAAA;EACf,IAAA;;EAEA,KAAA;;EAEA,OAAA,EAAS,YAAA;AAAA;;;;;;;;;;;;;;;;;UAmBM,gBAAA;EACf,IAAA;;EAEA,KAAA,EAAO,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;UAuBQ,aAAA;EACf,IAAA;;EAEA,QAAA;;EAEA,IAAA;;EAEA,OAAA;AAAA;;;;UAMe,gBAAA;EACf,IAAA;;EAEA,OAAA;;EAEA,IAAA;AAAA;;;;;;KAQU,oBAAA,GACR,iBAAA,GACA,kBAAA,GACA,sBAAA,GACA,sBAAA,GACA,uBAAA,GACA,gBAAA,GACA,aAAA,GACA,gBAAA"}
1
+ {"version":3,"file":"event.d.ts","names":[],"sources":["../../src/language_models/event.ts"],"mappings":";;;;AA4FA;;;AAAA,UA9CiB,iBAAA;EACf,KAAA;EAgDA;EA9CA,EAAA;EAgDS;;;AAQX;EAnDE,KAAA,GAAQ,OAAA,CAAQ,aAAA;AAAA;;;AA6DlB;;;;;AAUA;KA5DY,YAAA;;;;UAKK,kBAAA;EACf,KAAA;EA2DQ;EAzDR,MAAA,GAAS,YAAA;EAgEM;EA9Df,KAAA,GAAQ,OAAA,CAAQ,aAAA;;EAEhB,gBAAA,GAAmB,MAAA;AAAA;;;;;;AAqErB;;;;UAtDiB,sBAAA;EACf,KAAA;EAyDE;EAvDF,KAAA;EAuDY;EArDZ,OAAA,EAAS,YAAA;AAAA;;;;UAQM,SAAA;EACf,IAAA;EAyEqC;EAvErC,IAAA;AAAA;;;;;UAOe,cAAA;EACf,IAAA;EAgFe;EA9Ef,SAAA;AAAA;;;;;UAOe,SAAA;EACf,IAAA;EA2EqB;EAzErB,IAAA;EAkF+B;EAhF/B,QAAA;AAAA;;;;;UAOe,UAAA;EACf,IAAA;EAmFe;EAjFf,MAAA;IAAU,IAAA;EAAA,IAAiB,MAAA;AAAA;;;;KAMjB,iBAAA,GACR,SAAA,GACA,cAAA,GACA,SAAA,GACA,UAAA;;AAsFJ;;;;;;;;;AAaA;;;;;;;;;;;;;;;;;UAtEiB,sBAAA;EACf,KAAA;EA4EE;EA1EF,KAAA;EA2EkB;EAzElB,KAAA,EAAO,iBAAA;AAAA;;;;;;;;;;UAYQ,uBAAA;EACf,KAAA;;EAEA,KAAA;;EAEA,OAAA,EAAS,YAAA;AAAA;;;;;UASM,gBAAA;EACf,KAAA;;EAEA,KAAA,EAAO,OAAA,CAAQ,aAAA;AAAA;;;;UAQA,aAAA;EACf,KAAA;;EAEA,QAAA;;EAEA,IAAA;;EAEA,OAAA;AAAA;;;;UAQe,gBAAA;EACf,KAAA;;EAEA,OAAA;;EAEA,IAAA;AAAA;;;;KAQU,oBAAA,GACR,iBAAA,GACA,kBAAA,GACA,sBAAA,GACA,sBAAA,GACA,uBAAA,GACA,gBAAA,GACA,aAAA,GACA,gBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","names":[],"sources":["../../src/language_models/event.ts"],"sourcesContent":["/**\n * Chat model streaming event protocol.\n *\n * Defines a content-block-centric event model for streaming chat model responses.\n * Events carry LangChain {@link ContentBlock} types directly as accumulated\n * snapshots.\n *\n * ## Design Principles\n *\n * 1. **Content blocks are the universal carrier.** Events carry {@link ContentBlock}\n * instances directly the block's `type` field is the discriminant. New content\n * block types automatically work without protocol changes.\n *\n * 2. **Lifecycle completeness.** Every streamable entity has explicit start and finish\n * events. Consumers never need to infer boundaries from absence of events.\n *\n * 3. **Accumulated snapshots.** Each {@link ContentBlockDeltaEvent} carries the\n * accumulated state of the content block so far. Aggregation logic lives in the\n * provider adapter, not the consumer. Consumers who need incremental deltas\n * track previous state and diff.\n *\n * 4. **Interleaving allowed.** Content blocks may interleave (e.g., parallel tool calls).\n * The only invariant: a block's start precedes its deltas, and its deltas precede\n * its finish. No ordering constraint between different blocks.\n *\n * 5. **Provider passthrough.** Native provider events that don't map to standard types\n * are forwarded as {@link ProviderEvent} rather than silently dropped.\n *\n * ## Lifecycle Contract\n *\n * ```\n * MessageStart\n * -> ContentBlockStart(index=0, ...)\n * -> ContentBlockStart(index=1, ...) // can start before 0 finishes\n * -> ContentBlockDelta(index=0, ...)\n * -> ContentBlockDelta(index=1, ...) // interleaved\n * -> ContentBlockFinish(index=0, ...) // blocks finish independently\n * -> ContentBlockDelta(index=1, ...)\n * -> ContentBlockFinish(index=1, ...)\n * -> UsageUpdate(...) // may appear at any point\n * -> MessageFinish(reason, usage?)\n * ```\n *\n * @module\n */\n\nimport type {\n ContentBlock,\n PartialContentBlock,\n} from \"../messages/content/index.js\";\nimport type { UsageMetadata } from \"../messages/metadata.js\";\n\n/**\n * Emitted once at the start of a model response.\n */\nexport interface MessageStartEvent {\n type: \"message-start\";\n /** Optional message ID assigned by the provider. */\n id?: string;\n /**\n * Initial usage snapshot, if the provider reports input token counts\n * before content begins streaming (e.g., Anthropic's `message_start`).\n */\n usage?: UsageMetadata;\n}\n\n/**\n * Finish reason for a model response.\n *\n * - `\"stop\"`: Natural end of generation.\n * - `\"length\"`: Hit max token limit.\n * - `\"tool_use\"`: Model is requesting tool execution.\n * - `\"content_filter\"`: Content was filtered by safety systems.\n */\nexport type FinishReason = \"stop\" | \"length\" | \"tool_use\" | \"content_filter\";\n\n/**\n * Emitted once when the model response is complete.\n */\nexport interface MessageFinishEvent {\n type: \"message-finish\";\n /** Why the model stopped generating. */\n reason: FinishReason;\n /** Final usage snapshot. */\n usage?: UsageMetadata;\n /** Provider-specific response metadata (model name, response ID, headers, etc.). */\n responseMetadata?: Record<string, unknown>;\n}\n\n/**\n * Emitted when a new content block begins streaming.\n *\n * @example\n * ```ts\n * // Text block starting\n * { type: \"content-block-start\", index: 0,\n * content: { type: \"text\", text: \"\" } }\n *\n * // Tool call starting\n * { type: \"content-block-start\", index: 1,\n * content: { type: \"tool_call\", id: \"call_1\", name: \"search\", args: \"\" } }\n *\n * // Reasoning starting\n * { type: \"content-block-start\", index: 2,\n * content: { type: \"reasoning\", reasoning: \"\" } }\n * ```\n */\nexport interface ContentBlockStartEvent {\n type: \"content-block-start\";\n /** Positional index of this block within the message. */\n index: number;\n /** Initial state of the content block. */\n content: ContentBlock;\n}\n\n/**\n * Emitted for each incremental update within a content block.\n *\n * Carries the **accumulated state** of the content block so far.\n * The content is deeply partial not all fields may be populated during\n * streaming (e.g., a tool call may have `name` but `args` is still being\n * streamed as a partial JSON string).\n *\n * Consumers who need incremental deltas (e.g., new tokens only) should\n * track the previous state and diff against the new accumulated state.\n *\n * Aggregation into `AIMessage` is trivial:\n * `message.content[event.index] = event.content`\n *\n * @example\n * ```ts\n * // First text delta — accumulated so far\n * { type: \"content-block-delta\", index: 0,\n * content: { type: \"text\", text: \"Hello\" } }\n *\n * // Second text delta — accumulated so far\n * { type: \"content-block-delta\", index: 0,\n * content: { type: \"text\", text: \"Hello world\" } }\n *\n * // Tool call args — accumulated so far\n * { type: \"content-block-delta\", index: 1,\n * content: { type: \"tool_call\", id: \"call_1\", name: \"search\", args: '{\"q\":\"wea' } }\n * ```\n */\nexport interface ContentBlockDeltaEvent {\n type: \"content-block-delta\";\n /** Positional index of the block being updated. */\n index: number;\n /** Accumulated state of the content block after this update. Deeply partial. */\n content: PartialContentBlock;\n}\n\n/**\n * Emitted when a content block is complete.\n *\n * The `content` carries the **finalized** block. For tool calls, this means\n * args have been parsed from a JSON string into an object.\n *\n * @example\n * ```ts\n * // Finalized text block\n * { type: \"content-block-finish\", index: 0,\n * content: { type: \"text\", text: \"The weather is sunny.\" } }\n *\n * // Finalized tool call (args parsed)\n * { type: \"content-block-finish\", index: 1,\n * content: { type: \"tool_call\", id: \"call_1\", name: \"search\",\n * args: { q: \"weather\" } } }\n * ```\n */\nexport interface ContentBlockFinishEvent {\n type: \"content-block-finish\";\n /** Positional index of the completed block. */\n index: number;\n /** Finalized content block. */\n content: ContentBlock;\n}\n\n/**\n * Emitted whenever the provider reports updated usage information.\n *\n * May appear at any point during streaming. Each event carries a\n * **running snapshot** of usage (not an additive delta), so consumers\n * can simply take the latest value.\n *\n * @example\n * ```ts\n * // After message_start (Anthropic: input tokens known)\n * { type: \"usage\", usage: { input_tokens: 1234, output_tokens: 0, total_tokens: 1234 } }\n *\n * // After streaming completes\n * { type: \"usage\", usage: { input_tokens: 1234, output_tokens: 567, total_tokens: 1801 } }\n * ```\n */\nexport interface UsageUpdateEvent {\n type: \"usage\";\n /** Current usage snapshot. */\n usage: UsageMetadata;\n}\n\n/**\n * Passthrough for native provider events that don't map to standard types.\n *\n * Provider adapters map recognized events to standard {@link ChatModelStreamEvent}\n * types and forward everything else as `ProviderEvent`. This ensures no information\n * is silently dropped.\n *\n * @example\n * ```ts\n * // OpenAI server-side web search in progress\n * { type: \"provider\", provider: \"openai\",\n * name: \"response.web_search_call.searching\",\n * payload: { item_id: \"ws_123\", output_index: 0 } }\n *\n * // Anthropic context management signal\n * { type: \"provider\", provider: \"anthropic\",\n * name: \"context_management\",\n * payload: { ... } }\n * ```\n */\nexport interface ProviderEvent {\n type: \"provider\";\n /** Provider identifier (e.g., `\"openai\"`, `\"anthropic\"`, `\"google\"`). */\n provider: string;\n /** Raw event type name from the provider SDK. */\n name: string;\n /** Raw event payload from the provider SDK. */\n payload: unknown;\n}\n\n/**\n * Emitted on unrecoverable stream errors.\n */\nexport interface StreamErrorEvent {\n type: \"error\";\n /** Human-readable error message. */\n message: string;\n /** Optional error code for programmatic handling. */\n code?: string;\n}\n\n/**\n * Union of all chat model stream event types.\n *\n * This is the type yielded by `ChatModelStream[Symbol.asyncIterator]()`.\n */\nexport type ChatModelStreamEvent =\n | MessageStartEvent\n | MessageFinishEvent\n | ContentBlockStartEvent\n | ContentBlockDeltaEvent\n | ContentBlockFinishEvent\n | UsageUpdateEvent\n | ProviderEvent\n | StreamErrorEvent;\n"],"mappings":""}
1
+ {"version":3,"file":"event.js","names":[],"sources":["../../src/language_models/event.ts"],"sourcesContent":["/**\n * Chat model streaming event protocol.\n *\n * Defines a content-block-centric event model for streaming chat model responses.\n * Events carry LangChain {@link ContentBlock} types on lifecycle boundaries\n * and explicit delta variants for incremental updates during streaming.\n *\n * ## Design Principles\n *\n * 1. **Content-block deltas have explicit merge semantics.** Text,\n * reasoning, and data deltas append to named fields. Generic block deltas\n * shallow-merge fields onto the active content block.\n *\n * 2. **Lifecycle completeness.** Every streamable entity has explicit start and finish\n * events. Consumers never need to infer boundaries from absence of events.\n *\n * 3. **Interleaving allowed.** Content blocks may interleave (e.g., parallel tool calls).\n * The only invariant: a block's start precedes its deltas, and its deltas precede\n * its finish. No ordering constraint between different blocks.\n *\n * 4. **Provider passthrough.** Native provider events that don't map to standard types\n * are forwarded as {@link ProviderEvent} rather than silently dropped.\n *\n * ## Lifecycle Contract\n *\n * ```\n * MessageStart\n * -> ContentBlockStart(index=0, content=...)\n * -> ContentBlockDelta(index=0, delta={ type: \"text-delta\", text: \"Hello\" })\n * -> ContentBlockDelta(index=0, delta={ type: \"text-delta\", text: \" world\" })\n * -> ContentBlockFinish(index=0, content=...)\n * -> UsageUpdate(...)\n * -> MessageFinish(reason, usage?)\n * ```\n *\n * @module\n */\n\nimport type { ContentBlock } from \"../messages/content/index.js\";\nimport type { UsageMetadata } from \"../messages/metadata.js\";\n\n// ─── Message Lifecycle ──────────────────────────────────────────\n\n/**\n * Emitted once at the start of a model response.\n */\nexport interface MessageStartEvent {\n event: \"message-start\";\n /** Optional message ID assigned by the provider. */\n id?: string;\n /**\n * Initial usage snapshot, if the provider reports input token counts\n * before content begins streaming (e.g., Anthropic's `message_start`).\n */\n usage?: Partial<UsageMetadata>;\n}\n\n/**\n * Finish reason for a model response.\n *\n * - `\"stop\"`: Natural end of generation.\n * - `\"length\"`: Hit max token limit.\n * - `\"tool_use\"`: Model is requesting tool execution.\n * - `\"content_filter\"`: Content was filtered by safety systems.\n */\nexport type FinishReason = \"stop\" | \"length\" | \"tool_use\" | \"content_filter\";\n\n/**\n * Emitted once when the model response is complete.\n */\nexport interface MessageFinishEvent {\n event: \"message-finish\";\n /** Why the model stopped generating. */\n reason?: FinishReason;\n /** Final usage snapshot. */\n usage?: Partial<UsageMetadata>;\n /** Provider-specific response metadata (model name, response ID, headers, etc.). */\n responseMetadata?: Record<string, unknown>;\n}\n\n// ─── Content Block Lifecycle ────────────────────────────────────\n// See https://github.com/langchain-ai/agent-protocol/blob/main/streaming/protocol.cddl\n\n/**\n * Emitted when a new content block begins streaming.\n *\n * @example\n * ```ts\n * { event: \"content-block-start\", index: 0,\n * content: { type: \"text\", text: \"\" } }\n * ```\n */\nexport interface ContentBlockStartEvent {\n event: \"content-block-start\";\n /** Positional index of this block within the message. */\n index: number;\n /** Initial state of the content block. */\n content: ContentBlock;\n}\n\n// ─── Content Block Deltas ───────────────────────────────────────\n\n/**\n * Incremental text content. Append `text` to the active block's `text` field.\n */\nexport interface TextDelta {\n type: \"text-delta\";\n /** The new text to append. */\n text: string;\n}\n\n/**\n * Incremental reasoning content. Append `reasoning` to the active block's\n * `reasoning` field.\n */\nexport interface ReasoningDelta {\n type: \"reasoning-delta\";\n /** The new reasoning text to append. */\n reasoning: string;\n}\n\n/**\n * Incremental encoded data. Append `data` to the active multimodal block's\n * data field.\n */\nexport interface DataDelta {\n type: \"data-delta\";\n /** Encoded data chunk to append. */\n data: string;\n /** Encoding for the data chunk. Defaults to `\"base64\"` when omitted. */\n encoding?: \"base64\";\n}\n\n/**\n * Generic content block field update. Shallow-merge `fields` onto the active\n * content block.\n */\nexport interface BlockDelta {\n type: \"block-delta\";\n /** Fields to shallow-merge onto the active content block. */\n fields: { type: string } & Record<string, unknown>;\n}\n\n/**\n * Union of all content block delta types.\n */\nexport type ContentBlockDelta =\n | TextDelta\n | ReasoningDelta\n | DataDelta\n | BlockDelta;\n\n/**\n * Emitted for each incremental update within a content block.\n *\n * The `delta` field carries the incremental content block update.\n * Accumulation rules:\n * - `text-delta` append `text` to the active block's text field\n * - `reasoning-delta` append `reasoning` to the active block's reasoning field\n * - `data-delta` → append `data` to the active block's data field\n * - `block-delta` shallow-merge `fields` onto the active block\n *\n * @example\n * ```ts\n * // Text token\n * { event: \"content-block-delta\", index: 0,\n * delta: { type: \"text-delta\", text: \" world\" } }\n *\n * // Tool call args snapshot\n * { event: \"content-block-delta\", index: 1,\n * delta: { type: \"block-delta\",\n * fields: { type: \"tool_call_chunk\", args: '{\"q\":\"wea' } } } }\n *\n * // Provider-specific field (e.g., signature)\n * { event: \"content-block-delta\", index: 0,\n * delta: { type: \"block-delta\",\n * fields: { type: \"reasoning\", signature: \"sig_abc\" } } }\n * ```\n */\nexport interface ContentBlockDeltaEvent {\n event: \"content-block-delta\";\n /** Positional index of the block being updated. */\n index: number;\n /** Incremental content block delta. */\n delta: ContentBlockDelta;\n}\n\n/**\n * Emitted when a content block is complete.\n *\n * @example\n * ```ts\n * { event: \"content-block-finish\", index: 0,\n * content: { type: \"text\", text: \"Hello world\" } }\n * ```\n */\nexport interface ContentBlockFinishEvent {\n event: \"content-block-finish\";\n /** Positional index of the completed block. */\n index: number;\n /** Finalized content block. */\n content: ContentBlock;\n}\n\n// ─── Usage ──────────────────────────────────────────────────────\n\n/**\n * Emitted whenever the provider reports updated usage information.\n * Each event carries a **running snapshot** (not an additive delta).\n */\nexport interface UsageUpdateEvent {\n event: \"usage\";\n /** Current usage snapshot. */\n usage: Partial<UsageMetadata>;\n}\n\n// ─── Provider Passthrough ───────────────────────────────────────\n\n/**\n * Passthrough for native provider events that don't map to standard types.\n */\nexport interface ProviderEvent {\n event: \"provider\";\n /** Provider identifier (e.g., `\"openai\"`, `\"anthropic\"`, `\"google\"`). */\n provider: string;\n /** Raw event type name from the provider SDK. */\n name: string;\n /** Raw event payload from the provider SDK. */\n payload: unknown;\n}\n\n// ─── Error ──────────────────────────────────────────────────────\n\n/**\n * Emitted on unrecoverable stream errors.\n */\nexport interface StreamErrorEvent {\n event: \"error\";\n /** Human-readable error message. */\n message: string;\n /** Optional error code for programmatic handling. */\n code?: string;\n}\n\n// ─── Union ──────────────────────────────────────────────────────\n\n/**\n * Union of all chat model stream event types.\n */\nexport type ChatModelStreamEvent =\n | MessageStartEvent\n | MessageFinishEvent\n | ContentBlockStartEvent\n | ContentBlockDeltaEvent\n | ContentBlockFinishEvent\n | UsageUpdateEvent\n | ProviderEvent\n | StreamErrorEvent;\n"],"mappings":""}
@@ -44,10 +44,14 @@ var BaseLLM = class BaseLLM extends require_language_models_base.BaseLanguageMod
44
44
  else {
45
45
  const prompt = BaseLLM._convertInputToPromptValue(input);
46
46
  const [runnableConfig, callOptions] = this._separateRunnableConfigFromCallOptionsCompat(options);
47
- const callbackManager_ = await require_callbacks_manager.CallbackManager.configure(runnableConfig.callbacks, this.callbacks, runnableConfig.tags, this.tags, runnableConfig.metadata, this.metadata, { verbose: this.verbose });
47
+ const invocationParams = this.invocationParams(callOptions);
48
+ const callbackManager_ = await require_callbacks_manager.CallbackManager.configure(runnableConfig.callbacks, this.callbacks, runnableConfig.tags, this.tags, runnableConfig.metadata, this.metadata, {
49
+ verbose: this.verbose,
50
+ tracerInheritableMetadata: this._filterInvocationParamsForTracing(invocationParams)
51
+ });
48
52
  const extra = {
49
53
  options: callOptions,
50
- invocation_params: this?.invocationParams(callOptions),
54
+ invocation_params: invocationParams,
51
55
  batch_size: 1
52
56
  };
53
57
  const runManagers = await callbackManager_?.handleLLMStart(this.toJSON(), [prompt.toString()], runnableConfig.runId, void 0, extra, void 0, void 0, runnableConfig.runName);
@@ -109,10 +113,14 @@ var BaseLLM = class BaseLLM extends require_language_models_base.BaseLanguageMod
109
113
  let runManagers;
110
114
  if (startedRunManagers !== void 0 && startedRunManagers.length === prompts.length) runManagers = startedRunManagers;
111
115
  else {
112
- const callbackManager_ = await require_callbacks_manager.CallbackManager.configure(handledOptions.callbacks, this.callbacks, handledOptions.tags, this.tags, handledOptions.metadata, this.metadata, { verbose: this.verbose });
116
+ const invocationParams = this.invocationParams(parsedOptions);
117
+ const callbackManager_ = await require_callbacks_manager.CallbackManager.configure(handledOptions.callbacks, this.callbacks, handledOptions.tags, this.tags, handledOptions.metadata, this.metadata, {
118
+ verbose: this.verbose,
119
+ tracerInheritableMetadata: this._filterInvocationParamsForTracing(invocationParams)
120
+ });
113
121
  const extra = {
114
122
  options: parsedOptions,
115
- invocation_params: this?.invocationParams(parsedOptions),
123
+ invocation_params: invocationParams,
116
124
  batch_size: prompts.length
117
125
  };
118
126
  runManagers = await callbackManager_?.handleLLMStart(this.toJSON(), prompts, handledOptions.runId, void 0, extra, void 0, void 0, handledOptions?.runName);
@@ -152,10 +160,14 @@ var BaseLLM = class BaseLLM extends require_language_models_base.BaseLanguageMod
152
160
  return output;
153
161
  }
154
162
  async _generateCached({ prompts, cache, llmStringKey, parsedOptions, handledOptions, runId }) {
155
- const callbackManager_ = await require_callbacks_manager.CallbackManager.configure(handledOptions.callbacks, this.callbacks, handledOptions.tags, this.tags, handledOptions.metadata, this.metadata, { verbose: this.verbose });
163
+ const invocationParams = this.invocationParams(parsedOptions);
164
+ const callbackManager_ = await require_callbacks_manager.CallbackManager.configure(handledOptions.callbacks, this.callbacks, handledOptions.tags, this.tags, handledOptions.metadata, this.metadata, {
165
+ verbose: this.verbose,
166
+ tracerInheritableMetadata: this._filterInvocationParamsForTracing(invocationParams)
167
+ });
156
168
  const extra = {
157
169
  options: parsedOptions,
158
- invocation_params: this?.invocationParams(parsedOptions),
170
+ invocation_params: invocationParams,
159
171
  batch_size: prompts.length
160
172
  };
161
173
  const runManagers = await callbackManager_?.handleLLMStart(this.toJSON(), prompts, runId, void 0, extra, void 0, void 0, handledOptions?.runName);