@langchain/core 1.1.4 → 1.1.5-dev-1765431816670

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 (706) hide show
  1. package/README.md +1 -1
  2. package/dist/agents.d.cts +0 -2
  3. package/dist/agents.d.cts.map +1 -0
  4. package/dist/agents.d.ts +0 -2
  5. package/dist/agents.d.ts.map +1 -0
  6. package/dist/caches/index.d.cts.map +1 -0
  7. package/dist/caches/index.d.ts.map +1 -0
  8. package/dist/callbacks/base.cjs +1 -1
  9. package/dist/callbacks/base.cjs.map +1 -1
  10. package/dist/callbacks/base.d.cts +22 -60
  11. package/dist/callbacks/base.d.cts.map +1 -0
  12. package/dist/callbacks/base.d.ts +22 -60
  13. package/dist/callbacks/base.d.ts.map +1 -0
  14. package/dist/callbacks/base.js +1 -1
  15. package/dist/callbacks/base.js.map +1 -1
  16. package/dist/callbacks/dispatch/index.d.cts +1 -3
  17. package/dist/callbacks/dispatch/index.d.cts.map +1 -0
  18. package/dist/callbacks/dispatch/index.d.ts +1 -3
  19. package/dist/callbacks/dispatch/index.d.ts.map +1 -0
  20. package/dist/callbacks/dispatch/web.d.cts +1 -3
  21. package/dist/callbacks/dispatch/web.d.cts.map +1 -0
  22. package/dist/callbacks/dispatch/web.d.ts +1 -3
  23. package/dist/callbacks/dispatch/web.d.ts.map +1 -0
  24. package/dist/callbacks/manager.cjs +6 -6
  25. package/dist/callbacks/manager.cjs.map +1 -1
  26. package/dist/callbacks/manager.d.cts +2 -12
  27. package/dist/callbacks/manager.d.cts.map +1 -0
  28. package/dist/callbacks/manager.d.ts +2 -12
  29. package/dist/callbacks/manager.d.ts.map +1 -0
  30. package/dist/callbacks/manager.js +7 -7
  31. package/dist/callbacks/manager.js.map +1 -1
  32. package/dist/chat_history.d.cts +0 -1
  33. package/dist/chat_history.d.cts.map +1 -0
  34. package/dist/chat_history.d.ts +0 -1
  35. package/dist/chat_history.d.ts.map +1 -0
  36. package/dist/context.d.cts.map +1 -0
  37. package/dist/context.d.ts.map +1 -0
  38. package/dist/document_loaders/base.d.cts.map +1 -0
  39. package/dist/document_loaders/base.d.ts.map +1 -0
  40. package/dist/document_loaders/langsmith.d.cts +0 -3
  41. package/dist/document_loaders/langsmith.d.cts.map +1 -0
  42. package/dist/document_loaders/langsmith.d.ts +0 -3
  43. package/dist/document_loaders/langsmith.d.ts.map +1 -0
  44. package/dist/documents/document.d.cts +3 -12
  45. package/dist/documents/document.d.cts.map +1 -0
  46. package/dist/documents/document.d.ts +3 -12
  47. package/dist/documents/document.d.ts.map +1 -0
  48. package/dist/documents/transformers.d.cts.map +1 -0
  49. package/dist/documents/transformers.d.ts.map +1 -0
  50. package/dist/embeddings.d.cts.map +1 -0
  51. package/dist/embeddings.d.ts.map +1 -0
  52. package/dist/example_selectors/base.d.cts.map +1 -0
  53. package/dist/example_selectors/base.d.ts.map +1 -0
  54. package/dist/example_selectors/conditional.d.cts.map +1 -0
  55. package/dist/example_selectors/conditional.d.ts.map +1 -0
  56. package/dist/example_selectors/length_based.d.cts +1 -1
  57. package/dist/example_selectors/length_based.d.cts.map +1 -0
  58. package/dist/example_selectors/length_based.d.ts +1 -1
  59. package/dist/example_selectors/length_based.d.ts.map +1 -0
  60. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -0
  61. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -0
  62. package/dist/indexing/base.d.cts +0 -1
  63. package/dist/indexing/base.d.cts.map +1 -0
  64. package/dist/indexing/base.d.ts +0 -1
  65. package/dist/indexing/base.d.ts.map +1 -0
  66. package/dist/indexing/record_manager.d.cts +0 -1
  67. package/dist/indexing/record_manager.d.cts.map +1 -0
  68. package/dist/indexing/record_manager.d.ts +0 -1
  69. package/dist/indexing/record_manager.d.ts.map +1 -0
  70. package/dist/language_models/base.d.cts +8 -38
  71. package/dist/language_models/base.d.cts.map +1 -0
  72. package/dist/language_models/base.d.ts +8 -38
  73. package/dist/language_models/base.d.ts.map +1 -0
  74. package/dist/language_models/chat_models.d.cts +6 -33
  75. package/dist/language_models/chat_models.d.cts.map +1 -0
  76. package/dist/language_models/chat_models.d.ts +6 -33
  77. package/dist/language_models/chat_models.d.ts.map +1 -0
  78. package/dist/language_models/llms.d.cts +0 -6
  79. package/dist/language_models/llms.d.cts.map +1 -0
  80. package/dist/language_models/llms.d.ts +0 -6
  81. package/dist/language_models/llms.d.ts.map +1 -0
  82. package/dist/language_models/profile.d.cts.map +1 -0
  83. package/dist/language_models/profile.d.ts.map +1 -0
  84. package/dist/load/import_type.d.cts +0 -1
  85. package/dist/load/import_type.d.cts.map +1 -0
  86. package/dist/load/import_type.d.ts +0 -1
  87. package/dist/load/import_type.d.ts.map +1 -0
  88. package/dist/load/index.d.cts.map +1 -0
  89. package/dist/load/index.d.ts.map +1 -0
  90. package/dist/load/map_keys.d.cts +0 -1
  91. package/dist/load/map_keys.d.cts.map +1 -0
  92. package/dist/load/map_keys.d.ts +0 -1
  93. package/dist/load/map_keys.d.ts.map +1 -0
  94. package/dist/load/serializable.d.cts +0 -1
  95. package/dist/load/serializable.d.cts.map +1 -0
  96. package/dist/load/serializable.d.ts +0 -1
  97. package/dist/load/serializable.d.ts.map +1 -0
  98. package/dist/memory.d.cts +0 -3
  99. package/dist/memory.d.cts.map +1 -0
  100. package/dist/memory.d.ts +0 -3
  101. package/dist/memory.d.ts.map +1 -0
  102. package/dist/messages/ai.d.cts.map +1 -0
  103. package/dist/messages/ai.d.ts.map +1 -0
  104. package/dist/messages/base.d.cts +1 -13
  105. package/dist/messages/base.d.cts.map +1 -0
  106. package/dist/messages/base.d.ts +1 -13
  107. package/dist/messages/base.d.ts.map +1 -0
  108. package/dist/messages/chat.d.cts.map +1 -0
  109. package/dist/messages/chat.d.ts.map +1 -0
  110. package/dist/messages/content/base.d.cts.map +1 -0
  111. package/dist/messages/content/base.d.ts.map +1 -0
  112. package/dist/messages/content/data.d.cts +2 -7
  113. package/dist/messages/content/data.d.cts.map +1 -0
  114. package/dist/messages/content/data.d.ts +2 -7
  115. package/dist/messages/content/data.d.ts.map +1 -0
  116. package/dist/messages/content/index.d.cts +1 -4
  117. package/dist/messages/content/index.d.cts.map +1 -0
  118. package/dist/messages/content/index.d.ts +1 -4
  119. package/dist/messages/content/index.d.ts.map +1 -0
  120. package/dist/messages/content/multimodal.d.cts +0 -1
  121. package/dist/messages/content/multimodal.d.cts.map +1 -0
  122. package/dist/messages/content/multimodal.d.ts +0 -1
  123. package/dist/messages/content/multimodal.d.ts.map +1 -0
  124. package/dist/messages/content/tools.d.cts +0 -1
  125. package/dist/messages/content/tools.d.cts.map +1 -0
  126. package/dist/messages/content/tools.d.ts +0 -1
  127. package/dist/messages/content/tools.d.ts.map +1 -0
  128. package/dist/messages/format.d.cts.map +1 -0
  129. package/dist/messages/format.d.ts.map +1 -0
  130. package/dist/messages/function.d.cts.map +1 -0
  131. package/dist/messages/function.d.ts.map +1 -0
  132. package/dist/messages/human.d.cts.map +1 -0
  133. package/dist/messages/human.d.ts.map +1 -0
  134. package/dist/messages/message.d.cts.map +1 -0
  135. package/dist/messages/message.d.ts.map +1 -0
  136. package/dist/messages/metadata.d.cts.map +1 -0
  137. package/dist/messages/metadata.d.ts.map +1 -0
  138. package/dist/messages/modifier.d.cts.map +1 -0
  139. package/dist/messages/modifier.d.ts.map +1 -0
  140. package/dist/messages/system.d.cts.map +1 -0
  141. package/dist/messages/system.d.ts.map +1 -0
  142. package/dist/messages/tool.d.cts +2 -9
  143. package/dist/messages/tool.d.cts.map +1 -0
  144. package/dist/messages/tool.d.ts +2 -9
  145. package/dist/messages/tool.d.ts.map +1 -0
  146. package/dist/messages/transformers.d.cts +0 -3
  147. package/dist/messages/transformers.d.cts.map +1 -0
  148. package/dist/messages/transformers.d.ts +0 -3
  149. package/dist/messages/transformers.d.ts.map +1 -0
  150. package/dist/messages/utils.d.cts +2 -5
  151. package/dist/messages/utils.d.cts.map +1 -0
  152. package/dist/messages/utils.d.ts +2 -5
  153. package/dist/messages/utils.d.ts.map +1 -0
  154. package/dist/output_parsers/base.d.cts.map +1 -0
  155. package/dist/output_parsers/base.d.ts.map +1 -0
  156. package/dist/output_parsers/bytes.d.cts.map +1 -0
  157. package/dist/output_parsers/bytes.d.ts.map +1 -0
  158. package/dist/output_parsers/json.d.cts +1 -5
  159. package/dist/output_parsers/json.d.cts.map +1 -0
  160. package/dist/output_parsers/json.d.ts +1 -5
  161. package/dist/output_parsers/json.d.ts.map +1 -0
  162. package/dist/output_parsers/list.d.cts.map +1 -0
  163. package/dist/output_parsers/list.d.ts.map +1 -0
  164. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +2 -6
  165. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -0
  166. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +2 -6
  167. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -0
  168. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +10 -34
  169. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -0
  170. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +10 -34
  171. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -0
  172. package/dist/output_parsers/string.d.cts.map +1 -0
  173. package/dist/output_parsers/string.d.ts.map +1 -0
  174. package/dist/output_parsers/structured.d.cts.map +1 -0
  175. package/dist/output_parsers/structured.d.ts.map +1 -0
  176. package/dist/output_parsers/transform.d.cts +0 -1
  177. package/dist/output_parsers/transform.d.cts.map +1 -0
  178. package/dist/output_parsers/transform.d.ts +0 -1
  179. package/dist/output_parsers/transform.d.ts.map +1 -0
  180. package/dist/output_parsers/xml.d.cts.map +1 -0
  181. package/dist/output_parsers/xml.d.ts.map +1 -0
  182. package/dist/outputs.d.cts +0 -6
  183. package/dist/outputs.d.cts.map +1 -0
  184. package/dist/outputs.d.ts +0 -6
  185. package/dist/outputs.d.ts.map +1 -0
  186. package/dist/prompt_values.d.cts.map +1 -0
  187. package/dist/prompt_values.d.ts.map +1 -0
  188. package/dist/prompts/base.d.cts +2 -10
  189. package/dist/prompts/base.d.cts.map +1 -0
  190. package/dist/prompts/base.d.ts +2 -10
  191. package/dist/prompts/base.d.ts.map +1 -0
  192. package/dist/prompts/chat.d.cts +13 -51
  193. package/dist/prompts/chat.d.cts.map +1 -0
  194. package/dist/prompts/chat.d.ts +13 -51
  195. package/dist/prompts/chat.d.ts.map +1 -0
  196. package/dist/prompts/dict.d.cts.map +1 -0
  197. package/dist/prompts/dict.d.ts.map +1 -0
  198. package/dist/prompts/few_shot.d.cts +1 -5
  199. package/dist/prompts/few_shot.d.cts.map +1 -0
  200. package/dist/prompts/few_shot.d.ts +1 -5
  201. package/dist/prompts/few_shot.d.ts.map +1 -0
  202. package/dist/prompts/image.d.cts +2 -10
  203. package/dist/prompts/image.d.cts.map +1 -0
  204. package/dist/prompts/image.d.ts +2 -10
  205. package/dist/prompts/image.d.ts.map +1 -0
  206. package/dist/prompts/pipeline.d.cts.map +1 -0
  207. package/dist/prompts/pipeline.d.ts.map +1 -0
  208. package/dist/prompts/prompt.d.cts +4 -15
  209. package/dist/prompts/prompt.d.cts.map +1 -0
  210. package/dist/prompts/prompt.d.ts +4 -16
  211. package/dist/prompts/prompt.d.ts.map +1 -0
  212. package/dist/prompts/serde.d.cts +0 -1
  213. package/dist/prompts/serde.d.cts.map +1 -0
  214. package/dist/prompts/serde.d.ts +0 -1
  215. package/dist/prompts/serde.d.ts.map +1 -0
  216. package/dist/prompts/string.d.cts +1 -5
  217. package/dist/prompts/string.d.cts.map +1 -0
  218. package/dist/prompts/string.d.ts +1 -5
  219. package/dist/prompts/string.d.ts.map +1 -0
  220. package/dist/prompts/structured.d.cts +3 -16
  221. package/dist/prompts/structured.d.cts.map +1 -0
  222. package/dist/prompts/structured.d.ts +3 -16
  223. package/dist/prompts/structured.d.ts.map +1 -0
  224. package/dist/prompts/template.d.cts.map +1 -0
  225. package/dist/prompts/template.d.ts.map +1 -0
  226. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  227. package/dist/retrievers/document_compressors/index.d.cts.map +1 -0
  228. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  229. package/dist/retrievers/document_compressors/index.d.ts.map +1 -0
  230. package/dist/retrievers/index.d.cts +2 -6
  231. package/dist/retrievers/index.d.cts.map +1 -0
  232. package/dist/retrievers/index.d.ts +2 -6
  233. package/dist/retrievers/index.d.ts.map +1 -0
  234. package/dist/runnables/base.d.cts +12 -64
  235. package/dist/runnables/base.d.cts.map +1 -0
  236. package/dist/runnables/base.d.ts +12 -64
  237. package/dist/runnables/base.d.ts.map +1 -0
  238. package/dist/runnables/branch.d.cts +0 -2
  239. package/dist/runnables/branch.d.cts.map +1 -0
  240. package/dist/runnables/branch.d.ts +0 -2
  241. package/dist/runnables/branch.d.ts.map +1 -0
  242. package/dist/runnables/config.cjs +15 -1
  243. package/dist/runnables/config.cjs.map +1 -1
  244. package/dist/runnables/config.d.cts +0 -1
  245. package/dist/runnables/config.d.cts.map +1 -0
  246. package/dist/runnables/config.d.ts +0 -1
  247. package/dist/runnables/config.d.ts.map +1 -0
  248. package/dist/runnables/config.js +15 -1
  249. package/dist/runnables/config.js.map +1 -1
  250. package/dist/runnables/graph.d.cts +1 -5
  251. package/dist/runnables/graph.d.cts.map +1 -0
  252. package/dist/runnables/graph.d.ts +1 -5
  253. package/dist/runnables/graph.d.ts.map +1 -0
  254. package/dist/runnables/history.d.cts +4 -12
  255. package/dist/runnables/history.d.cts.map +1 -0
  256. package/dist/runnables/history.d.ts +4 -12
  257. package/dist/runnables/history.d.ts.map +1 -0
  258. package/dist/runnables/passthrough.d.cts +0 -2
  259. package/dist/runnables/passthrough.d.cts.map +1 -0
  260. package/dist/runnables/passthrough.d.ts +0 -2
  261. package/dist/runnables/passthrough.d.ts.map +1 -0
  262. package/dist/runnables/router.d.cts +0 -1
  263. package/dist/runnables/router.d.cts.map +1 -0
  264. package/dist/runnables/router.d.ts +0 -1
  265. package/dist/runnables/router.d.ts.map +1 -0
  266. package/dist/runnables/types.d.cts +2 -9
  267. package/dist/runnables/types.d.cts.map +1 -0
  268. package/dist/runnables/types.d.ts +2 -9
  269. package/dist/runnables/types.d.ts.map +1 -0
  270. package/dist/singletons/async_local_storage/context.d.cts +0 -2
  271. package/dist/singletons/async_local_storage/context.d.cts.map +1 -0
  272. package/dist/singletons/async_local_storage/context.d.ts +0 -2
  273. package/dist/singletons/async_local_storage/context.d.ts.map +1 -0
  274. package/dist/singletons/async_local_storage/globals.d.cts +0 -1
  275. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -0
  276. package/dist/singletons/async_local_storage/globals.d.ts +0 -1
  277. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -0
  278. package/dist/singletons/async_local_storage/index.d.cts.map +1 -0
  279. package/dist/singletons/async_local_storage/index.d.ts.map +1 -0
  280. package/dist/singletons/callbacks.d.cts.map +1 -0
  281. package/dist/singletons/callbacks.d.ts.map +1 -0
  282. package/dist/stores.d.cts +0 -1
  283. package/dist/stores.d.cts.map +1 -0
  284. package/dist/stores.d.ts +0 -1
  285. package/dist/stores.d.ts.map +1 -0
  286. package/dist/structured_query/base.d.cts.map +1 -0
  287. package/dist/structured_query/base.d.ts.map +1 -0
  288. package/dist/structured_query/functional.d.cts.map +1 -0
  289. package/dist/structured_query/functional.d.ts.map +1 -0
  290. package/dist/structured_query/ir.d.cts.map +1 -0
  291. package/dist/structured_query/ir.d.ts.map +1 -0
  292. package/dist/structured_query/utils.d.cts +1 -4
  293. package/dist/structured_query/utils.d.cts.map +1 -0
  294. package/dist/structured_query/utils.d.ts +1 -4
  295. package/dist/structured_query/utils.d.ts.map +1 -0
  296. package/dist/tools/index.d.cts +1 -6
  297. package/dist/tools/index.d.cts.map +1 -0
  298. package/dist/tools/index.d.ts +1 -6
  299. package/dist/tools/index.d.ts.map +1 -0
  300. package/dist/tools/types.d.cts +3 -13
  301. package/dist/tools/types.d.cts.map +1 -0
  302. package/dist/tools/types.d.ts +3 -13
  303. package/dist/tools/types.d.ts.map +1 -0
  304. package/dist/tools/utils.d.cts.map +1 -0
  305. package/dist/tools/utils.d.ts.map +1 -0
  306. package/dist/tracers/base.d.cts +1 -20
  307. package/dist/tracers/base.d.cts.map +1 -0
  308. package/dist/tracers/base.d.ts +1 -20
  309. package/dist/tracers/base.d.ts.map +1 -0
  310. package/dist/tracers/console.d.cts +0 -2
  311. package/dist/tracers/console.d.cts.map +1 -0
  312. package/dist/tracers/console.d.ts +0 -2
  313. package/dist/tracers/console.d.ts.map +1 -0
  314. package/dist/tracers/event_stream.d.cts +0 -4
  315. package/dist/tracers/event_stream.d.cts.map +1 -0
  316. package/dist/tracers/event_stream.d.ts +0 -4
  317. package/dist/tracers/event_stream.d.ts.map +1 -0
  318. package/dist/tracers/log_stream.d.cts +0 -6
  319. package/dist/tracers/log_stream.d.cts.map +1 -0
  320. package/dist/tracers/log_stream.d.ts +0 -6
  321. package/dist/tracers/log_stream.d.ts.map +1 -0
  322. package/dist/tracers/run_collector.d.cts.map +1 -0
  323. package/dist/tracers/run_collector.d.ts.map +1 -0
  324. package/dist/tracers/tracer_langchain.d.cts.map +1 -0
  325. package/dist/tracers/tracer_langchain.d.ts.map +1 -0
  326. package/dist/types/_internal.d.cts +0 -3
  327. package/dist/types/_internal.d.cts.map +1 -0
  328. package/dist/types/_internal.d.ts +0 -3
  329. package/dist/types/_internal.d.ts.map +1 -0
  330. package/dist/types/type-utils.d.cts +0 -2
  331. package/dist/types/type-utils.d.cts.map +1 -0
  332. package/dist/types/type-utils.d.ts +0 -2
  333. package/dist/types/type-utils.d.ts.map +1 -0
  334. package/dist/utils/async_caller.d.cts +0 -3
  335. package/dist/utils/async_caller.d.cts.map +1 -0
  336. package/dist/utils/async_caller.d.ts +0 -3
  337. package/dist/utils/async_caller.d.ts.map +1 -0
  338. package/dist/utils/chunk_array.d.cts.map +1 -0
  339. package/dist/utils/chunk_array.d.ts.map +1 -0
  340. package/dist/utils/env.d.cts +0 -4
  341. package/dist/utils/env.d.cts.map +1 -0
  342. package/dist/utils/env.d.ts +0 -4
  343. package/dist/utils/env.d.ts.map +1 -0
  344. package/dist/utils/event_source_parse.d.cts +1 -4
  345. package/dist/utils/event_source_parse.d.cts.map +1 -0
  346. package/dist/utils/event_source_parse.d.ts +1 -4
  347. package/dist/utils/event_source_parse.d.ts.map +1 -0
  348. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -0
  349. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -0
  350. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -0
  351. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -0
  352. package/dist/utils/format.d.cts.map +1 -0
  353. package/dist/utils/format.d.ts.map +1 -0
  354. package/dist/utils/function_calling.d.cts +1 -3
  355. package/dist/utils/function_calling.d.cts.map +1 -0
  356. package/dist/utils/function_calling.d.ts +1 -3
  357. package/dist/utils/function_calling.d.ts.map +1 -0
  358. package/dist/utils/hash.d.cts.map +1 -0
  359. package/dist/utils/hash.d.ts.map +1 -0
  360. package/dist/utils/js-sha256/hash.d.cts.map +1 -0
  361. package/dist/utils/js-sha256/hash.d.ts.map +1 -0
  362. package/dist/utils/json.d.cts +0 -1
  363. package/dist/utils/json.d.cts.map +1 -0
  364. package/dist/utils/json.d.ts +0 -1
  365. package/dist/utils/json.d.ts.map +1 -0
  366. package/dist/utils/json_schema.d.cts.map +1 -0
  367. package/dist/utils/json_schema.d.ts.map +1 -0
  368. package/dist/utils/math.d.cts.map +1 -0
  369. package/dist/utils/math.d.ts.map +1 -0
  370. package/dist/utils/ml-distance/similarities.d.cts.map +1 -0
  371. package/dist/utils/ml-distance/similarities.d.ts.map +1 -0
  372. package/dist/utils/signal.d.cts.map +1 -0
  373. package/dist/utils/signal.d.ts.map +1 -0
  374. package/dist/utils/stream.d.cts +1 -13
  375. package/dist/utils/stream.d.cts.map +1 -0
  376. package/dist/utils/stream.d.ts +1 -13
  377. package/dist/utils/stream.d.ts.map +1 -0
  378. package/dist/utils/testing/chat_models.cjs +11 -5
  379. package/dist/utils/testing/chat_models.cjs.map +1 -1
  380. package/dist/utils/testing/chat_models.d.cts +11 -12
  381. package/dist/utils/testing/chat_models.d.cts.map +1 -0
  382. package/dist/utils/testing/chat_models.d.ts +11 -12
  383. package/dist/utils/testing/chat_models.d.ts.map +1 -0
  384. package/dist/utils/testing/chat_models.js +11 -5
  385. package/dist/utils/testing/chat_models.js.map +1 -1
  386. package/dist/utils/testing/embeddings.d.cts.map +1 -0
  387. package/dist/utils/testing/embeddings.d.ts.map +1 -0
  388. package/dist/utils/testing/llms.d.cts.map +1 -0
  389. package/dist/utils/testing/llms.d.ts.map +1 -0
  390. package/dist/utils/testing/message_history.d.cts.map +1 -0
  391. package/dist/utils/testing/message_history.d.ts.map +1 -0
  392. package/dist/utils/testing/output_parsers.d.cts.map +1 -0
  393. package/dist/utils/testing/output_parsers.d.ts.map +1 -0
  394. package/dist/utils/testing/retrievers.d.cts +1 -3
  395. package/dist/utils/testing/retrievers.d.cts.map +1 -0
  396. package/dist/utils/testing/retrievers.d.ts +1 -3
  397. package/dist/utils/testing/retrievers.d.ts.map +1 -0
  398. package/dist/utils/testing/runnables.d.cts.map +1 -0
  399. package/dist/utils/testing/runnables.d.ts.map +1 -0
  400. package/dist/utils/testing/tools.d.cts.map +1 -0
  401. package/dist/utils/testing/tools.d.ts.map +1 -0
  402. package/dist/utils/testing/tracers.d.cts.map +1 -0
  403. package/dist/utils/testing/tracers.d.ts.map +1 -0
  404. package/dist/utils/testing/vectorstores.d.cts +0 -1
  405. package/dist/utils/testing/vectorstores.d.cts.map +1 -0
  406. package/dist/utils/testing/vectorstores.d.ts +0 -1
  407. package/dist/utils/testing/vectorstores.d.ts.map +1 -0
  408. package/dist/utils/tiktoken.d.cts.map +1 -0
  409. package/dist/utils/tiktoken.d.ts.map +1 -0
  410. package/dist/utils/types/index.d.cts +0 -2
  411. package/dist/utils/types/index.d.cts.map +1 -0
  412. package/dist/utils/types/index.d.ts +0 -2
  413. package/dist/utils/types/index.d.ts.map +1 -0
  414. package/dist/utils/types/zod.d.cts +0 -3
  415. package/dist/utils/types/zod.d.cts.map +1 -0
  416. package/dist/utils/types/zod.d.ts +0 -3
  417. package/dist/utils/types/zod.d.ts.map +1 -0
  418. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -0
  419. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -0
  420. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -0
  421. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -0
  422. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -0
  423. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -0
  424. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -0
  425. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -0
  426. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -0
  427. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -0
  428. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -0
  429. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -0
  430. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -0
  431. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -0
  432. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -0
  433. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -0
  434. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -0
  435. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -0
  436. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -0
  437. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -0
  438. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -0
  439. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -0
  440. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -0
  441. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -0
  442. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -0
  443. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -0
  444. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -0
  445. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -0
  446. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -0
  447. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -0
  448. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -0
  449. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -0
  450. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -0
  451. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -0
  452. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -0
  453. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -0
  454. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -0
  455. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -0
  456. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -0
  457. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -0
  458. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -0
  459. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -0
  460. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -0
  461. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -0
  462. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -0
  463. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -0
  464. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -0
  465. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -0
  466. package/dist/vectorstores.d.cts +5 -17
  467. package/dist/vectorstores.d.cts.map +1 -0
  468. package/dist/vectorstores.d.ts +5 -17
  469. package/dist/vectorstores.d.ts.map +1 -0
  470. package/package.json +6 -5
  471. package/agents.cjs +0 -1
  472. package/agents.d.cts +0 -1
  473. package/agents.d.ts +0 -1
  474. package/agents.js +0 -1
  475. package/caches.cjs +0 -1
  476. package/caches.d.cts +0 -1
  477. package/caches.d.ts +0 -1
  478. package/caches.js +0 -1
  479. package/callbacks/base.cjs +0 -1
  480. package/callbacks/base.d.cts +0 -1
  481. package/callbacks/base.d.ts +0 -1
  482. package/callbacks/base.js +0 -1
  483. package/callbacks/dispatch/web.cjs +0 -1
  484. package/callbacks/dispatch/web.d.cts +0 -1
  485. package/callbacks/dispatch/web.d.ts +0 -1
  486. package/callbacks/dispatch/web.js +0 -1
  487. package/callbacks/dispatch.cjs +0 -1
  488. package/callbacks/dispatch.d.cts +0 -1
  489. package/callbacks/dispatch.d.ts +0 -1
  490. package/callbacks/dispatch.js +0 -1
  491. package/callbacks/manager.cjs +0 -1
  492. package/callbacks/manager.d.cts +0 -1
  493. package/callbacks/manager.d.ts +0 -1
  494. package/callbacks/manager.js +0 -1
  495. package/callbacks/promises.cjs +0 -1
  496. package/callbacks/promises.d.cts +0 -1
  497. package/callbacks/promises.d.ts +0 -1
  498. package/callbacks/promises.js +0 -1
  499. package/chat_history.cjs +0 -1
  500. package/chat_history.d.cts +0 -1
  501. package/chat_history.d.ts +0 -1
  502. package/chat_history.js +0 -1
  503. package/context.cjs +0 -1
  504. package/context.d.cts +0 -1
  505. package/context.d.ts +0 -1
  506. package/context.js +0 -1
  507. package/document_loaders/base.cjs +0 -1
  508. package/document_loaders/base.d.cts +0 -1
  509. package/document_loaders/base.d.ts +0 -1
  510. package/document_loaders/base.js +0 -1
  511. package/document_loaders/langsmith.cjs +0 -1
  512. package/document_loaders/langsmith.d.cts +0 -1
  513. package/document_loaders/langsmith.d.ts +0 -1
  514. package/document_loaders/langsmith.js +0 -1
  515. package/documents.cjs +0 -1
  516. package/documents.d.cts +0 -1
  517. package/documents.d.ts +0 -1
  518. package/documents.js +0 -1
  519. package/embeddings.cjs +0 -1
  520. package/embeddings.d.cts +0 -1
  521. package/embeddings.d.ts +0 -1
  522. package/embeddings.js +0 -1
  523. package/example_selectors.cjs +0 -1
  524. package/example_selectors.d.cts +0 -1
  525. package/example_selectors.d.ts +0 -1
  526. package/example_selectors.js +0 -1
  527. package/indexing.cjs +0 -1
  528. package/indexing.d.cts +0 -1
  529. package/indexing.d.ts +0 -1
  530. package/indexing.js +0 -1
  531. package/language_models/base.cjs +0 -1
  532. package/language_models/base.d.cts +0 -1
  533. package/language_models/base.d.ts +0 -1
  534. package/language_models/base.js +0 -1
  535. package/language_models/chat_models.cjs +0 -1
  536. package/language_models/chat_models.d.cts +0 -1
  537. package/language_models/chat_models.d.ts +0 -1
  538. package/language_models/chat_models.js +0 -1
  539. package/language_models/llms.cjs +0 -1
  540. package/language_models/llms.d.cts +0 -1
  541. package/language_models/llms.d.ts +0 -1
  542. package/language_models/llms.js +0 -1
  543. package/language_models/profile.cjs +0 -1
  544. package/language_models/profile.d.cts +0 -1
  545. package/language_models/profile.d.ts +0 -1
  546. package/language_models/profile.js +0 -1
  547. package/load/serializable.cjs +0 -1
  548. package/load/serializable.d.cts +0 -1
  549. package/load/serializable.d.ts +0 -1
  550. package/load/serializable.js +0 -1
  551. package/load.cjs +0 -1
  552. package/load.d.cts +0 -1
  553. package/load.d.ts +0 -1
  554. package/load.js +0 -1
  555. package/memory.cjs +0 -1
  556. package/memory.d.cts +0 -1
  557. package/memory.d.ts +0 -1
  558. package/memory.js +0 -1
  559. package/messages/tool.cjs +0 -1
  560. package/messages/tool.d.cts +0 -1
  561. package/messages/tool.d.ts +0 -1
  562. package/messages/tool.js +0 -1
  563. package/messages.cjs +0 -1
  564. package/messages.d.cts +0 -1
  565. package/messages.d.ts +0 -1
  566. package/messages.js +0 -1
  567. package/output_parsers/openai_functions.cjs +0 -1
  568. package/output_parsers/openai_functions.d.cts +0 -1
  569. package/output_parsers/openai_functions.d.ts +0 -1
  570. package/output_parsers/openai_functions.js +0 -1
  571. package/output_parsers/openai_tools.cjs +0 -1
  572. package/output_parsers/openai_tools.d.cts +0 -1
  573. package/output_parsers/openai_tools.d.ts +0 -1
  574. package/output_parsers/openai_tools.js +0 -1
  575. package/output_parsers.cjs +0 -1
  576. package/output_parsers.d.cts +0 -1
  577. package/output_parsers.d.ts +0 -1
  578. package/output_parsers.js +0 -1
  579. package/outputs.cjs +0 -1
  580. package/outputs.d.cts +0 -1
  581. package/outputs.d.ts +0 -1
  582. package/outputs.js +0 -1
  583. package/prompt_values.cjs +0 -1
  584. package/prompt_values.d.cts +0 -1
  585. package/prompt_values.d.ts +0 -1
  586. package/prompt_values.js +0 -1
  587. package/prompts.cjs +0 -1
  588. package/prompts.d.cts +0 -1
  589. package/prompts.d.ts +0 -1
  590. package/prompts.js +0 -1
  591. package/retrievers/document_compressors.cjs +0 -1
  592. package/retrievers/document_compressors.d.cts +0 -1
  593. package/retrievers/document_compressors.d.ts +0 -1
  594. package/retrievers/document_compressors.js +0 -1
  595. package/retrievers.cjs +0 -1
  596. package/retrievers.d.cts +0 -1
  597. package/retrievers.d.ts +0 -1
  598. package/retrievers.js +0 -1
  599. package/runnables/graph.cjs +0 -1
  600. package/runnables/graph.d.cts +0 -1
  601. package/runnables/graph.d.ts +0 -1
  602. package/runnables/graph.js +0 -1
  603. package/runnables.cjs +0 -1
  604. package/runnables.d.cts +0 -1
  605. package/runnables.d.ts +0 -1
  606. package/runnables.js +0 -1
  607. package/singletons.cjs +0 -1
  608. package/singletons.d.cts +0 -1
  609. package/singletons.d.ts +0 -1
  610. package/singletons.js +0 -1
  611. package/stores.cjs +0 -1
  612. package/stores.d.cts +0 -1
  613. package/stores.d.ts +0 -1
  614. package/stores.js +0 -1
  615. package/structured_query.cjs +0 -1
  616. package/structured_query.d.cts +0 -1
  617. package/structured_query.d.ts +0 -1
  618. package/structured_query.js +0 -1
  619. package/tools.cjs +0 -1
  620. package/tools.d.cts +0 -1
  621. package/tools.d.ts +0 -1
  622. package/tools.js +0 -1
  623. package/tracers/base.cjs +0 -1
  624. package/tracers/base.d.cts +0 -1
  625. package/tracers/base.d.ts +0 -1
  626. package/tracers/base.js +0 -1
  627. package/tracers/console.cjs +0 -1
  628. package/tracers/console.d.cts +0 -1
  629. package/tracers/console.d.ts +0 -1
  630. package/tracers/console.js +0 -1
  631. package/tracers/log_stream.cjs +0 -1
  632. package/tracers/log_stream.d.cts +0 -1
  633. package/tracers/log_stream.d.ts +0 -1
  634. package/tracers/log_stream.js +0 -1
  635. package/tracers/run_collector.cjs +0 -1
  636. package/tracers/run_collector.d.cts +0 -1
  637. package/tracers/run_collector.d.ts +0 -1
  638. package/tracers/run_collector.js +0 -1
  639. package/tracers/tracer_langchain.cjs +0 -1
  640. package/tracers/tracer_langchain.d.cts +0 -1
  641. package/tracers/tracer_langchain.d.ts +0 -1
  642. package/tracers/tracer_langchain.js +0 -1
  643. package/types/stream.cjs +0 -1
  644. package/types/stream.d.cts +0 -1
  645. package/types/stream.d.ts +0 -1
  646. package/types/stream.js +0 -1
  647. package/utils/async_caller.cjs +0 -1
  648. package/utils/async_caller.d.cts +0 -1
  649. package/utils/async_caller.d.ts +0 -1
  650. package/utils/async_caller.js +0 -1
  651. package/utils/chunk_array.cjs +0 -1
  652. package/utils/chunk_array.d.cts +0 -1
  653. package/utils/chunk_array.d.ts +0 -1
  654. package/utils/chunk_array.js +0 -1
  655. package/utils/env.cjs +0 -1
  656. package/utils/env.d.cts +0 -1
  657. package/utils/env.d.ts +0 -1
  658. package/utils/env.js +0 -1
  659. package/utils/event_source_parse.cjs +0 -1
  660. package/utils/event_source_parse.d.cts +0 -1
  661. package/utils/event_source_parse.d.ts +0 -1
  662. package/utils/event_source_parse.js +0 -1
  663. package/utils/format.cjs +0 -1
  664. package/utils/format.d.cts +0 -1
  665. package/utils/format.d.ts +0 -1
  666. package/utils/format.js +0 -1
  667. package/utils/function_calling.cjs +0 -1
  668. package/utils/function_calling.d.cts +0 -1
  669. package/utils/function_calling.d.ts +0 -1
  670. package/utils/function_calling.js +0 -1
  671. package/utils/hash.cjs +0 -1
  672. package/utils/hash.d.cts +0 -1
  673. package/utils/hash.d.ts +0 -1
  674. package/utils/hash.js +0 -1
  675. package/utils/json_patch.cjs +0 -1
  676. package/utils/json_patch.d.cts +0 -1
  677. package/utils/json_patch.d.ts +0 -1
  678. package/utils/json_patch.js +0 -1
  679. package/utils/json_schema.cjs +0 -1
  680. package/utils/json_schema.d.cts +0 -1
  681. package/utils/json_schema.d.ts +0 -1
  682. package/utils/json_schema.js +0 -1
  683. package/utils/math.cjs +0 -1
  684. package/utils/math.d.cts +0 -1
  685. package/utils/math.d.ts +0 -1
  686. package/utils/math.js +0 -1
  687. package/utils/stream.cjs +0 -1
  688. package/utils/stream.d.cts +0 -1
  689. package/utils/stream.d.ts +0 -1
  690. package/utils/stream.js +0 -1
  691. package/utils/testing.cjs +0 -1
  692. package/utils/testing.d.cts +0 -1
  693. package/utils/testing.d.ts +0 -1
  694. package/utils/testing.js +0 -1
  695. package/utils/tiktoken.cjs +0 -1
  696. package/utils/tiktoken.d.cts +0 -1
  697. package/utils/tiktoken.d.ts +0 -1
  698. package/utils/tiktoken.js +0 -1
  699. package/utils/types.cjs +0 -1
  700. package/utils/types.d.cts +0 -1
  701. package/utils/types.d.ts +0 -1
  702. package/utils/types.js +0 -1
  703. package/vectorstores.cjs +0 -1
  704. package/vectorstores.d.cts +0 -1
  705. package/vectorstores.d.ts +0 -1
  706. package/vectorstores.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch.d.ts","names":["Runnable","RunnableLike","RunnableConfig","CallbackManagerForChainRun","Branch","RunInput","RunOutput","BranchLike","RunnableBranch","Partial","Promise","Awaited","AsyncGenerator"],"sources":["../../src/runnables/branch.d.ts"],"sourcesContent":["import { Runnable, RunnableLike } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\nimport { CallbackManagerForChainRun } from \"../callbacks/manager.js\";\n/**\n * Type for a branch in the RunnableBranch. It consists of a condition\n * runnable and a branch runnable. The condition runnable is used to\n * determine whether the branch should be executed, and the branch runnable\n * is executed if the condition is true.\n */\nexport type Branch<RunInput, RunOutput> = [\n Runnable<RunInput, boolean>,\n Runnable<RunInput, RunOutput>\n];\nexport type BranchLike<RunInput, RunOutput> = [\n RunnableLike<RunInput, boolean>,\n RunnableLike<RunInput, RunOutput>\n];\n/**\n * Class that represents a runnable branch. The RunnableBranch is\n * initialized with an array of branches and a default branch. When invoked,\n * it evaluates the condition of each branch in order and executes the\n * corresponding branch if the condition is true. If none of the conditions\n * are true, it executes the default branch.\n * @example\n * ```typescript\n * const branch = RunnableBranch.from([\n * [\n * (x: { topic: string; question: string }) =>\n * x.topic.toLowerCase().includes(\"anthropic\"),\n * anthropicChain,\n * ],\n * [\n * (x: { topic: string; question: string }) =>\n * x.topic.toLowerCase().includes(\"langchain\"),\n * langChainChain,\n * ],\n * generalChain,\n * ]);\n *\n * const fullChain = RunnableSequence.from([\n * {\n * topic: classificationChain,\n * question: (input: { question: string }) => input.question,\n * },\n * branch,\n * ]);\n *\n * const result = await fullChain.invoke({\n * question: \"how do I use LangChain?\",\n * });\n * ```\n */\nexport declare class RunnableBranch<RunInput = any, RunOutput = any> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n default: Runnable<RunInput, RunOutput>;\n branches: Branch<RunInput, RunOutput>[];\n constructor(fields: {\n branches: Branch<RunInput, RunOutput>[];\n default: Runnable<RunInput, RunOutput>;\n });\n /**\n * Convenience method for instantiating a RunnableBranch from\n * RunnableLikes (objects, functions, or Runnables).\n *\n * Each item in the input except for the last one should be a\n * tuple with two items. The first is a \"condition\" RunnableLike that\n * returns \"true\" if the second RunnableLike in the tuple should run.\n *\n * The final item in the input should be a RunnableLike that acts as a\n * default branch if no other branches match.\n *\n * @example\n * ```ts\n * import { RunnableBranch } from \"@langchain/core/runnables\";\n *\n * const branch = RunnableBranch.from([\n * [(x: number) => x > 0, (x: number) => x + 1],\n * [(x: number) => x < 0, (x: number) => x - 1],\n * (x: number) => x\n * ]);\n * ```\n * @param branches An array where the every item except the last is a tuple of [condition, runnable]\n * pairs. The last item is a default runnable which is invoked if no other condition matches.\n * @returns A new RunnableBranch.\n */\n static from<RunInput = any, RunOutput = any>(branches: [\n ...BranchLike<RunInput, RunOutput>[],\n RunnableLike<RunInput, RunOutput>\n ]): RunnableBranch<RunInput, RunOutput>;\n _invoke(input: RunInput, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<RunOutput>;\n invoke(input: RunInput, config?: RunnableConfig): Promise<RunOutput>;\n _streamIterator(input: RunInput, config?: Partial<RunnableConfig>): AsyncGenerator<Awaited<RunOutput>, void, unknown>;\n}\n//# sourceMappingURL=branch.d.ts.map"],"mappings":";;;;;;;;;;AASA;;;AAEaK,KAFDD,MAECC,CAAAA,QAAAA,EAAAA,SAAAA,CAAAA,GAAAA,CADTL,QACmBM,CADVD,QACUC,EAAAA,OAAAA,CAAAA,EAAnBN,QAAAA,CAASK,QAATL,EAAmBM,SAAnBN,CAAAA,CAAQ;AAEAO,KAAAA,UAAU,CAAA,QAAAF,EAAAA,SAAAC,CAAAA,GAAAA,CAClBL,YAAaI,CAAAA,QAAAA,EAAAA,OAAAA,CAAAA,EACbJ,YADAA,CACaI,QADbJ,EACuBK,SADvBL,CAAAA,CACaI;;;AAAD;AAqChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwC8DC,cAxCzCE,cAwCyCF,CAAAA,WAAAA,GAAAA,EAAAA,YAAAA,GAAAA,CAAAA,SAxCeN,QAwCfM,CAxCwBD,QAwCxBC,EAxCkCA,SAwClCA,CAAAA,CAAAA;EAARI,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAC3BL,YAAAA,EAAAA,MAAAA,EAAAA;EAA2BH,eAAAA,EAAAA,OAAAA;EAARO,OAAAA,EArCjCT,QAqCiCS,CArCxBJ,QAqCwBI,EArCdH,SAqCcG,CAAAA;EAAiDH,QAAAA,EApCjFF,MAoCiFE,CApC1ED,QAoC0EC,EApChEA,SAoCgEA,CAAAA,EAAAA;EAARK,WAAAA,CAAAA,MAAAA,EAAAA;IAAfC,QAAAA,EAlCtDR,MAkCsDQ,CAlC/CP,QAkC+CO,EAlCrCN,SAkCqCM,CAAAA,EAAAA;IAzCKZ,OAAAA,EAQ5DA,QAR4DA,CAQnDK,QARmDL,EAQzCM,SARyCN,CAAAA;EAAQ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;6DAoC1EO,WAAWF,UAAUC,cACxBL,aAAaI,UAAUC,cACvBE,eAAeH,UAAUC;iBACdD,mBAAmBI,QAAQP,8BAA8BC,6BAA6BO,QAAQJ;gBAC/FD,mBAAmBH,iBAAiBQ,QAAQJ;yBACnCD,mBAAmBI,QAAQP,kBAAkBU,eAAeD,QAAQL"}
@@ -93,10 +93,24 @@ function ensureConfig(config) {
93
93
  }
94
94
  if (empty.timeout !== void 0) {
95
95
  if (empty.timeout <= 0) throw new Error("Timeout must be a positive number");
96
- const timeoutSignal = AbortSignal.timeout(empty.timeout);
96
+ const originalTimeoutMs = empty.timeout;
97
+ const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);
98
+ if (!empty.metadata) empty.metadata = {};
99
+ if (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;
97
100
  if (empty.signal !== void 0) {
98
101
  if ("any" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);
99
102
  } else empty.signal = timeoutSignal;
103
+ /**
104
+ * We are deleting the timeout key for the following reasons:
105
+ * - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,
106
+ * each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.
107
+ * - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two
108
+ * competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.
109
+ * - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing
110
+ * repeated re-normalization and stacked timeouts.
111
+ * - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;
112
+ * changing that would be a breaking change.
113
+ */
100
114
  delete empty.timeout;
101
115
  }
102
116
  return empty;
@@ -1 +1 @@
1
- {"version":3,"file":"config.cjs","names":["config?: RunnableConfig","CallbackManager","copy: Partial<CallOptions>","baseKeys: string[]","ensureHandler","config?: CallOptions","AsyncLocalStorageProviderSingleton","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const timeoutSignal = AbortSignal.timeout(empty.timeout);\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"config.cjs","names":["config?: RunnableConfig","CallbackManager","copy: Partial<CallOptions>","baseKeys: string[]","ensureHandler","config?: CallOptions","AsyncLocalStorageProviderSingleton","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const originalTimeoutMs = empty.timeout;\n const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);\n // Preserve the numeric timeout for downstream consumers that need to pass\n // an explicit timeout value to underlying SDKs in addition to an AbortSignal.\n // We store it in metadata to avoid changing the public config shape.\n if (!empty.metadata) {\n empty.metadata = {};\n }\n // Do not overwrite if already set upstream.\n if (empty.metadata.timeoutMs === undefined) {\n empty.metadata.timeoutMs = originalTimeoutMs;\n }\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n\n /**\n * We are deleting the timeout key for the following reasons:\n * - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,\n * each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.\n * - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two\n * competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.\n * - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing\n * repeated re-normalization and stacked timeouts.\n * - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;\n * changing that would be a breaking change.\n */\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":";;;;;AAIA,MAAa,0BAA0B;AAIvC,eAAsB,4BAA4BA,QAAyB;AACzE,QAAOC,0CAAgB,eACrB,QAAQ,WACR,QACA,QAAQ,MACR,QACA,QAAQ,SACT;AACF;AAED,SAAgB,aACd,GAAG,SACmB;CAGtB,MAAMC,OAA6B,CAAE;AACrC,MAAK,MAAM,WAAW,QAAQ,OAAO,CAAC,MAAwB,CAAC,CAAC,EAAE,CAChE,MAAK,MAAM,OAAO,OAAO,KAAK,QAAQ,CACpC,KAAI,QAAQ,YACV,KAAK,OAAO;EAAE,GAAG,KAAK;EAAM,GAAG,QAAQ;CAAM;UACpC,QAAQ,QAAQ;EACzB,MAAMC,WAAqB,KAAK,QAAQ,CAAE;EAC1C,KAAK,OAAO,CAAC,GAAG,IAAI,IAAI,SAAS,OAAO,QAAQ,QAAQ,CAAE,EAAC,CAAE;CAC9D,WAAU,QAAQ,gBACjB,KAAK,OAAO;EAAE,GAAG,KAAK;EAAM,GAAG,QAAQ;CAAM;UACpC,QAAQ,WACjB;MAAI,KAAK,YAAY,QACnB,KAAK,UAAU,QAAQ;WACd,QAAQ,YAAY,QAC7B,KAAK,UAAU,KAAK,IAAI,KAAK,SAAS,QAAQ,QAAQ;CACvD,WACQ,QAAQ,UACjB;MAAI,KAAK,WAAW,QAClB,KAAK,SAAS,QAAQ;WACb,QAAQ,WAAW,OAC5B,KAAI,SAAS,aAEX,KAAK,SAAU,YAAoB,IAAI,CACrC,KAAK,QACL,QAAQ,MACT,EAAC;OAEF,KAAK,SAAS,QAAQ;CAEzB,WACQ,QAAQ,aAAa;EAC9B,MAAM,gBAAgB,KAAK;EAC3B,MAAM,oBAAoB,QAAQ;AAGlC,MAAI,MAAM,QAAQ,kBAAkB,CAClC,KAAI,CAAC,eACH,KAAK,YAAY;WACR,MAAM,QAAQ,cAAc,EACrC,KAAK,YAAY,cAAc,OAAO,kBAAkB;OACnD;GAEL,MAAM,UAAU,cAAc,MAAM;AACpC,QAAK,MAAM,YAAY,mBACrB,QAAQ,WAAWC,wCAAc,SAAS,EAAE,KAAK;GAEnD,KAAK,YAAY;EAClB;WACQ,kBAET,KAAI,CAAC,eACH,KAAK,YAAY;WACR,MAAM,QAAQ,cAAc,EAAE;GACvC,MAAM,UAAU,kBAAkB,MAAM;AACxC,QAAK,MAAM,YAAY,eACrB,QAAQ,WAAWA,wCAAc,SAAS,EAAE,KAAK;GAEnD,KAAK,YAAY;EAClB,OAEC,KAAK,YAAY,IAAIH,0CACnB,kBAAkB,cAClB;GACE,UAAU,cAAc,SAAS,OAC/B,kBAAkB,SACnB;GACD,qBAAqB,cAAc,oBAAoB,OACrD,kBAAkB,oBACnB;GACD,MAAM,MAAM,KACV,IAAI,IAAI,cAAc,KAAK,OAAO,kBAAkB,KAAK,EAC1D;GACD,iBAAiB,MAAM,KACrB,IAAI,IACF,cAAc,gBAAgB,OAC5B,kBAAkB,gBACnB,EAEJ;GACD,UAAU;IACR,GAAG,cAAc;IACjB,GAAG,kBAAkB;GACtB;EACF;CAIR,OAAM;EACL,MAAM,WAAW;EACjB,KAAK,YAAY,QAAQ,aAAa,KAAK;CAC5C;AAGL,QAAO;AACR;AAED,MAAM,aAAa,IAAI,IAAI;CAAC;CAAU;CAAU;AAAU;;;;AAK1D,SAAgB,aACdI,QACa;CACb,MAAM,iBAAiBC,iDAAmC,mBAAmB;CAC7E,IAAIC,QAAwB;EAC1B,MAAM,CAAE;EACR,UAAU,CAAE;EACZ,gBAAgB;EAChB,OAAO;CACR;AACD,KAAI,gBAAgB;EAGlB,MAAM,EAAE,OAAO,QAAS,GAAG,MAAM,GAAG;EACpC,QAAQ,OAAO,QAAQ,KAAK,CAAC,OAE3B,CAACC,eAAoC,CAAC,KAAK,MAAM,KAAK;AACpD,OAAI,UAAU,QACZ,cAAc,OAAO;AAEvB,UAAO;EACR,GACD,MACD;CACF;AACD,KAAI,QACF,QAAQ,OAAO,QAAQ,OAAO,CAAC,OAE7B,CAACA,eAAoC,CAAC,KAAK,MAAM,KAAK;AACpD,MAAI,UAAU,QACZ,cAAc,OAAO;AAEvB,SAAO;CACR,GACD,MACD;AAEH,KAAI,OAAO,cACT;OAAK,MAAM,OAAO,OAAO,KAAK,MAAM,aAAa,CAC/C,KACE,WAAW,IAAI,OAAO,MAAM,aAAa,KAAK,IAC9C,CAAC,MAAM,WAAW,MAClB;AACA,OAAI,CAAC,MAAM,UACT,MAAM,WAAW,CAAE;GAErB,MAAM,SAAS,OAAO,MAAM,aAAa;EAC1C;CACF;AAEH,KAAI,MAAM,YAAY,QAAW;AAC/B,MAAI,MAAM,WAAW,EACnB,OAAM,IAAI,MAAM;EAElB,MAAM,oBAAoB,MAAM;EAChC,MAAM,gBAAgB,YAAY,QAAQ,kBAAkB;AAI5D,MAAI,CAAC,MAAM,UACT,MAAM,WAAW,CAAE;AAGrB,MAAI,MAAM,SAAS,cAAc,QAC/B,MAAM,SAAS,YAAY;AAE7B,MAAI,MAAM,WAAW,QACnB;OAAI,SAAS,aAEX,MAAM,SAAU,YAAoB,IAAI,CAAC,MAAM,QAAQ,aAAc,EAAC;EACvE,OAED,MAAM,SAAS;;;;;;;;;;;;EAcjB,OAAO,MAAM;CACd;AACD,QAAO;AACR;;;;AAKD,SAAgB,YACdC,SAA+B,CAAE,GACjC,EACE,WACA,gBACA,gBACA,SACA,cACA,OACe,GAAG,CAAE,GACA;CACtB,MAAM,YAAY,aAAa,OAAO;AACtC,KAAI,cAAc,QAAW;;;;;EAK3B,OAAO,UAAU;EACjB,UAAU,YAAY;CACvB;AACD,KAAI,mBAAmB,QACrB,UAAU,iBAAiB;AAE7B,KAAI,mBAAmB,QACrB,UAAU,iBAAiB;AAE7B,KAAI,YAAY,QACd,UAAU,UAAU;AAEtB,KAAI,iBAAiB,QACnB,UAAU,eAAe;EAAE,GAAG,UAAU;EAAc,GAAG;CAAc;AAEzE,KAAI,UAAU,QACZ,OAAO,UAAU;AAEnB,QAAO;AACR;AAGD,SAAgB,uBACdJ,QACqC;AACrC,KAAI,CAAC,OAAQ,QAAO;AAEpB,QAAO;EACL,cAAc,OAAO;EACrB,gBAAgB,OAAO;EACvB,WAAW,OAAO;EAClB,MAAM,OAAO;EACb,UAAU,OAAO;EACjB,gBAAgB,OAAO;EACvB,SAAS,OAAO;EAChB,QAAQ,OAAO;EAIf,OAAO,OAAO;CACf;AACF"}
@@ -19,7 +19,6 @@ declare function patchConfig<CallOptions extends RunnableConfig>(config?: Partia
19
19
  configurable,
20
20
  runId
21
21
  }?: RunnableConfig): Partial<CallOptions>;
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
22
  declare function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(config?: CallOptions): Partial<RunnableConfig> | undefined;
24
23
  //#endregion
25
24
  export { ensureConfig, getCallbackManagerForConfig, mergeConfigs, patchConfig, pickRunnableConfigKeys };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.cts","names":["CallbackManager","RunnableConfig","DEFAULT_RECURSION_LIMIT","getCallbackManagerForConfig","Promise","mergeConfigs","CallOptions","Partial","ensureConfig","patchConfig","callbacks","maxConcurrency","recursionLimit","runName","configurable","runId","pickRunnableConfigKeys","Record"],"sources":["../../src/runnables/config.d.ts"],"sourcesContent":["import { CallbackManager } from \"../callbacks/manager.js\";\nimport { RunnableConfig } from \"./types.js\";\nexport declare const DEFAULT_RECURSION_LIMIT = 25;\nexport { type RunnableConfig };\nexport declare function getCallbackManagerForConfig(config?: RunnableConfig): Promise<CallbackManager | undefined>;\nexport declare function mergeConfigs<CallOptions extends RunnableConfig>(...configs: (CallOptions | RunnableConfig | undefined | null)[]): Partial<CallOptions>;\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport declare function ensureConfig<CallOptions extends RunnableConfig>(config?: CallOptions): CallOptions;\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport declare function patchConfig<CallOptions extends RunnableConfig>(config?: Partial<CallOptions>, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId }?: RunnableConfig): Partial<CallOptions>;\nexport declare function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(config?: CallOptions): Partial<RunnableConfig> | undefined;\n//# sourceMappingURL=config.d.ts.map"],"mappings":";;;;AAIwBG,iBAAAA,2BAAAA,CAA2B,MAAA,CAAA,EAAUF,cAAV,CAAA,EAA2BG,OAA3B,CAAmCJ,eAAnC,GAAA,SAAA,CAAA;AAAUC,iBACrCI,YADqCJ,CAAAA,oBACJA,cADIA,CAAAA,CAAAA,GAAAA,OAAAA,EAAAA,CACyBK,WADzBL,GACuCA,cADvCA,GAAAA,SAAAA,GAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAC8EM,OAD9EN,CACsFK,WADtFL,CAAAA;;;AAAwB;AAC7DI,iBAIAG,YAJYF,CAAAA,oBAIqBL,cAJrB,CAAA,CAAA,MAAA,CAAA,EAI8CK,WAJ9C,CAAA,EAI4DA,WAJ5D;;;;AAA+GA,iBAQ3HG,WAR2HH,CAAAA,oBAQ3FL,cAR2FK,CAAAA,CAAAA,MAAAA,CAAAA,EAQlEC,OARkED,CAQ1DA,WAR0DA,CAAAA,EAAAA;EAAAA,SAAAA;EAAAA,cAAAA;EAAAA,cAAAA;EAAAA,OAAAA;EAAAA,YAAAA;EAAAA;AAAAA,CAAAA,CAAAA,EAQkCL,cARlCK,CAAAA,EAQmDC,OARnDD,CAQ2DA,WAR3DA,CAAAA;AAARC,iBASnHS,sBATmHT,CAAAA,oBASxEU,MATwEV,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAS1CD,WAT0CC,CAAAA,EAS5BA,OAT4BA,CASpBN,cAToBM,CAAAA,GAAAA,SAAAA"}
@@ -19,7 +19,6 @@ declare function patchConfig<CallOptions extends RunnableConfig>(config?: Partia
19
19
  configurable,
20
20
  runId
21
21
  }?: RunnableConfig): Partial<CallOptions>;
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
22
  declare function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(config?: CallOptions): Partial<RunnableConfig> | undefined;
24
23
  //#endregion
25
24
  export { ensureConfig, getCallbackManagerForConfig, mergeConfigs, patchConfig, pickRunnableConfigKeys };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","names":["CallbackManager","RunnableConfig","DEFAULT_RECURSION_LIMIT","getCallbackManagerForConfig","Promise","mergeConfigs","CallOptions","Partial","ensureConfig","patchConfig","callbacks","maxConcurrency","recursionLimit","runName","configurable","runId","pickRunnableConfigKeys","Record"],"sources":["../../src/runnables/config.d.ts"],"sourcesContent":["import { CallbackManager } from \"../callbacks/manager.js\";\nimport { RunnableConfig } from \"./types.js\";\nexport declare const DEFAULT_RECURSION_LIMIT = 25;\nexport { type RunnableConfig };\nexport declare function getCallbackManagerForConfig(config?: RunnableConfig): Promise<CallbackManager | undefined>;\nexport declare function mergeConfigs<CallOptions extends RunnableConfig>(...configs: (CallOptions | RunnableConfig | undefined | null)[]): Partial<CallOptions>;\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport declare function ensureConfig<CallOptions extends RunnableConfig>(config?: CallOptions): CallOptions;\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport declare function patchConfig<CallOptions extends RunnableConfig>(config?: Partial<CallOptions>, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId }?: RunnableConfig): Partial<CallOptions>;\nexport declare function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(config?: CallOptions): Partial<RunnableConfig> | undefined;\n//# sourceMappingURL=config.d.ts.map"],"mappings":";;;;AAIwBG,iBAAAA,2BAAAA,CAA2B,MAAA,CAAA,EAAUF,cAAV,CAAA,EAA2BG,OAA3B,CAAmCJ,eAAnC,GAAA,SAAA,CAAA;AAAUC,iBACrCI,YADqCJ,CAAAA,oBACJA,cADIA,CAAAA,CAAAA,GAAAA,OAAAA,EAAAA,CACyBK,WADzBL,GACuCA,cADvCA,GAAAA,SAAAA,GAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAC8EM,OAD9EN,CACsFK,WADtFL,CAAAA;;;AAAwB;AAC7DI,iBAIAG,YAJYF,CAAAA,oBAIqBL,cAJrB,CAAA,CAAA,MAAA,CAAA,EAI8CK,WAJ9C,CAAA,EAI4DA,WAJ5D;;;;AAA+GA,iBAQ3HG,WAR2HH,CAAAA,oBAQ3FL,cAR2FK,CAAAA,CAAAA,MAAAA,CAAAA,EAQlEC,OARkED,CAQ1DA,WAR0DA,CAAAA,EAAAA;EAAAA,SAAAA;EAAAA,cAAAA;EAAAA,cAAAA;EAAAA,OAAAA;EAAAA,YAAAA;EAAAA;AAAAA,CAAAA,CAAAA,EAQkCL,cARlCK,CAAAA,EAQmDC,OARnDD,CAQ2DA,WAR3DA,CAAAA;AAARC,iBASnHS,sBATmHT,CAAAA,oBASxEU,MATwEV,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAS1CD,WAT0CC,CAAAA,EAS5BA,OAT4BA,CASpBN,cAToBM,CAAAA,GAAAA,SAAAA"}
@@ -93,10 +93,24 @@ function ensureConfig(config) {
93
93
  }
94
94
  if (empty.timeout !== void 0) {
95
95
  if (empty.timeout <= 0) throw new Error("Timeout must be a positive number");
96
- const timeoutSignal = AbortSignal.timeout(empty.timeout);
96
+ const originalTimeoutMs = empty.timeout;
97
+ const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);
98
+ if (!empty.metadata) empty.metadata = {};
99
+ if (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;
97
100
  if (empty.signal !== void 0) {
98
101
  if ("any" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);
99
102
  } else empty.signal = timeoutSignal;
103
+ /**
104
+ * We are deleting the timeout key for the following reasons:
105
+ * - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,
106
+ * each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.
107
+ * - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two
108
+ * competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.
109
+ * - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing
110
+ * repeated re-normalization and stacked timeouts.
111
+ * - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;
112
+ * changing that would be a breaking change.
113
+ */
100
114
  delete empty.timeout;
101
115
  }
102
116
  return empty;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["config?: RunnableConfig","copy: Partial<CallOptions>","baseKeys: string[]","config?: CallOptions","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const timeoutSignal = AbortSignal.timeout(empty.timeout);\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"config.js","names":["config?: RunnableConfig","copy: Partial<CallOptions>","baseKeys: string[]","config?: CallOptions","empty: RunnableConfig","currentConfig: Record<string, any>","config: Partial<CallOptions>"],"sources":["../../src/runnables/config.ts"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/index.js\";\nimport { RunnableConfig } from \"./types.js\";\n\nexport const DEFAULT_RECURSION_LIMIT = 25;\n\nexport { type RunnableConfig };\n\nexport async function getCallbackManagerForConfig(config?: RunnableConfig) {\n return CallbackManager._configureSync(\n config?.callbacks,\n undefined,\n config?.tags,\n undefined,\n config?.metadata\n );\n}\n\nexport function mergeConfigs<CallOptions extends RunnableConfig>(\n ...configs: (CallOptions | RunnableConfig | undefined | null)[]\n): Partial<CallOptions> {\n // We do not want to call ensureConfig on the empty state here as this may cause\n // double loading of callbacks if async local storage is being used.\n const copy: Partial<CallOptions> = {};\n for (const options of configs.filter((c): c is CallOptions => !!c)) {\n for (const key of Object.keys(options)) {\n if (key === \"metadata\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"tags\") {\n const baseKeys: string[] = copy[key] ?? [];\n copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n } else if (key === \"configurable\") {\n copy[key] = { ...copy[key], ...options[key] };\n } else if (key === \"timeout\") {\n if (copy.timeout === undefined) {\n copy.timeout = options.timeout;\n } else if (options.timeout !== undefined) {\n copy.timeout = Math.min(copy.timeout, options.timeout);\n }\n } else if (key === \"signal\") {\n if (copy.signal === undefined) {\n copy.signal = options.signal;\n } else if (options.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n copy.signal = (AbortSignal as any).any([\n copy.signal,\n options.signal,\n ]);\n } else {\n copy.signal = options.signal;\n }\n }\n } else if (key === \"callbacks\") {\n const baseCallbacks = copy.callbacks;\n const providedCallbacks = options.callbacks;\n // callbacks can be either undefined, Array<handler> or manager\n // so merging two callbacks values has 6 cases\n if (Array.isArray(providedCallbacks)) {\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n copy.callbacks = baseCallbacks.concat(providedCallbacks);\n } else {\n // baseCallbacks is a manager\n const manager = baseCallbacks.copy();\n for (const callback of providedCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n }\n } else if (providedCallbacks) {\n // providedCallbacks is a manager\n if (!baseCallbacks) {\n copy.callbacks = providedCallbacks;\n } else if (Array.isArray(baseCallbacks)) {\n const manager = providedCallbacks.copy();\n for (const callback of baseCallbacks) {\n manager.addHandler(ensureHandler(callback), true);\n }\n copy.callbacks = manager;\n } else {\n // baseCallbacks is also a manager\n copy.callbacks = new CallbackManager(\n providedCallbacks._parentRunId,\n {\n handlers: baseCallbacks.handlers.concat(\n providedCallbacks.handlers\n ),\n inheritableHandlers: baseCallbacks.inheritableHandlers.concat(\n providedCallbacks.inheritableHandlers\n ),\n tags: Array.from(\n new Set(baseCallbacks.tags.concat(providedCallbacks.tags))\n ),\n inheritableTags: Array.from(\n new Set(\n baseCallbacks.inheritableTags.concat(\n providedCallbacks.inheritableTags\n )\n )\n ),\n metadata: {\n ...baseCallbacks.metadata,\n ...providedCallbacks.metadata,\n },\n }\n );\n }\n }\n } else {\n const typedKey = key as keyof CallOptions;\n copy[typedKey] = options[typedKey] ?? copy[typedKey];\n }\n }\n }\n return copy as Partial<CallOptions>;\n}\n\nconst PRIMITIVES = new Set([\"string\", \"number\", \"boolean\"]);\n\n/**\n * Ensure that a passed config is an object with all required keys present.\n */\nexport function ensureConfig<CallOptions extends RunnableConfig>(\n config?: CallOptions\n): CallOptions {\n const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n let empty: RunnableConfig = {\n tags: [],\n metadata: {},\n recursionLimit: 25,\n runId: undefined,\n };\n if (implicitConfig) {\n // Don't allow runId and runName to be loaded implicitly, as this can cause\n // child runs to improperly inherit their parents' run ids.\n const { runId, runName, ...rest } = implicitConfig;\n empty = Object.entries(rest).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (config) {\n empty = Object.entries(config).reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (currentConfig: Record<string, any>, [key, value]) => {\n if (value !== undefined) {\n currentConfig[key] = value;\n }\n return currentConfig;\n },\n empty\n );\n }\n if (empty?.configurable) {\n for (const key of Object.keys(empty.configurable)) {\n if (\n PRIMITIVES.has(typeof empty.configurable[key]) &&\n !empty.metadata?.[key]\n ) {\n if (!empty.metadata) {\n empty.metadata = {};\n }\n empty.metadata[key] = empty.configurable[key];\n }\n }\n }\n if (empty.timeout !== undefined) {\n if (empty.timeout <= 0) {\n throw new Error(\"Timeout must be a positive number\");\n }\n const originalTimeoutMs = empty.timeout;\n const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);\n // Preserve the numeric timeout for downstream consumers that need to pass\n // an explicit timeout value to underlying SDKs in addition to an AbortSignal.\n // We store it in metadata to avoid changing the public config shape.\n if (!empty.metadata) {\n empty.metadata = {};\n }\n // Do not overwrite if already set upstream.\n if (empty.metadata.timeoutMs === undefined) {\n empty.metadata.timeoutMs = originalTimeoutMs;\n }\n if (empty.signal !== undefined) {\n if (\"any\" in AbortSignal) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n empty.signal = (AbortSignal as any).any([empty.signal, timeoutSignal]);\n }\n } else {\n empty.signal = timeoutSignal;\n }\n\n /**\n * We are deleting the timeout key for the following reasons:\n * - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,\n * each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.\n * - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two\n * competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.\n * - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing\n * repeated re-normalization and stacked timeouts.\n * - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;\n * changing that would be a breaking change.\n */\n delete empty.timeout;\n }\n return empty as CallOptions;\n}\n\n/**\n * Helper function that patches runnable configs with updated properties.\n */\nexport function patchConfig<CallOptions extends RunnableConfig>(\n config: Partial<CallOptions> = {},\n {\n callbacks,\n maxConcurrency,\n recursionLimit,\n runName,\n configurable,\n runId,\n }: RunnableConfig = {}\n): Partial<CallOptions> {\n const newConfig = ensureConfig(config);\n if (callbacks !== undefined) {\n /**\n * If we're replacing callbacks we need to unset runName\n * since that should apply only to the same run as the original callbacks\n */\n delete newConfig.runName;\n newConfig.callbacks = callbacks;\n }\n if (recursionLimit !== undefined) {\n newConfig.recursionLimit = recursionLimit;\n }\n if (maxConcurrency !== undefined) {\n newConfig.maxConcurrency = maxConcurrency;\n }\n if (runName !== undefined) {\n newConfig.runName = runName;\n }\n if (configurable !== undefined) {\n newConfig.configurable = { ...newConfig.configurable, ...configurable };\n }\n if (runId !== undefined) {\n delete newConfig.runId;\n }\n return newConfig;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function pickRunnableConfigKeys<CallOptions extends Record<string, any>>(\n config?: CallOptions\n): Partial<RunnableConfig> | undefined {\n if (!config) return undefined;\n\n return {\n configurable: config.configurable,\n recursionLimit: config.recursionLimit,\n callbacks: config.callbacks,\n tags: config.tags,\n metadata: config.metadata,\n maxConcurrency: config.maxConcurrency,\n timeout: config.timeout,\n signal: config.signal,\n // @ts-expect-error - Store is a LangGraph-specific property\n // which wewant to pass through to all runnables.\n // (eg. tools should have access to writing to the store)\n store: config.store,\n };\n}\n"],"mappings":"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"}
@@ -8,12 +8,8 @@ declare class Graph {
8
8
  nodes: Record<string, Node>;
9
9
  edges: Edge[];
10
10
  });
11
- // Convert the graph to a JSON-serializable format.
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
11
  toJSON(): Record<string, any>;
14
- addNode(data: RunnableInterface | RunnableIOSchema, id?: string,
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- metadata?: Record<string, any>): Node;
12
+ addNode(data: RunnableInterface | RunnableIOSchema, id?: string, metadata?: Record<string, any>): Node;
17
13
  removeNode(node: Node): void;
18
14
  addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;
19
15
  firstNode(): Node | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.cts","names":["RunnableInterface","RunnableIOSchema","Node","Edge","Graph","Record","__types_js0","RunnableConfig","Blob","Promise"],"sources":["../../src/runnables/graph.d.ts"],"sourcesContent":["import type { RunnableInterface, RunnableIOSchema, Node, Edge } from \"./types.js\";\nexport { Node, Edge };\nexport declare class Graph {\n nodes: Record<string, Node>;\n edges: Edge[];\n constructor(params?: {\n nodes: Record<string, Node>;\n edges: Edge[];\n });\n toJSON(): Record<string, any>;\n addNode(data: RunnableInterface | RunnableIOSchema, id?: string, metadata?: Record<string, any>): Node;\n removeNode(node: Node): void;\n addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;\n firstNode(): Node | undefined;\n lastNode(): Node | undefined;\n /**\n * Add all nodes and edges from another graph.\n * Note this doesn't check for duplicates, nor does it connect the graphs.\n */\n extend(graph: Graph, prefix?: string): ({\n id: string;\n data: RunnableIOSchema | RunnableInterface<any, any, import(\"./types.js\").RunnableConfig<Record<string, any>>>;\n } | undefined)[];\n trimFirstNode(): void;\n trimLastNode(): void;\n /**\n * Return a new graph with all nodes re-identified,\n * using their unique, readable names where possible.\n */\n reid(): Graph;\n drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n }): string;\n drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }): Promise<Blob>;\n}\n//# sourceMappingURL=graph.d.ts.map"],"mappings":";;;cAEqBI,KAAAA;EAAAA,KAAAA,EACVC,MADe,CAAA,MAAA,EACAH,IADA,CAAA;EACAA,KAAAA,EACfC,IADeD,EAAAA;EAAfG,WAAAA,CAAAA,MAGIA,CAHJA,EAAAA;IACAF,KAAAA,EAEIE,MAFJF,CAAAA,MAAAA,EAEmBD,IAFnBC,CAAAA;IAEmBD,KAAAA,EACfC,IADeD,EAAAA;EAAfG,CAAAA;EACAF,MAAAA,CAAAA,CAAAA,EAEDE,MAFCF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAEDE,OAAAA,CAAAA,IAAAA,EACIL,iBADJK,GACwBJ,gBADxBI,EAAAA,EAAAA,CAAAA,EAAAA,MAAAA,EAAAA,QAAAA,CAAAA,EACkEA,MADlEA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,EACwFH,IADxFG;EACIL,UAAAA,CAAAA,IAAAA,EACGE,IADHF,CAAAA,EAAAA,IAAAA;EAAoBC,OAAAA,CAAAA,MAAAA,EAElBC,IAFkBD,EAAAA,MAAAA,EAEJC,IAFID,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,WAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEyCE,IAFzCF;EAA0CI,SAAAA,CAAAA,CAAAA,EAG/DH,IAH+DG,GAAAA,SAAAA;EAAsBH,QAAAA,CAAAA,CAAAA,EAItFA,IAJsFA,GAAAA,SAAAA;EACjFA;;;;EAEJA,MAAAA,CAAAA,KAAAA,EAMCE,KANDF,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,CAAAA;IACDA,EAAAA,EAAAA,MAAAA;IAKEE,IAAAA,EAEJH,gBAFIG,GAEeJ,iBAFfI,CAAAA,GAAAA,EAAAA,GAAAA,gBAAAA,CAE+EC,MAF/ED,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA;EAEJH,CAAAA,GAAAA,SAAAA,CAAAA,EAAAA;EAAmFI,aAAAA,CAAAA,CAAAA,EAAAA,IAAAA;;EAAhEL;;;;EAqBjBQ,IAAAA,CAAAA,CAAAA,EAbJJ,KAaII;EAARC,WAAAA,CAAAA,OAAAA,EAAAA;IAAO,UAAA,CAAA,EAAA,OAAA;;iBATMJ;;;;;;iBAMAA;;;MAGbI,QAAQD"}
@@ -8,12 +8,8 @@ declare class Graph {
8
8
  nodes: Record<string, Node>;
9
9
  edges: Edge[];
10
10
  });
11
- // Convert the graph to a JSON-serializable format.
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
11
  toJSON(): Record<string, any>;
14
- addNode(data: RunnableInterface | RunnableIOSchema, id?: string,
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- metadata?: Record<string, any>): Node;
12
+ addNode(data: RunnableInterface | RunnableIOSchema, id?: string, metadata?: Record<string, any>): Node;
17
13
  removeNode(node: Node): void;
18
14
  addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;
19
15
  firstNode(): Node | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","names":["RunnableInterface","RunnableIOSchema","Node","Edge","Graph","Record","__types_js0","RunnableConfig","Blob","Promise"],"sources":["../../src/runnables/graph.d.ts"],"sourcesContent":["import type { RunnableInterface, RunnableIOSchema, Node, Edge } from \"./types.js\";\nexport { Node, Edge };\nexport declare class Graph {\n nodes: Record<string, Node>;\n edges: Edge[];\n constructor(params?: {\n nodes: Record<string, Node>;\n edges: Edge[];\n });\n toJSON(): Record<string, any>;\n addNode(data: RunnableInterface | RunnableIOSchema, id?: string, metadata?: Record<string, any>): Node;\n removeNode(node: Node): void;\n addEdge(source: Node, target: Node, data?: string, conditional?: boolean): Edge;\n firstNode(): Node | undefined;\n lastNode(): Node | undefined;\n /**\n * Add all nodes and edges from another graph.\n * Note this doesn't check for duplicates, nor does it connect the graphs.\n */\n extend(graph: Graph, prefix?: string): ({\n id: string;\n data: RunnableIOSchema | RunnableInterface<any, any, import(\"./types.js\").RunnableConfig<Record<string, any>>>;\n } | undefined)[];\n trimFirstNode(): void;\n trimLastNode(): void;\n /**\n * Return a new graph with all nodes re-identified,\n * using their unique, readable names where possible.\n */\n reid(): Graph;\n drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n }): string;\n drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }): Promise<Blob>;\n}\n//# sourceMappingURL=graph.d.ts.map"],"mappings":";;;cAEqBI,KAAAA;EAAAA,KAAAA,EACVC,MADe,CAAA,MAAA,EACAH,IADA,CAAA;EACAA,KAAAA,EACfC,IADeD,EAAAA;EAAfG,WAAAA,CAAAA,MAGIA,CAHJA,EAAAA;IACAF,KAAAA,EAEIE,MAFJF,CAAAA,MAAAA,EAEmBD,IAFnBC,CAAAA;IAEmBD,KAAAA,EACfC,IADeD,EAAAA;EAAfG,CAAAA;EACAF,MAAAA,CAAAA,CAAAA,EAEDE,MAFCF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAEDE,OAAAA,CAAAA,IAAAA,EACIL,iBADJK,GACwBJ,gBADxBI,EAAAA,EAAAA,CAAAA,EAAAA,MAAAA,EAAAA,QAAAA,CAAAA,EACkEA,MADlEA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,EACwFH,IADxFG;EACIL,UAAAA,CAAAA,IAAAA,EACGE,IADHF,CAAAA,EAAAA,IAAAA;EAAoBC,OAAAA,CAAAA,MAAAA,EAElBC,IAFkBD,EAAAA,MAAAA,EAEJC,IAFID,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,WAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEyCE,IAFzCF;EAA0CI,SAAAA,CAAAA,CAAAA,EAG/DH,IAH+DG,GAAAA,SAAAA;EAAsBH,QAAAA,CAAAA,CAAAA,EAItFA,IAJsFA,GAAAA,SAAAA;EACjFA;;;;EAEJA,MAAAA,CAAAA,KAAAA,EAMCE,KANDF,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,CAAAA;IACDA,EAAAA,EAAAA,MAAAA;IAKEE,IAAAA,EAEJH,gBAFIG,GAEeJ,iBAFfI,CAAAA,GAAAA,EAAAA,GAAAA,gBAAAA,CAE+EC,MAF/ED,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,CAAAA;EAEJH,CAAAA,GAAAA,SAAAA,CAAAA,EAAAA;EAAmFI,aAAAA,CAAAA,CAAAA,EAAAA,IAAAA;;EAAhEL;;;;EAqBjBQ,IAAAA,CAAAA,CAAAA,EAbJJ,KAaII;EAARC,WAAAA,CAAAA,OAAAA,EAAAA;IAAO,UAAA,CAAA,EAAA,OAAA;;iBATMJ;;;;;;iBAMAA;;;MAGbI,QAAQD"}
@@ -5,9 +5,7 @@ import { Runnable, RunnableBinding, RunnableBindingArgs } from "./base.cjs";
5
5
  import { BaseChatMessageHistory, BaseListChatMessageHistory } from "../chat_history.cjs";
6
6
 
7
7
  //#region src/runnables/history.d.ts
8
- type GetSessionHistoryCallable = (
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
- ...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;
8
+ type GetSessionHistoryCallable = (...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;
11
9
  interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, "bound" | "config"> {
12
10
  runnable: Runnable<RunInput, RunOutput>;
13
11
  getMessageHistory: GetSessionHistoryCallable;
@@ -87,15 +85,9 @@ declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBi
87
85
  historyMessagesKey?: string;
88
86
  getMessageHistory: GetSessionHistoryCallable;
89
87
  constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);
90
- _getInputMessages(
91
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
- inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
93
- _getOutputMessages(
94
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
- outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
96
- _enterHistory(
97
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
- input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;
88
+ _getInputMessages(inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
89
+ _getOutputMessages(outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
90
+ _enterHistory(input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;
99
91
  _exitHistory(run: Run, config: RunnableConfig): Promise<void>;
100
92
  _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;
101
93
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.cts","names":["BaseChatMessageHistory","BaseListChatMessageHistory","BaseMessage","Run","Runnable","RunnableBinding","RunnableBindingArgs","RunnableConfig","GetSessionHistoryCallable","Array","Promise","RunnableWithMessageHistoryInputs","RunInput","RunOutput","Omit","RunnableWithMessageHistory","Record","Partial"],"sources":["../../src/runnables/history.d.ts"],"sourcesContent":["import { BaseChatMessageHistory, BaseListChatMessageHistory } from \"../chat_history.js\";\nimport { BaseMessage } from \"../messages/index.js\";\nimport { Run } from \"../tracers/base.js\";\nimport { Runnable, RunnableBinding, type RunnableBindingArgs } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\ntype GetSessionHistoryCallable = (...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;\nexport interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, \"bound\" | \"config\"> {\n runnable: Runnable<RunInput, RunOutput>;\n getMessageHistory: GetSessionHistoryCallable;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n config?: RunnableConfig;\n}\n/**\n * Wraps a LCEL chain and manages history. It appends input messages\n * and chain outputs as history, and adds the current history messages to\n * the chain input.\n * @example\n * ```typescript\n * // pnpm install @langchain/anthropic @langchain/community @upstash/redis\n *\n * import {\n * ChatPromptTemplate,\n * MessagesPlaceholder,\n * } from \"@langchain/core/prompts\";\n * import { ChatAnthropic } from \"@langchain/anthropic\";\n * import { UpstashRedisChatMessageHistory } from \"@langchain/community/stores/message/upstash_redis\";\n * // For demos, you can also use an in-memory store:\n * // import { ChatMessageHistory } from \"@langchain/classic/stores/message/in_memory\";\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"system\", \"You're an assistant who's good at {ability}\"],\n * new MessagesPlaceholder(\"history\"),\n * [\"human\", \"{question}\"],\n * ]);\n *\n * const chain = prompt.pipe(new ChatAnthropic({}));\n *\n * const chainWithHistory = new RunnableWithMessageHistory({\n * runnable: chain,\n * getMessageHistory: (sessionId) =>\n * new UpstashRedisChatMessageHistory({\n * sessionId,\n * config: {\n * url: process.env.UPSTASH_REDIS_REST_URL!,\n * token: process.env.UPSTASH_REDIS_REST_TOKEN!,\n * },\n * }),\n * inputMessagesKey: \"question\",\n * historyMessagesKey: \"history\",\n * });\n *\n * const result = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What does cosine mean?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n *\n * const result2 = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What's its inverse?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n * ```\n */\nexport declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBinding<RunInput, RunOutput> {\n runnable: Runnable<RunInput, RunOutput>;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n getMessageHistory: GetSessionHistoryCallable;\n constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);\n _getInputMessages(inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _getOutputMessages(outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _enterHistory(input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;\n _exitHistory(run: Run, config: RunnableConfig): Promise<void>;\n _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;\n}\nexport {};\n//# sourceMappingURL=history.d.ts.map"],"mappings":";;;;;;;KAKKQ,yBAAAA,aAAsCC,eAAeC,QAAQV,yBAAyBC,8BAA8BD,yBAAyBC;UACjIU,8DAA8DG,KAAKR,oBAAoBM,UAAUC;EAD7GL,QAAAA,EAESJ,QAFTI,CAEkBI,QAFlBJ,EAE4BK,SAFH,CAAA;EAAaJ,iBAAAA,EAGpBD,yBAHoBC;EAAuBT,gBAAAA,CAAAA,EAAAA,MAAAA;EAAyBC,iBAAAA,CAAAA,EAAAA,MAAAA;EAAjCS,kBAAAA,CAAAA,EAAAA,MAAAA;EAA+DV,MAAAA,CAAAA,EAO5GO,cAP4GP;;AAAmD;AAC5K;;;;;;;;;;AAAmF;AAwEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4F;;;;;;;;;;;;;;;;;cAAvEe,wDAAwDV,gBAAgBO,UAAUC;YACzFT,SAASQ,UAAUC;;;;qBAIVL;sBACCG,iCAAiCC,UAAUC;yCACxBX,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;2CAC7DA,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;qCACrEK,iBAAiBG,QAAQR;oBAC1CC,aAAaI,iBAAiBG;2BACvBD,MAAMF,8BAA8BG,QAAQO,QAAQV,eAAeS"}
@@ -7,9 +7,7 @@ import "../messages/index.js";
7
7
  import { BaseChatMessageHistory, BaseListChatMessageHistory } from "../chat_history.js";
8
8
 
9
9
  //#region src/runnables/history.d.ts
10
- type GetSessionHistoryCallable = (
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- ...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;
10
+ type GetSessionHistoryCallable = (...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;
13
11
  interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, "bound" | "config"> {
14
12
  runnable: Runnable<RunInput, RunOutput>;
15
13
  getMessageHistory: GetSessionHistoryCallable;
@@ -89,15 +87,9 @@ declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBi
89
87
  historyMessagesKey?: string;
90
88
  getMessageHistory: GetSessionHistoryCallable;
91
89
  constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);
92
- _getInputMessages(
93
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
- inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
95
- _getOutputMessages(
96
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
97
- outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
98
- _enterHistory(
99
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
- input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;
90
+ _getInputMessages(inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
91
+ _getOutputMessages(outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;
92
+ _enterHistory(input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;
101
93
  _exitHistory(run: Run, config: RunnableConfig): Promise<void>;
102
94
  _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;
103
95
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","names":["BaseChatMessageHistory","BaseListChatMessageHistory","BaseMessage","Run","Runnable","RunnableBinding","RunnableBindingArgs","RunnableConfig","GetSessionHistoryCallable","Array","Promise","RunnableWithMessageHistoryInputs","RunInput","RunOutput","Omit","RunnableWithMessageHistory","Record","Partial"],"sources":["../../src/runnables/history.d.ts"],"sourcesContent":["import { BaseChatMessageHistory, BaseListChatMessageHistory } from \"../chat_history.js\";\nimport { BaseMessage } from \"../messages/index.js\";\nimport { Run } from \"../tracers/base.js\";\nimport { Runnable, RunnableBinding, type RunnableBindingArgs } from \"./base.js\";\nimport { RunnableConfig } from \"./config.js\";\ntype GetSessionHistoryCallable = (...args: Array<any>) => Promise<BaseChatMessageHistory | BaseListChatMessageHistory> | BaseChatMessageHistory | BaseListChatMessageHistory;\nexport interface RunnableWithMessageHistoryInputs<RunInput, RunOutput> extends Omit<RunnableBindingArgs<RunInput, RunOutput>, \"bound\" | \"config\"> {\n runnable: Runnable<RunInput, RunOutput>;\n getMessageHistory: GetSessionHistoryCallable;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n config?: RunnableConfig;\n}\n/**\n * Wraps a LCEL chain and manages history. It appends input messages\n * and chain outputs as history, and adds the current history messages to\n * the chain input.\n * @example\n * ```typescript\n * // pnpm install @langchain/anthropic @langchain/community @upstash/redis\n *\n * import {\n * ChatPromptTemplate,\n * MessagesPlaceholder,\n * } from \"@langchain/core/prompts\";\n * import { ChatAnthropic } from \"@langchain/anthropic\";\n * import { UpstashRedisChatMessageHistory } from \"@langchain/community/stores/message/upstash_redis\";\n * // For demos, you can also use an in-memory store:\n * // import { ChatMessageHistory } from \"@langchain/classic/stores/message/in_memory\";\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"system\", \"You're an assistant who's good at {ability}\"],\n * new MessagesPlaceholder(\"history\"),\n * [\"human\", \"{question}\"],\n * ]);\n *\n * const chain = prompt.pipe(new ChatAnthropic({}));\n *\n * const chainWithHistory = new RunnableWithMessageHistory({\n * runnable: chain,\n * getMessageHistory: (sessionId) =>\n * new UpstashRedisChatMessageHistory({\n * sessionId,\n * config: {\n * url: process.env.UPSTASH_REDIS_REST_URL!,\n * token: process.env.UPSTASH_REDIS_REST_TOKEN!,\n * },\n * }),\n * inputMessagesKey: \"question\",\n * historyMessagesKey: \"history\",\n * });\n *\n * const result = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What does cosine mean?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n *\n * const result2 = await chainWithHistory.invoke(\n * {\n * ability: \"math\",\n * question: \"What's its inverse?\",\n * },\n * {\n * configurable: {\n * sessionId: \"some_string_identifying_a_user\",\n * },\n * }\n * );\n * ```\n */\nexport declare class RunnableWithMessageHistory<RunInput, RunOutput> extends RunnableBinding<RunInput, RunOutput> {\n runnable: Runnable<RunInput, RunOutput>;\n inputMessagesKey?: string;\n outputMessagesKey?: string;\n historyMessagesKey?: string;\n getMessageHistory: GetSessionHistoryCallable;\n constructor(fields: RunnableWithMessageHistoryInputs<RunInput, RunOutput>);\n _getInputMessages(inputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _getOutputMessages(outputValue: string | BaseMessage | Array<BaseMessage> | Record<string, any>): Array<BaseMessage>;\n _enterHistory(input: any, kwargs?: RunnableConfig): Promise<BaseMessage[]>;\n _exitHistory(run: Run, config: RunnableConfig): Promise<void>;\n _mergeConfig(...configs: Array<RunnableConfig | undefined>): Promise<Partial<RunnableConfig<Record<string, any>>>>;\n}\nexport {};\n//# sourceMappingURL=history.d.ts.map"],"mappings":";;;;;;;;;KAKKQ,yBAAAA,aAAsCC,eAAeC,QAAQV,yBAAyBC,8BAA8BD,yBAAyBC;UACjIU,8DAA8DG,KAAKR,oBAAoBM,UAAUC;YACpGT,SAASQ,UAAUC;qBACVL;EAHlBA,gBAAAA,CAAAA,EAAAA,MAAAA;EAAsCC,iBAAAA,CAAAA,EAAAA,MAAAA;EAAuBT,kBAAAA,CAAAA,EAAAA,MAAAA;EAAyBC,MAAAA,CAAAA,EAO9EM,cAP8EN;;;;AAAiF;AAC5K;;;;;;;;;;AAAmF;AAwEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA4F;;;;;;;;;;;;;;;cAAvEc,wDAAwDV,gBAAgBO,UAAUC;YACzFT,SAASQ,UAAUC;;;;qBAIVL;sBACCG,iCAAiCC,UAAUC;yCACxBX,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;2CAC7DA,cAAcO,MAAMP,eAAec,sBAAsBP,MAAMP;qCACrEK,iBAAiBG,QAAQR;oBAC1CC,aAAaI,iBAAiBG;2BACvBD,MAAMF,8BAA8BG,QAAQO,QAAQV,eAAeS"}
@@ -2,7 +2,6 @@ import { RunnableConfig } from "./types.cjs";
2
2
  import { Runnable, RunnableAssign, RunnableMapLike } from "./base.cjs";
3
3
 
4
4
  //#region src/runnables/passthrough.d.ts
5
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
5
  type RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);
7
6
  /**
8
7
  * A runnable to passthrough inputs unchanged or with additional keys.
@@ -30,7 +29,6 @@ type RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((i
30
29
  * );
31
30
  * ```
32
31
  */
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
32
  declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {
35
33
  static lc_name(): string;
36
34
  lc_namespace: string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passthrough.d.cts","names":["Runnable","RunnableAssign","RunnableMapLike","RunnableConfig","RunnablePassthroughFunc","RunInput","Promise","RunnablePassthrough","RunOutput","Partial","AsyncGenerator","Record"],"sources":["../../src/runnables/passthrough.d.ts"],"sourcesContent":["import { Runnable, RunnableAssign, RunnableMapLike } from \"./base.js\";\nimport { type RunnableConfig } from \"./config.js\";\ntype RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);\n/**\n * A runnable to passthrough inputs unchanged or with additional keys.\n *\n * This runnable behaves almost like the identity function, except that it\n * can be configured to add additional keys to the output, if the input is\n * an object.\n *\n * The example below demonstrates how to use `RunnablePassthrough to\n * passthrough the input from the `.invoke()`\n *\n * @example\n * ```typescript\n * const chain = RunnableSequence.from([\n * {\n * question: new RunnablePassthrough(),\n * context: async () => loadContextFromStore(),\n * },\n * prompt,\n * llm,\n * outputParser,\n * ]);\n * const response = await chain.invoke(\n * \"I can pass a single string instead of an object since I'm using `RunnablePassthrough`.\"\n * );\n * ```\n */\nexport declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n func?: RunnablePassthroughFunc<RunInput>;\n constructor(fields?: {\n func?: RunnablePassthroughFunc<RunInput>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunInput>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<RunnableConfig>): AsyncGenerator<RunInput>;\n /**\n * A runnable that assigns key-value pairs to the input.\n *\n * The example below shows how you could use it with an inline function.\n *\n * @example\n * ```typescript\n * const prompt =\n * PromptTemplate.fromTemplate(`Write a SQL query to answer the question using the following schema: {schema}\n * Question: {question}\n * SQL Query:`);\n *\n * // The `RunnablePassthrough.assign()` is used here to passthrough the input from the `.invoke()`\n * // call (in this example it's the question), along with any inputs passed to the `.assign()` method.\n * // In this case, we're passing the schema.\n * const sqlQueryGeneratorChain = RunnableSequence.from([\n * RunnablePassthrough.assign({\n * schema: async () => db.getTableInfo(),\n * }),\n * prompt,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }).withConfig({ stop: [\"\\nSQLResult:\"] }),\n * new StringOutputParser(),\n * ]);\n * const result = await sqlQueryGeneratorChain.invoke({\n * question: \"How many employees are there?\",\n * });\n * ```\n */\n static assign<RunInput extends Record<string, unknown> = Record<string, unknown>, RunOutput extends Record<string, unknown> = Record<string, unknown>>(mapping: RunnableMapLike<RunInput, RunOutput>): RunnableAssign<RunInput, RunInput & RunOutput>;\n}\nexport {};\n//# sourceMappingURL=passthrough.d.ts.map"],"mappings":";;;;KAEKI,mDAAmDC,8BAA8BA,mBAAmBF,oCAAoCE,aAAaC,0BAA0BD,mBAAmBF,mBAAmBG;;AADxK;;;;;;;;;AAC+K;AA2BjO;;;;;;;;;;;;;;;AAS4DG,cATvCF,mBASuCE,CAAAA,WAAAA,GAAAA,CAAAA,SATKT,QASLS,CATcJ,QASdI,EATwBJ,QASxBI,CAAAA,CAAAA;EAAyCJ,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAfK,YAAAA,EAAAA,MAAAA,EAAAA;EA6BnDC,eAAAA,EAAAA,OAAAA;EAA0BA,IAAAA,CAAAA,EAlClDP,uBAkCkDO,CAlC1BN,QAkC0BM,CAAAA;EAA2CA,WAAAA,CAAAA,MAA4EN,CAA5EM,EAAAA;IAA0BA,IAAAA,CAAAA,EAhCnHP,uBAgCmHO,CAhC3FN,QAgC2FM,CAAAA;EAAkDN,CAAAA;EAAUG,MAAAA,CAAAA,KAAAA,EA9B5KH,QA8B4KG,EAAAA,OAAAA,CAAAA,EA9BxJC,OA8BwJD,CA9BhJL,cA8BgJK,CAAAA,CAAAA,EA9B9HF,OA8B8HE,CA9BtHH,QA8BsHG,CAAAA;EAA1BN,SAAAA,CAAAA,SAAAA,EA7B3IQ,cA6B2IR,CA7B5HG,QA6B4HH,CAAAA,EAAAA,OAAAA,EA7BxGO,OA6BwGP,CA7BhGC,cA6BgGD,CAAAA,CAAAA,EA7B9EQ,cA6B8ER,CA7B/DG,QA6B+DH,CAAAA;EAAsDG;;;;;AAtCjJ;;;;;;;;;;;;;;;;;;;;;;;iCAsCtCM,0BAA0BA,2CAA2CA,0BAA0BA,kCAAkCT,gBAAgBG,UAAUG,aAAaP,eAAeI,UAAUA,WAAWG"}
@@ -3,7 +3,6 @@ import "./config.js";
3
3
  import { Runnable, RunnableAssign, RunnableMapLike } from "./base.js";
4
4
 
5
5
  //#region src/runnables/passthrough.d.ts
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
6
  type RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);
8
7
  /**
9
8
  * A runnable to passthrough inputs unchanged or with additional keys.
@@ -31,7 +30,6 @@ type RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((i
31
30
  * );
32
31
  * ```
33
32
  */
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
33
  declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {
36
34
  static lc_name(): string;
37
35
  lc_namespace: string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passthrough.d.ts","names":["Runnable","RunnableAssign","RunnableMapLike","RunnableConfig","RunnablePassthroughFunc","RunInput","Promise","RunnablePassthrough","RunOutput","Partial","AsyncGenerator","Record"],"sources":["../../src/runnables/passthrough.d.ts"],"sourcesContent":["import { Runnable, RunnableAssign, RunnableMapLike } from \"./base.js\";\nimport { type RunnableConfig } from \"./config.js\";\ntype RunnablePassthroughFunc<RunInput = any> = ((input: RunInput) => void) | ((input: RunInput, config?: RunnableConfig) => void) | ((input: RunInput) => Promise<void>) | ((input: RunInput, config?: RunnableConfig) => Promise<void>);\n/**\n * A runnable to passthrough inputs unchanged or with additional keys.\n *\n * This runnable behaves almost like the identity function, except that it\n * can be configured to add additional keys to the output, if the input is\n * an object.\n *\n * The example below demonstrates how to use `RunnablePassthrough to\n * passthrough the input from the `.invoke()`\n *\n * @example\n * ```typescript\n * const chain = RunnableSequence.from([\n * {\n * question: new RunnablePassthrough(),\n * context: async () => loadContextFromStore(),\n * },\n * prompt,\n * llm,\n * outputParser,\n * ]);\n * const response = await chain.invoke(\n * \"I can pass a single string instead of an object since I'm using `RunnablePassthrough`.\"\n * );\n * ```\n */\nexport declare class RunnablePassthrough<RunInput = any> extends Runnable<RunInput, RunInput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n func?: RunnablePassthroughFunc<RunInput>;\n constructor(fields?: {\n func?: RunnablePassthroughFunc<RunInput>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunInput>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<RunnableConfig>): AsyncGenerator<RunInput>;\n /**\n * A runnable that assigns key-value pairs to the input.\n *\n * The example below shows how you could use it with an inline function.\n *\n * @example\n * ```typescript\n * const prompt =\n * PromptTemplate.fromTemplate(`Write a SQL query to answer the question using the following schema: {schema}\n * Question: {question}\n * SQL Query:`);\n *\n * // The `RunnablePassthrough.assign()` is used here to passthrough the input from the `.invoke()`\n * // call (in this example it's the question), along with any inputs passed to the `.assign()` method.\n * // In this case, we're passing the schema.\n * const sqlQueryGeneratorChain = RunnableSequence.from([\n * RunnablePassthrough.assign({\n * schema: async () => db.getTableInfo(),\n * }),\n * prompt,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }).withConfig({ stop: [\"\\nSQLResult:\"] }),\n * new StringOutputParser(),\n * ]);\n * const result = await sqlQueryGeneratorChain.invoke({\n * question: \"How many employees are there?\",\n * });\n * ```\n */\n static assign<RunInput extends Record<string, unknown> = Record<string, unknown>, RunOutput extends Record<string, unknown> = Record<string, unknown>>(mapping: RunnableMapLike<RunInput, RunOutput>): RunnableAssign<RunInput, RunInput & RunOutput>;\n}\nexport {};\n//# sourceMappingURL=passthrough.d.ts.map"],"mappings":";;;;;KAEKI,mDAAmDC,8BAA8BA,mBAAmBF,oCAAoCE,aAAaC,0BAA0BD,mBAAmBF,mBAAmBG;;;AADxK;;;;;;;;;AAC+K;AA2BjO;;;;;;;;;;;;;;AASoEH,cAT/CI,mBAS+CJ,CAAAA,WAAAA,GAAAA,CAAAA,SATHH,QASGG,CATME,QASNF,EATgBE,QAShBF,CAAAA,CAAAA;EAARM,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAyCJ,YAAAA,EAAAA,MAAAA,EAAAA;EAAfK,eAAAA,EAAAA,OAAAA;EA6BnDC,IAAAA,CAAAA,EAlCxBP,uBAkCwBO,CAlCAN,QAkCAM,CAAAA;EAA0BA,WAAAA,CAAAA,MAAqEA,CAArEA,EAAAA;IAA2CA,IAAAA,CAAAA,EAhCzFP,uBAgCyFO,CAhCjEN,QAgCiEM,CAAAA;EAA0BA,CAAAA;EAAkDN,MAAAA,CAAAA,KAAAA,EA9BlKA,QA8BkKA,EAAAA,OAAAA,CAAAA,EA9B9II,OA8B8IJ,CA9BtIF,cA8BsIE,CAAAA,CAAAA,EA9BpHC,OA8BoHD,CA9B5GA,QA8B4GA,CAAAA;EAAUG,SAAAA,CAAAA,SAAAA,EA7BrKE,cA6BqKF,CA7BtJH,QA6BsJG,CAAAA,EAAAA,OAAAA,EA7BlIC,OA6BkID,CA7B1HL,cA6B0HK,CAAAA,CAAAA,EA7BxGE,cA6BwGF,CA7BzFH,QA6ByFG,CAAAA;EAA1BN;;;;;;AAtC3F;;;;;;;;;;;;;;;;;;;;;;iCAsCtCS,0BAA0BA,2CAA2CA,0BAA0BA,kCAAkCT,gBAAgBG,UAAUG,aAAaP,eAAeI,UAAUA,WAAWG"}
@@ -5,7 +5,6 @@ import { Runnable } from "./base.cjs";
5
5
  //#region src/runnables/router.d.ts
6
6
  type RouterInput = {
7
7
  key: string;
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
8
  input: any;
10
9
  };
11
10
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.cts","names":["Runnable","RunnableBatchOptions","IterableReadableStream","RunnableConfig","RouterInput","RouterRunnable","RunInput","RunnableInput","RunOutput","Record","Partial","Promise","Error"],"sources":["../../src/runnables/router.d.ts"],"sourcesContent":["import { Runnable, type RunnableBatchOptions } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { type RunnableConfig } from \"./config.js\";\nexport type RouterInput = {\n key: string;\n input: any;\n};\n/**\n * A runnable that routes to a set of runnables based on Input['key'].\n * Returns the output of the selected runnable.\n * @example\n * ```typescript\n * import { RouterRunnable, RunnableLambda } from \"@langchain/core/runnables\";\n *\n * const router = new RouterRunnable({\n * runnables: {\n * toUpperCase: RunnableLambda.from((text: string) => text.toUpperCase()),\n * reverseText: RunnableLambda.from((text: string) =>\n * text.split(\"\").reverse().join(\"\")\n * ),\n * },\n * });\n *\n * // Invoke the 'reverseText' runnable\n * const result1 = router.invoke({ key: \"reverseText\", input: \"Hello World\" });\n *\n * // \"dlroW olleH\"\n *\n * // Invoke the 'toUpperCase' runnable\n * const result2 = router.invoke({ key: \"toUpperCase\", input: \"Hello World\" });\n *\n * // \"HELLO WORLD\"\n * ```\n */\nexport declare class RouterRunnable<RunInput extends RouterInput, RunnableInput, RunOutput> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n constructor(fields: {\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<RunnableConfig>): Promise<IterableReadableStream<RunOutput>>;\n}\n//# sourceMappingURL=router.d.ts.map"],"mappings":";;;;;KAGYI,WAAAA;;EAAAA,KAAAA,EAAAA,GAAAA;AA+BZ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAY0ED,cAZrDE,cAYqDF,CAAAA,iBAZrBC,WAYqBD,EAAAA,aAAAA,EAAAA,SAAAA,CAAAA,SAZ0BH,QAY1BG,CAZmCG,QAYnCH,EAZ6CK,SAY7CL,CAAAA,CAAAA;EAARO,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAA0CT,YAAAA,EAAAA,MAAAA,EAAAA;EAE3FO,eAAAA,EAAAA,OAAAA;EAAYI,SAAAA,EAVdH,MAUcG,CAAAA,MAAAA,EAVCZ,QAUDY,CAVUL,aAUVK,EAVyBJ,SAUzBI,CAAAA,CAAAA;EAArBD,WAAAA,CAAAA,MAAAA,EAAAA;IACUL,SAAAA,EATCG,MASDH,CAAAA,MAAAA,EATgBN,QAShBM,CATyBC,aASzBD,EATwCE,SASxCF,CAAAA,CAAAA;EAA8BH,CAAAA;EAARO,MAAAA,CAAAA,KAAAA,EAPtBJ,QAOsBI,EAAAA,OAAAA,CAAAA,EAPFA,OAOEA,CAPMP,cAONO,CAAAA,CAAAA,EAPwBC,OAOxBD,CAPgCF,SAOhCE,CAAAA;EAAkCP,KAAAA,CAAAA,MAAAA,EANxDG,QAMwDH,EAAAA,EAAAA,OAAAA,CAAAA,EANlCO,OAMkCP,CAN1BA,cAM0BA,CAAAA,GANRO,OAMQP,CANAA,cAMAA,CAAAA,EAAAA,EAAAA,YAAkCF,CAAlCE,EANkCF,oBAMlCE,GAAAA;IAARO,gBAAAA,CAAAA,EAAAA,KAAAA;EAA0CT,CAAAA,CAAAA,EAJpGU,OAIoGV,CAJ5FO,SAI4FP,EAAAA,CAAAA;EAAgCO,KAAAA,CAAAA,MAAAA,EAH1HF,QAG0HE,EAAAA,EAAAA,OAAAA,CAAAA,EAHpGE,OAGoGF,CAH5FL,cAG4FK,CAAAA,GAH1EE,OAG0EF,CAHlEL,cAGkEK,CAAAA,EAAAA,EAAAA,YAATG,CAASH,EAHhCP,oBAGgCO,GAAAA;IAAYI,gBAAAA,EAAAA,IAAAA;EAArBD,CAAAA,CAAAA,EAD3HA,OAC2HA,CAAAA,CADlHH,SACkHG,GADtGC,KACsGD,CAAAA,EAAAA,CAAAA;EACjHL,KAAAA,CAAAA,MAAAA,EADAA,QACAA,EAAAA,EAAAA,OAAAA,CAAAA,EADsBI,OACtBJ,CAD8BH,cAC9BG,CAAAA,GADgDI,OAChDJ,CADwDH,cACxDG,CAAAA,EAAAA,EAAAA,YAAAA,CAAAA,EAD0FL,oBAC1FK,CAAAA,EADiHK,OACjHL,CAAAA,CAD0HE,SAC1HF,GADsIM,KACtIN,CAAAA,EAAAA,CAAAA;EAA4BH,MAAAA,CAAAA,KAAAA,EAA5BG,QAA4BH,EAAAA,OAAAA,CAAAA,EAARO,OAAQP,CAAAA,cAAAA,CAAAA,CAAAA,EAAkBQ,OAAlBR,CAA0BD,sBAA1BC,CAAiDK,SAAjDL,CAAAA,CAAAA"}
@@ -6,7 +6,6 @@ import { Runnable } from "./base.js";
6
6
  //#region src/runnables/router.d.ts
7
7
  type RouterInput = {
8
8
  key: string;
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
9
  input: any;
11
10
  };
12
11
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","names":["Runnable","RunnableBatchOptions","IterableReadableStream","RunnableConfig","RouterInput","RouterRunnable","RunInput","RunnableInput","RunOutput","Record","Partial","Promise","Error"],"sources":["../../src/runnables/router.d.ts"],"sourcesContent":["import { Runnable, type RunnableBatchOptions } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { type RunnableConfig } from \"./config.js\";\nexport type RouterInput = {\n key: string;\n input: any;\n};\n/**\n * A runnable that routes to a set of runnables based on Input['key'].\n * Returns the output of the selected runnable.\n * @example\n * ```typescript\n * import { RouterRunnable, RunnableLambda } from \"@langchain/core/runnables\";\n *\n * const router = new RouterRunnable({\n * runnables: {\n * toUpperCase: RunnableLambda.from((text: string) => text.toUpperCase()),\n * reverseText: RunnableLambda.from((text: string) =>\n * text.split(\"\").reverse().join(\"\")\n * ),\n * },\n * });\n *\n * // Invoke the 'reverseText' runnable\n * const result1 = router.invoke({ key: \"reverseText\", input: \"Hello World\" });\n *\n * // \"dlroW olleH\"\n *\n * // Invoke the 'toUpperCase' runnable\n * const result2 = router.invoke({ key: \"toUpperCase\", input: \"Hello World\" });\n *\n * // \"HELLO WORLD\"\n * ```\n */\nexport declare class RouterRunnable<RunInput extends RouterInput, RunnableInput, RunOutput> extends Runnable<RunInput, RunOutput> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n constructor(fields: {\n runnables: Record<string, Runnable<RunnableInput, RunOutput>>;\n });\n invoke(input: RunInput, options?: Partial<RunnableConfig>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<RunnableConfig> | Partial<RunnableConfig>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<RunnableConfig>): Promise<IterableReadableStream<RunOutput>>;\n}\n//# sourceMappingURL=router.d.ts.map"],"mappings":";;;;;;KAGYI,WAAAA;;;AAAZ,CAAA;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYwCM,cAZnBL,cAYmBK,CAAAA,iBAZaN,WAYbM,EAAAA,aAAAA,EAAAA,SAAAA,CAAAA,SAZ4DV,QAY5DU,CAZqEJ,QAYrEI,EAZ+EF,SAY/EE,CAAAA,CAAAA;EAAkCP,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAARO,YAAAA,EAAAA,MAAAA,EAAAA;EAA0CT,eAAAA,EAAAA,OAAAA;EAE3FO,SAAAA,EAVFC,MAUED,CAAAA,MAAAA,EAVaR,QAUbQ,CAVsBD,aAUtBC,EAVqCA,SAUrCA,CAAAA,CAAAA;EAAYI,WAAAA,CAAAA,MAAAA,EAAAA;IAArBD,SAAAA,EARWF,MAQXE,CAAAA,MAAAA,EAR0BX,QAQ1BW,CARmCJ,aAQnCI,EARkDH,SAQlDG,CAAAA,CAAAA;EACUL,CAAAA;EAA8BH,MAAAA,CAAAA,KAAAA,EAP9BG,QAO8BH,EAAAA,OAAAA,CAAAA,EAPVO,OAOUP,CAPFA,cAOEA,CAAAA,CAAAA,EAPgBQ,OAOhBR,CAPwBK,SAOxBL,CAAAA;EAARO,KAAAA,CAAAA,MAAAA,EANtBJ,QAMsBI,EAAAA,EAAAA,OAAAA,CAAAA,EANAA,OAMAA,CANQP,cAMRO,CAAAA,GAN0BA,OAM1BA,CANkCP,cAMlCO,CAAAA,EAAAA,EAAAA,YAA0BA,CAA1BA,EANoET,oBAMpES,GAAAA;IAAkCP,gBAAAA,CAAAA,EAAAA,KAAAA;EAARO,CAAAA,CAAAA,EAJ1DC,OAI0DD,CAJlDF,SAIkDE,EAAAA,CAAAA;EAA0CT,KAAAA,CAAAA,MAAAA,EAH1FK,QAG0FL,EAAAA,EAAAA,OAAAA,CAAAA,EAHpES,OAGoET,CAH5DE,cAG4DF,CAAAA,GAH1CS,OAG0CT,CAHlCE,cAGkCF,CAAAA,EAAAA,EAAAA,YAA4CW,CAA5CX,EAHAA,oBAGAA,GAAAA;IAAgCO,gBAAAA,EAAAA,IAAAA;EAAYI,CAAAA,CAAAA,EADhJD,OACgJC,CAAAA,CADvIJ,SACuII,GAD3HA,KAC2HA,CAAAA,EAAAA,CAAAA;EAArBD,KAAAA,CAAAA,MAAAA,EAAjHL,QAAiHK,EAAAA,EAAAA,OAAAA,CAAAA,EAA3FD,OAA2FC,CAAnFR,cAAmFQ,CAAAA,GAAjED,OAAiEC,CAAzDR,cAAyDQ,CAAAA,EAAAA,EAAAA,YAAAA,CAAAA,EAAvBV,oBAAuBU,CAAAA,EAAAA,OAAAA,CAAAA,CAASH,SAATG,GAAqBC,KAArBD,CAAAA,EAAAA,CAAAA;EACjHL,MAAAA,CAAAA,KAAAA,EAAAA,QAAAA,EAAAA,OAAAA,CAAAA,EAAoBI,OAApBJ,CAA4BH,cAA5BG,CAAAA,CAAAA,EAA8CK,OAA9CL,CAAsDJ,sBAAtDI,CAA6EE,SAA7EF,CAAAA,CAAAA"}
@@ -19,11 +19,7 @@ type RunnableIOSchema = {
19
19
  *
20
20
  * Should not change on patch releases.
21
21
  */
22
- interface RunnableInterface<
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- RunInput = any,
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {
22
+ interface RunnableInterface<RunInput = any, RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {
27
23
  lc_serializable: boolean;
28
24
  invoke(input: RunInput, options?: Partial<CallOptions>): Promise<RunOutput>;
29
25
  batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {
@@ -47,12 +43,9 @@ interface Node {
47
43
  id: string;
48
44
  name: string;
49
45
  data: RunnableIOSchema | RunnableInterface;
50
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
46
  metadata?: Record<string, any>;
52
47
  }
53
- interface RunnableConfig<
54
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
- ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {
48
+ interface RunnableConfig<ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {
56
49
  /**
57
50
  * Runtime values for attributes previously made configurable on this Runnable,
58
51
  * or sub-Runnables.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":["SerializableInterface","BaseCallbackConfig","IterableReadableStreamInterface","InteropZodType","RunnableBatchOptions","RunnableIOSchema","RunnableInterface","RunInput","RunOutput","CallOptions","RunnableConfig","Partial","Promise","Error","AsyncGenerator","Edge","Node","Record","ConfigurableFieldType","AbortSignal"],"sources":["../../src/runnables/types.d.ts"],"sourcesContent":["import type { SerializableInterface } from \"../load/serializable.js\";\nimport type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport type { IterableReadableStreamInterface } from \"../types/_internal.js\";\nimport { InteropZodType } from \"../utils/types/zod.js\";\nexport type RunnableBatchOptions = {\n /** @deprecated Pass in via the standard runnable config object instead */\n maxConcurrency?: number;\n returnExceptions?: boolean;\n};\nexport type RunnableIOSchema = {\n name?: string;\n schema: InteropZodType;\n};\n/**\n * Base interface implemented by all runnables.\n * Used for cross-compatibility between different versions of LangChain core.\n *\n * Should not change on patch releases.\n */\nexport interface RunnableInterface<RunInput = any, RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {\n lc_serializable: boolean;\n invoke(input: RunInput, options?: Partial<CallOptions>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<CallOptions>): Promise<IterableReadableStreamInterface<RunOutput>>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<CallOptions>): AsyncGenerator<RunOutput>;\n getName(suffix?: string): string;\n}\nexport interface Edge {\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n}\nexport interface Node {\n id: string;\n name: string;\n data: RunnableIOSchema | RunnableInterface;\n metadata?: Record<string, any>;\n}\nexport interface RunnableConfig<ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {\n /**\n * Runtime values for attributes previously made configurable on this Runnable,\n * or sub-Runnables.\n */\n configurable?: ConfigurableFieldType;\n /**\n * Maximum number of times a call can recurse. If not provided, defaults to 25.\n */\n recursionLimit?: number;\n /** Maximum number of parallel calls to make. */\n maxConcurrency?: number;\n /**\n * Timeout for this call in milliseconds.\n */\n timeout?: number;\n /**\n * Abort signal for this call.\n * If provided, the call will be aborted when the signal is aborted.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\n */\n signal?: AbortSignal;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":";;;;;;KAIYI,oBAAAA;;EAAAA,cAAAA,CAAAA,EAAAA,MAAoB;EAKpBC,gBAAAA,CAAAA,EAAgB,OAAA;AAU5B,CAAA;AAAwFK,KAV5EL,gBAAAA,GAU4EK;EAAiBA,IAAAA,CAAAA,EAAAA,MAAAA;EAEvFH,MAAAA,EAVNJ,cAUMI;CAA4BE;;;;;;;AACyBA,UAHtDH,iBAGsDG,CAAAA,WAAAA,GAAAA,EAAAA,YAAAA,GAAAA,EAAAA,oBAHiBC,cAGjBD,GAHkCC,cAGlCD,CAAAA,SAH0DT,qBAG1DS,CAAAA;EAARE,eAAAA,EAAAA,OAAAA;EAAuCP,MAAAA,CAAAA,KAAAA,EADpFG,QACoFH,EAAAA,OAAAA,CAAAA,EADhEO,OACgEP,CADxDK,WACwDL,CAAAA,CAAAA,EADzCQ,OACyCR,CADjCI,SACiCJ,CAAAA;EAEtFI,KAAAA,CAAAA,MAAAA,EAFED,QAEFC,EAAAA,EAAAA,OAAAA,CAAAA,EAFwBG,OAExBH,CAFgCC,WAEhCD,CAAAA,GAF+CG,OAE/CH,CAFuDC,WAEvDD,CAAAA,EAAAA,EAAAA,YACED,CADFC,EAFsFJ,oBAEtFI,GAAAA;IAARI,gBAAAA,CAAAA,EAAAA,KAAAA;EACUL,CAAAA,CAAAA,EADVK,OACUL,CADFC,SACED,EAAAA,CAAAA;EAA8BE,KAAAA,CAAAA,MAAAA,EAA9BF,QAA8BE,EAAAA,EAAAA,OAAAA,CAAAA,EAARE,OAAQF,CAAAA,WAAAA,CAAAA,GAAeE,OAAfF,CAAuBA,WAAvBA,CAAAA,EAAAA,EAAAA,YAAuBA,CAAvBA,EAAsDL,oBAAtDK,GAAAA;IAARE,gBAAAA,EAAAA,IAAAA;EAA+BF,CAAAA,CAAAA,EAE/DG,OAF+DH,CAAAA,CAEtDD,SAFsDC,GAE1CI,KAF0CJ,CAAAA,EAAAA,CAAAA;EAARE,KAAAA,CAAAA,MAAAA,EAG7CJ,QAH6CI,EAAAA,EAAAA,OAAAA,CAAAA,EAGvBA,OAHuBA,CAGfF,WAHeE,CAAAA,GAGAA,OAHAA,CAGQF,WAHRE,CAAAA,EAAAA,EAAAA,YAAAA,CAAAA,EAGuCP,oBAHvCO,CAAAA,EAG8DC,OAH9DD,CAAAA,CAGuEH,SAHvEG,GAGmFE,KAHnFF,CAAAA,EAAAA,CAAAA;EAAuCP,MAAAA,CAAAA,KAAAA,EAIpFG,QAJoFH,EAAAA,OAAAA,CAAAA,EAIhEO,OAJgEP,CAIxDK,WAJwDL,CAAAA,CAAAA,EAIzCQ,OAJyCR,CAIjCF,+BAJiCE,CAIDI,SAJCJ,CAAAA,CAAAA;EAErFI,SAAAA,CAAAA,SAAAA,EAGQM,cAHRN,CAGuBD,QAHvBC,CAAAA,EAAAA,OAAAA,EAG2CG,OAH3CH,CAGmDC,WAHnDD,CAAAA,CAAAA,EAGkEM,cAHlEN,CAGiFA,SAHjFA,CAAAA;EAAYK,OAAAA,CAAAA,MAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;;AACXN,UAKDQ,IAAAA,CALCR;EAA8BE,MAAAA,EAAAA,MAAAA;EAARE,MAAAA,EAAAA,MAAAA;EAA+BF,IAAAA,CAAAA,EAAAA,MAAAA;EAARE,WAAAA,CAAAA,EAAAA,OAAAA;;AAAuEH,UAWrHQ,IAAAA,CAXqHR;EAAYK,EAAAA,EAAAA,MAAAA;EAArBD,IAAAA,EAAAA,MAAAA;EAC3GL,IAAAA,EAaRF,gBAbQE,GAaWD,iBAbXC;EAA4BE,QAAAA,CAAAA,EAc/BQ,MAd+BR,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;;AAAuDD,UAgBpFE,cAhBoFF,CAAAA,8BAgBvCS,MAhBuCT,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAgBjBS,MAhBiBT,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,SAgBYP,kBAhBZO,CAAAA;EAAhCN;;;;EACDO,YAAAA,CAAAA,EAoBjDS,qBApBiDT;EAARE;;;EAXqEX,cAAAA,CAAAA,EAAAA,MAAAA;EAAqB;EAcrIe,cAAI,CAAA,EAAA,MAAA;EAMJC;;;EAIFC,OAAAA,CAAAA,EAAAA,MAAAA;EAAM;AAErB;;;;EAqBaE,MAAAA,CAAAA,EAAAA,WAAAA"}
@@ -19,11 +19,7 @@ type RunnableIOSchema = {
19
19
  *
20
20
  * Should not change on patch releases.
21
21
  */
22
- interface RunnableInterface<
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- RunInput = any,
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {
22
+ interface RunnableInterface<RunInput = any, RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {
27
23
  lc_serializable: boolean;
28
24
  invoke(input: RunInput, options?: Partial<CallOptions>): Promise<RunOutput>;
29
25
  batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {
@@ -47,12 +43,9 @@ interface Node {
47
43
  id: string;
48
44
  name: string;
49
45
  data: RunnableIOSchema | RunnableInterface;
50
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
46
  metadata?: Record<string, any>;
52
47
  }
53
- interface RunnableConfig<
54
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
- ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {
48
+ interface RunnableConfig<ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {
56
49
  /**
57
50
  * Runtime values for attributes previously made configurable on this Runnable,
58
51
  * or sub-Runnables.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":["SerializableInterface","BaseCallbackConfig","IterableReadableStreamInterface","InteropZodType","RunnableBatchOptions","RunnableIOSchema","RunnableInterface","RunInput","RunOutput","CallOptions","RunnableConfig","Partial","Promise","Error","AsyncGenerator","Edge","Node","Record","ConfigurableFieldType","AbortSignal"],"sources":["../../src/runnables/types.d.ts"],"sourcesContent":["import type { SerializableInterface } from \"../load/serializable.js\";\nimport type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport type { IterableReadableStreamInterface } from \"../types/_internal.js\";\nimport { InteropZodType } from \"../utils/types/zod.js\";\nexport type RunnableBatchOptions = {\n /** @deprecated Pass in via the standard runnable config object instead */\n maxConcurrency?: number;\n returnExceptions?: boolean;\n};\nexport type RunnableIOSchema = {\n name?: string;\n schema: InteropZodType;\n};\n/**\n * Base interface implemented by all runnables.\n * Used for cross-compatibility between different versions of LangChain core.\n *\n * Should not change on patch releases.\n */\nexport interface RunnableInterface<RunInput = any, RunOutput = any, CallOptions extends RunnableConfig = RunnableConfig> extends SerializableInterface {\n lc_serializable: boolean;\n invoke(input: RunInput, options?: Partial<CallOptions>): Promise<RunOutput>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions?: false;\n }): Promise<RunOutput[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions & {\n returnExceptions: true;\n }): Promise<(RunOutput | Error)[]>;\n batch(inputs: RunInput[], options?: Partial<CallOptions> | Partial<CallOptions>[], batchOptions?: RunnableBatchOptions): Promise<(RunOutput | Error)[]>;\n stream(input: RunInput, options?: Partial<CallOptions>): Promise<IterableReadableStreamInterface<RunOutput>>;\n transform(generator: AsyncGenerator<RunInput>, options: Partial<CallOptions>): AsyncGenerator<RunOutput>;\n getName(suffix?: string): string;\n}\nexport interface Edge {\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n}\nexport interface Node {\n id: string;\n name: string;\n data: RunnableIOSchema | RunnableInterface;\n metadata?: Record<string, any>;\n}\nexport interface RunnableConfig<ConfigurableFieldType extends Record<string, any> = Record<string, any>> extends BaseCallbackConfig {\n /**\n * Runtime values for attributes previously made configurable on this Runnable,\n * or sub-Runnables.\n */\n configurable?: ConfigurableFieldType;\n /**\n * Maximum number of times a call can recurse. If not provided, defaults to 25.\n */\n recursionLimit?: number;\n /** Maximum number of parallel calls to make. */\n maxConcurrency?: number;\n /**\n * Timeout for this call in milliseconds.\n */\n timeout?: number;\n /**\n * Abort signal for this call.\n * If provided, the call will be aborted when the signal is aborted.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\n */\n signal?: AbortSignal;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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"}
@@ -102,7 +102,6 @@ declare function setContextVariable<T>(name: PropertyKey, value: T): void;
102
102
  *
103
103
  * @param name The name of the context variable.
104
104
  */
105
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
105
  declare function getContextVariable<T = any>(name: PropertyKey): T | undefined;
107
106
  /**
108
107
  * Register a callback configure hook to automatically add callback handlers to all runs.
@@ -153,7 +152,6 @@ declare const registerConfigureHook: (config: ConfigureHook) => void;
153
152
  type ConfigureHook = {
154
153
  contextVar?: string;
155
154
  inheritable?: boolean;
156
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
157
155
  handlerClass?: new (...args: any[]) => BaseCallbackHandler;
158
156
  envVar?: string;
159
157
  };