langchain 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (405) hide show
  1. package/dist/agents/ReactAgent.cjs +5 -5
  2. package/dist/agents/ReactAgent.cjs.map +1 -1
  3. package/dist/agents/ReactAgent.d.cts +2 -5
  4. package/dist/agents/ReactAgent.d.cts.map +1 -1
  5. package/dist/agents/ReactAgent.d.ts +2 -5
  6. package/dist/agents/ReactAgent.d.ts.map +1 -1
  7. package/dist/agents/ReactAgent.js +6 -6
  8. package/dist/agents/ReactAgent.js.map +1 -1
  9. package/dist/agents/annotation.cjs.map +1 -1
  10. package/dist/agents/annotation.d.cts +13 -8
  11. package/dist/agents/annotation.d.cts.map +1 -1
  12. package/dist/agents/annotation.d.ts +13 -8
  13. package/dist/agents/annotation.d.ts.map +1 -1
  14. package/dist/agents/annotation.js.map +1 -1
  15. package/dist/agents/createAgent.cjs.map +1 -1
  16. package/dist/agents/createAgent.js.map +1 -1
  17. package/dist/agents/index.cjs +2 -2
  18. package/dist/agents/index.cjs.map +1 -1
  19. package/dist/agents/index.d.cts +50 -50
  20. package/dist/agents/index.d.cts.map +1 -1
  21. package/dist/agents/index.d.ts +50 -50
  22. package/dist/agents/index.d.ts.map +1 -1
  23. package/dist/agents/index.js +2 -2
  24. package/dist/agents/index.js.map +1 -1
  25. package/dist/agents/interrupt.d.cts +14 -1
  26. package/dist/agents/interrupt.d.cts.map +1 -1
  27. package/dist/agents/interrupt.d.ts +14 -1
  28. package/dist/agents/interrupt.d.ts.map +1 -1
  29. package/dist/agents/middlewareAgent/ReactAgent.cjs +273 -66
  30. package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -1
  31. package/dist/agents/middlewareAgent/ReactAgent.d.cts +102 -16
  32. package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -1
  33. package/dist/agents/middlewareAgent/ReactAgent.d.ts +102 -16
  34. package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -1
  35. package/dist/agents/middlewareAgent/ReactAgent.js +275 -68
  36. package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -1
  37. package/dist/agents/middlewareAgent/annotation.cjs +12 -6
  38. package/dist/agents/middlewareAgent/annotation.cjs.map +1 -1
  39. package/dist/agents/middlewareAgent/annotation.js +12 -6
  40. package/dist/agents/middlewareAgent/annotation.js.map +1 -1
  41. package/dist/agents/middlewareAgent/constants.d.cts +5 -0
  42. package/dist/agents/middlewareAgent/constants.d.cts.map +1 -0
  43. package/dist/agents/middlewareAgent/constants.d.ts +5 -0
  44. package/dist/agents/middlewareAgent/constants.d.ts.map +1 -0
  45. package/dist/agents/middlewareAgent/index.cjs.map +1 -1
  46. package/dist/agents/middlewareAgent/index.js.map +1 -1
  47. package/dist/agents/middlewareAgent/middleware/bigTool.cjs +162 -0
  48. package/dist/agents/middlewareAgent/middleware/bigTool.cjs.map +1 -0
  49. package/dist/agents/middlewareAgent/middleware/bigTool.d.cts +113 -0
  50. package/dist/agents/middlewareAgent/middleware/bigTool.d.cts.map +1 -0
  51. package/dist/agents/middlewareAgent/middleware/bigTool.d.ts +113 -0
  52. package/dist/agents/middlewareAgent/middleware/bigTool.d.ts.map +1 -0
  53. package/dist/agents/middlewareAgent/middleware/bigTool.js +161 -0
  54. package/dist/agents/middlewareAgent/middleware/bigTool.js.map +1 -0
  55. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs +58 -0
  56. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs.map +1 -0
  57. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts +46 -0
  58. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts.map +1 -0
  59. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts +46 -0
  60. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts.map +1 -0
  61. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js +58 -0
  62. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js.map +1 -0
  63. package/dist/agents/middlewareAgent/middleware/hitl.cjs +311 -0
  64. package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -0
  65. package/dist/agents/middlewareAgent/middleware/hitl.d.cts +419 -0
  66. package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -0
  67. package/dist/agents/middlewareAgent/middleware/hitl.d.ts +419 -0
  68. package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -0
  69. package/dist/agents/middlewareAgent/middleware/hitl.js +310 -0
  70. package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -0
  71. package/dist/agents/middlewareAgent/middleware/index.cjs +32 -0
  72. package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -0
  73. package/dist/agents/middlewareAgent/middleware/index.d.cts +6 -0
  74. package/dist/agents/middlewareAgent/middleware/index.d.ts +6 -0
  75. package/dist/agents/middlewareAgent/middleware/index.js +21 -0
  76. package/dist/agents/middlewareAgent/middleware/index.js.map +1 -0
  77. package/dist/agents/middlewareAgent/{middlewares → middleware}/promptCaching.cjs +72 -27
  78. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -0
  79. package/dist/agents/middlewareAgent/{middlewares → middleware}/promptCaching.d.cts +60 -15
  80. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -0
  81. package/dist/agents/middlewareAgent/{middlewares → middleware}/promptCaching.d.ts +60 -15
  82. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -0
  83. package/dist/agents/middlewareAgent/{middlewares → middleware}/promptCaching.js +71 -26
  84. package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -0
  85. package/dist/agents/middlewareAgent/{middlewares → middleware}/summarization.cjs +35 -23
  86. package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -0
  87. package/dist/agents/middlewareAgent/{middlewares → middleware}/summarization.d.cts +7 -5
  88. package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -0
  89. package/dist/agents/middlewareAgent/{middlewares → middleware}/summarization.d.ts +7 -5
  90. package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -0
  91. package/dist/agents/middlewareAgent/{middlewares → middleware}/summarization.js +29 -17
  92. package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -0
  93. package/dist/agents/middlewareAgent/middleware.cjs +8 -5
  94. package/dist/agents/middlewareAgent/middleware.cjs.map +1 -1
  95. package/dist/agents/middlewareAgent/middleware.d.cts +67 -7
  96. package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -1
  97. package/dist/agents/middlewareAgent/middleware.d.ts +67 -7
  98. package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -1
  99. package/dist/agents/middlewareAgent/middleware.js +8 -5
  100. package/dist/agents/middlewareAgent/middleware.js.map +1 -1
  101. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +2 -2
  102. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -1
  103. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +2 -2
  104. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -1
  105. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +125 -83
  106. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -1
  107. package/dist/agents/middlewareAgent/nodes/AgentNode.js +128 -86
  108. package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -1
  109. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +2 -2
  110. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -1
  111. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +2 -2
  112. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -1
  113. package/dist/agents/middlewareAgent/nodes/middleware.cjs +42 -17
  114. package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -1
  115. package/dist/agents/middlewareAgent/nodes/middleware.js +42 -18
  116. package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -1
  117. package/dist/agents/middlewareAgent/nodes/utils.cjs +30 -16
  118. package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -1
  119. package/dist/agents/middlewareAgent/nodes/utils.js +28 -14
  120. package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -1
  121. package/dist/agents/middlewareAgent/types.d.cts +162 -88
  122. package/dist/agents/middlewareAgent/types.d.cts.map +1 -1
  123. package/dist/agents/middlewareAgent/types.d.ts +162 -88
  124. package/dist/agents/middlewareAgent/types.d.ts.map +1 -1
  125. package/dist/agents/model.cjs +13 -0
  126. package/dist/agents/model.cjs.map +1 -0
  127. package/dist/agents/model.js +11 -0
  128. package/dist/agents/model.js.map +1 -0
  129. package/dist/agents/nodes/AgentNode.cjs +60 -32
  130. package/dist/agents/nodes/AgentNode.cjs.map +1 -1
  131. package/dist/agents/nodes/AgentNode.js +61 -33
  132. package/dist/agents/nodes/AgentNode.js.map +1 -1
  133. package/dist/agents/nodes/ToolNode.cjs +4 -4
  134. package/dist/agents/nodes/ToolNode.cjs.map +1 -1
  135. package/dist/agents/nodes/ToolNode.d.cts +2 -3
  136. package/dist/agents/nodes/ToolNode.d.cts.map +1 -1
  137. package/dist/agents/nodes/ToolNode.d.ts +1 -2
  138. package/dist/agents/nodes/ToolNode.d.ts.map +1 -1
  139. package/dist/agents/nodes/ToolNode.js +5 -5
  140. package/dist/agents/nodes/ToolNode.js.map +1 -1
  141. package/dist/agents/responses.cjs +53 -11
  142. package/dist/agents/responses.cjs.map +1 -1
  143. package/dist/agents/responses.d.cts +12 -20
  144. package/dist/agents/responses.d.cts.map +1 -1
  145. package/dist/agents/responses.d.ts +12 -20
  146. package/dist/agents/responses.d.ts.map +1 -1
  147. package/dist/agents/responses.js +53 -12
  148. package/dist/agents/responses.js.map +1 -1
  149. package/dist/agents/types.d.cts +3 -6
  150. package/dist/agents/types.d.cts.map +1 -1
  151. package/dist/agents/types.d.ts +3 -6
  152. package/dist/agents/types.d.ts.map +1 -1
  153. package/dist/agents/utils.cjs +11 -29
  154. package/dist/agents/utils.cjs.map +1 -1
  155. package/dist/agents/utils.js +9 -26
  156. package/dist/agents/utils.js.map +1 -1
  157. package/dist/agents/withAgentName.cjs.map +1 -1
  158. package/dist/agents/withAgentName.js.map +1 -1
  159. package/dist/chains/api/prompts.cjs.map +1 -1
  160. package/dist/chains/api/prompts.js.map +1 -1
  161. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
  162. package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
  163. package/dist/chains/index.cjs +0 -3
  164. package/dist/chains/index.cjs.map +1 -1
  165. package/dist/chains/index.d.cts +1 -2
  166. package/dist/chains/index.d.ts +1 -2
  167. package/dist/chains/index.js +1 -3
  168. package/dist/chains/index.js.map +1 -1
  169. package/dist/chains/openai_functions/extraction.cjs.map +1 -1
  170. package/dist/chains/openai_functions/extraction.d.cts +1 -3
  171. package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
  172. package/dist/chains/openai_functions/extraction.d.ts +1 -3
  173. package/dist/chains/openai_functions/extraction.d.ts.map +1 -1
  174. package/dist/chains/openai_functions/extraction.js.map +1 -1
  175. package/dist/chains/openai_functions/index.cjs +0 -5
  176. package/dist/chains/openai_functions/index.cjs.map +1 -1
  177. package/dist/chains/openai_functions/index.d.cts +1 -2
  178. package/dist/chains/openai_functions/index.d.ts +1 -2
  179. package/dist/chains/openai_functions/index.js +1 -4
  180. package/dist/chains/openai_functions/index.js.map +1 -1
  181. package/dist/chains/openai_functions/openapi.cjs +4 -4
  182. package/dist/chains/openai_functions/openapi.cjs.map +1 -1
  183. package/dist/chains/openai_functions/openapi.d.cts +1 -1
  184. package/dist/chains/openai_functions/openapi.js +4 -4
  185. package/dist/chains/openai_functions/openapi.js.map +1 -1
  186. package/dist/chains/openai_functions/tagging.cjs.map +1 -1
  187. package/dist/chains/openai_functions/tagging.d.cts +1 -3
  188. package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
  189. package/dist/chains/openai_functions/tagging.d.ts +1 -3
  190. package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
  191. package/dist/chains/openai_functions/tagging.js.map +1 -1
  192. package/dist/chains/query_constructor/index.cjs +4 -4
  193. package/dist/chains/query_constructor/index.cjs.map +1 -1
  194. package/dist/chains/query_constructor/index.d.cts +4 -2
  195. package/dist/chains/query_constructor/index.d.cts.map +1 -1
  196. package/dist/chains/query_constructor/index.d.ts +4 -2
  197. package/dist/chains/query_constructor/index.d.ts.map +1 -1
  198. package/dist/chains/query_constructor/index.js +1 -1
  199. package/dist/chains/query_constructor/index.js.map +1 -1
  200. package/dist/chains/question_answering/load.d.ts +2 -2
  201. package/dist/chains/question_answering/load.d.ts.map +1 -1
  202. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
  203. package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
  204. package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
  205. package/dist/chains/question_answering/refine_prompts.js.map +1 -1
  206. package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
  207. package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
  208. package/dist/chains/router/multi_prompt.cjs +4 -4
  209. package/dist/chains/router/multi_prompt.cjs.map +1 -1
  210. package/dist/chains/router/multi_prompt.js +1 -1
  211. package/dist/chains/router/multi_prompt.js.map +1 -1
  212. package/dist/chains/router/multi_retrieval_qa.cjs +4 -4
  213. package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
  214. package/dist/chains/router/multi_retrieval_qa.js +1 -1
  215. package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
  216. package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
  217. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
  218. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
  219. package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
  220. package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
  221. package/dist/chains/summarization/stuff_prompts.js.map +1 -1
  222. package/dist/chat_models/universal.cjs +8 -5
  223. package/dist/chat_models/universal.cjs.map +1 -1
  224. package/dist/chat_models/universal.d.cts +2 -2
  225. package/dist/chat_models/universal.d.cts.map +1 -1
  226. package/dist/chat_models/universal.d.ts +2 -2
  227. package/dist/chat_models/universal.d.ts.map +1 -1
  228. package/dist/chat_models/universal.js +8 -5
  229. package/dist/chat_models/universal.js.map +1 -1
  230. package/dist/document_loaders/fs/directory.cjs.map +1 -1
  231. package/dist/document_loaders/fs/directory.d.cts +0 -1
  232. package/dist/document_loaders/fs/directory.d.cts.map +1 -1
  233. package/dist/document_loaders/fs/directory.d.ts +0 -1
  234. package/dist/document_loaders/fs/directory.d.ts.map +1 -1
  235. package/dist/document_loaders/fs/directory.js.map +1 -1
  236. package/dist/document_loaders/fs/json.cjs +7 -1
  237. package/dist/document_loaders/fs/json.cjs.map +1 -1
  238. package/dist/document_loaders/fs/json.js +7 -1
  239. package/dist/document_loaders/fs/json.js.map +1 -1
  240. package/dist/embeddings/cache_backed.cjs +1 -1
  241. package/dist/embeddings/cache_backed.cjs.map +1 -1
  242. package/dist/embeddings/cache_backed.d.cts +1 -1
  243. package/dist/embeddings/cache_backed.d.ts +2 -2
  244. package/dist/embeddings/cache_backed.js +2 -2
  245. package/dist/embeddings/cache_backed.js.map +1 -1
  246. package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
  247. package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
  248. package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
  249. package/dist/evaluation/embedding_distance/base.cjs +2 -4
  250. package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
  251. package/dist/evaluation/embedding_distance/base.js +2 -3
  252. package/dist/evaluation/embedding_distance/base.js.map +1 -1
  253. package/dist/evaluation/loader.cjs +7 -12
  254. package/dist/evaluation/loader.cjs.map +1 -1
  255. package/dist/evaluation/loader.d.cts +8 -2
  256. package/dist/evaluation/loader.d.cts.map +1 -1
  257. package/dist/evaluation/loader.d.ts +8 -2
  258. package/dist/evaluation/loader.d.ts.map +1 -1
  259. package/dist/evaluation/loader.js +7 -12
  260. package/dist/evaluation/loader.js.map +1 -1
  261. package/dist/hub/base.cjs.map +1 -1
  262. package/dist/hub/base.js.map +1 -1
  263. package/dist/index.cjs +38 -6
  264. package/dist/index.cjs.map +1 -1
  265. package/dist/index.d.cts +11 -4
  266. package/dist/index.d.ts +11 -4
  267. package/dist/index.js +18 -4
  268. package/dist/index.js.map +1 -1
  269. package/dist/langchain-core/dist/load/serializable.d.cts.map +1 -1
  270. package/dist/langchain-core/dist/messages/base.d.cts +24 -33
  271. package/dist/langchain-core/dist/messages/base.d.cts.map +1 -1
  272. package/dist/langchain-core/dist/messages/content/index.d.cts +21 -2
  273. package/dist/langchain-core/dist/messages/content/index.d.cts.map +1 -1
  274. package/dist/langchain-core/dist/messages/content/tools.d.cts +67 -6
  275. package/dist/langchain-core/dist/messages/content/tools.d.cts.map +1 -1
  276. package/dist/langchain-core/dist/messages/message.d.cts +598 -0
  277. package/dist/langchain-core/dist/messages/message.d.cts.map +1 -0
  278. package/dist/langchain-core/dist/messages/metadata.d.cts +97 -0
  279. package/dist/langchain-core/dist/messages/metadata.d.cts.map +1 -0
  280. package/dist/langchain-core/dist/messages/utils.d.cts +75 -0
  281. package/dist/langchain-core/dist/messages/utils.d.cts.map +1 -0
  282. package/dist/langchain-core/dist/prompt_values.d.cts.map +1 -1
  283. package/dist/langchain-core/dist/utils/types/index.d.cts.map +1 -1
  284. package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +1 -1
  285. package/dist/libs/langchain-core/dist/messages/base.d.ts +24 -33
  286. package/dist/libs/langchain-core/dist/messages/base.d.ts.map +1 -1
  287. package/dist/libs/langchain-core/dist/messages/content/index.d.ts +21 -2
  288. package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +1 -1
  289. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts +67 -6
  290. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts.map +1 -1
  291. package/dist/libs/langchain-core/dist/messages/message.d.ts +598 -0
  292. package/dist/libs/langchain-core/dist/messages/message.d.ts.map +1 -0
  293. package/dist/libs/langchain-core/dist/messages/metadata.d.ts +97 -0
  294. package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +1 -0
  295. package/dist/libs/langchain-core/dist/messages/utils.d.ts +75 -0
  296. package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +1 -0
  297. package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +1 -1
  298. package/dist/libs/langchain-core/dist/utils/types/index.d.ts +2 -0
  299. package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +1 -1
  300. package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +1 -0
  301. package/dist/load/import_map.cjs +3 -14
  302. package/dist/load/import_map.cjs.map +1 -1
  303. package/dist/load/import_map.js +3 -14
  304. package/dist/load/import_map.js.map +1 -1
  305. package/dist/memory/prompt.cjs.map +1 -1
  306. package/dist/memory/prompt.d.cts.map +1 -1
  307. package/dist/memory/prompt.d.ts.map +1 -1
  308. package/dist/memory/prompt.js.map +1 -1
  309. package/dist/output_parsers/combining.cjs +1 -1
  310. package/dist/output_parsers/combining.cjs.map +1 -1
  311. package/dist/output_parsers/combining.js +1 -1
  312. package/dist/output_parsers/combining.js.map +1 -1
  313. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +1 -1
  314. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
  315. package/dist/output_parsers/expression_type_handlers/base.cjs +1 -1
  316. package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
  317. package/dist/output_parsers/expression_type_handlers/base.js +1 -1
  318. package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
  319. package/dist/output_parsers/regex.cjs.map +1 -1
  320. package/dist/output_parsers/regex.js.map +1 -1
  321. package/dist/output_parsers/structured.cjs +4 -4
  322. package/dist/output_parsers/structured.cjs.map +1 -1
  323. package/dist/output_parsers/structured.d.cts +1 -1
  324. package/dist/output_parsers/structured.d.cts.map +1 -1
  325. package/dist/output_parsers/structured.d.ts +1 -1
  326. package/dist/output_parsers/structured.d.ts.map +1 -1
  327. package/dist/output_parsers/structured.js +2 -2
  328. package/dist/output_parsers/structured.js.map +1 -1
  329. package/dist/retrievers/ensemble.cjs.map +1 -1
  330. package/dist/retrievers/ensemble.js.map +1 -1
  331. package/dist/storage/file_system.cjs +1 -1
  332. package/dist/storage/file_system.cjs.map +1 -1
  333. package/dist/storage/file_system.js +1 -1
  334. package/dist/storage/file_system.js.map +1 -1
  335. package/dist/tools/fs.cjs +5 -5
  336. package/dist/tools/fs.cjs.map +1 -1
  337. package/dist/tools/fs.d.cts +1 -1
  338. package/dist/tools/fs.d.cts.map +1 -1
  339. package/dist/tools/fs.d.ts +1 -1
  340. package/dist/tools/fs.d.ts.map +1 -1
  341. package/dist/tools/fs.js +1 -1
  342. package/dist/tools/fs.js.map +1 -1
  343. package/dist/tools/retriever.cjs +2 -2
  344. package/dist/tools/retriever.cjs.map +1 -1
  345. package/dist/tools/retriever.d.cts +1 -1
  346. package/dist/tools/retriever.d.cts.map +1 -1
  347. package/dist/tools/retriever.d.ts +1 -1
  348. package/dist/tools/retriever.d.ts.map +1 -1
  349. package/dist/tools/retriever.js +1 -1
  350. package/dist/tools/retriever.js.map +1 -1
  351. package/dist/tools/sql.cjs +1 -2
  352. package/dist/tools/sql.cjs.map +1 -1
  353. package/dist/tools/sql.d.cts +1 -1
  354. package/dist/tools/sql.d.cts.map +1 -1
  355. package/dist/tools/sql.d.ts +1 -1
  356. package/dist/tools/sql.d.ts.map +1 -1
  357. package/dist/tools/sql.js +1 -2
  358. package/dist/tools/sql.js.map +1 -1
  359. package/dist/types/expression-parser.d.cts +2 -0
  360. package/dist/types/expression-parser.d.cts.map +1 -1
  361. package/dist/types/expression-parser.d.ts +2 -0
  362. package/dist/types/expression-parser.d.ts.map +1 -1
  363. package/dist/util/hub.cjs +1 -1
  364. package/dist/util/hub.js +1 -1
  365. package/dist/util/openapi.cjs +1 -1
  366. package/dist/util/openapi.cjs.map +1 -1
  367. package/dist/util/openapi.js +1 -1
  368. package/dist/util/openapi.js.map +1 -1
  369. package/package.json +15 -21
  370. package/dist/agents/middlewareAgent/middlewares/hitl.cjs +0 -235
  371. package/dist/agents/middlewareAgent/middlewares/hitl.cjs.map +0 -1
  372. package/dist/agents/middlewareAgent/middlewares/hitl.d.cts +0 -199
  373. package/dist/agents/middlewareAgent/middlewares/hitl.d.cts.map +0 -1
  374. package/dist/agents/middlewareAgent/middlewares/hitl.d.ts +0 -199
  375. package/dist/agents/middlewareAgent/middlewares/hitl.d.ts.map +0 -1
  376. package/dist/agents/middlewareAgent/middlewares/hitl.js +0 -234
  377. package/dist/agents/middlewareAgent/middlewares/hitl.js.map +0 -1
  378. package/dist/agents/middlewareAgent/middlewares/index.cjs +0 -8
  379. package/dist/agents/middlewareAgent/middlewares/index.d.cts +0 -4
  380. package/dist/agents/middlewareAgent/middlewares/index.d.ts +0 -4
  381. package/dist/agents/middlewareAgent/middlewares/index.js +0 -5
  382. package/dist/agents/middlewareAgent/middlewares/promptCaching.cjs.map +0 -1
  383. package/dist/agents/middlewareAgent/middlewares/promptCaching.d.cts.map +0 -1
  384. package/dist/agents/middlewareAgent/middlewares/promptCaching.d.ts.map +0 -1
  385. package/dist/agents/middlewareAgent/middlewares/promptCaching.js.map +0 -1
  386. package/dist/agents/middlewareAgent/middlewares/summarization.cjs.map +0 -1
  387. package/dist/agents/middlewareAgent/middlewares/summarization.d.cts.map +0 -1
  388. package/dist/agents/middlewareAgent/middlewares/summarization.d.ts.map +0 -1
  389. package/dist/agents/middlewareAgent/middlewares/summarization.js.map +0 -1
  390. package/dist/chains/openai_functions/structured_output.cjs +0 -107
  391. package/dist/chains/openai_functions/structured_output.cjs.map +0 -1
  392. package/dist/chains/openai_functions/structured_output.d.cts +0 -38
  393. package/dist/chains/openai_functions/structured_output.d.cts.map +0 -1
  394. package/dist/chains/openai_functions/structured_output.d.ts +0 -38
  395. package/dist/chains/openai_functions/structured_output.d.ts.map +0 -1
  396. package/dist/chains/openai_functions/structured_output.js +0 -105
  397. package/dist/chains/openai_functions/structured_output.js.map +0 -1
  398. package/dist/chains/openai_moderation.cjs +0 -107
  399. package/dist/chains/openai_moderation.cjs.map +0 -1
  400. package/dist/chains/openai_moderation.d.cts +0 -74
  401. package/dist/chains/openai_moderation.d.cts.map +0 -1
  402. package/dist/chains/openai_moderation.d.ts +0 -74
  403. package/dist/chains/openai_moderation.d.ts.map +0 -1
  404. package/dist/chains/openai_moderation.js +0 -106
  405. package/dist/chains/openai_moderation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base.cjs","names":["repoFullName: string","runnable: Runnable","options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }","ownerRepoCommit: string","options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }","varName: string","message: any","modelClass?: new (...args: any[]) => BaseLanguageModel","modelImportMap: Record<string, any>","optionalImportMap: Record<string, any>","loadedSequence: T"],"sources":["../../src/hub/base.ts"],"sourcesContent":["import type { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport type { Runnable } from \"@langchain/core/runnables\";\n\nimport type { Client, ClientConfig } from \"langsmith\";\nimport type { PromptCommit } from \"langsmith/schemas\";\n\n/**\n * Push a prompt to the hub.\n * If the specified repo doesn't already exist, it will be created.\n * @param repoFullName The full name of the repo.\n * @param runnable The prompt to push.\n * @param options\n * @returns The URL of the newly pushed prompt in the hub.\n */\nexport async function basePush(\n repoFullName: string,\n runnable: Runnable,\n options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }\n): Promise<string> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n const payloadOptions = {\n object: runnable,\n parentCommitHash: options?.parentCommitHash,\n isPublic: options?.isPublic ?? options?.newRepoIsPublic,\n description: options?.description ?? options?.newRepoDescription,\n readme: options?.readme,\n tags: options?.tags,\n };\n return client.pushPrompt(repoFullName, payloadOptions);\n}\n\nexport async function basePull(\n ownerRepoCommit: string,\n options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }\n): Promise<PromptCommit> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n\n const promptObject = await client.pullPromptCommit(ownerRepoCommit, {\n includeModel: options?.includeModel,\n });\n\n if (promptObject.manifest.kwargs?.metadata === undefined) {\n promptObject.manifest.kwargs = {\n ...promptObject.manifest.kwargs,\n metadata: {},\n };\n }\n\n promptObject.manifest.kwargs.metadata = {\n ...promptObject.manifest.kwargs.metadata,\n lc_hub_owner: promptObject.owner,\n lc_hub_repo: promptObject.repo,\n lc_hub_commit_hash: promptObject.commit_hash,\n };\n\n // Some nested mustache prompts have improperly parsed variables that include a dot.\n if (promptObject.manifest.kwargs.template_format === \"mustache\") {\n const stripDotNotation = (varName: string) => varName.split(\".\")[0];\n\n const { input_variables } = promptObject.manifest.kwargs;\n if (Array.isArray(input_variables)) {\n promptObject.manifest.kwargs.input_variables =\n input_variables.map(stripDotNotation);\n }\n\n const { messages } = promptObject.manifest.kwargs;\n if (Array.isArray(messages)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n promptObject.manifest.kwargs.messages = messages.map((message: any) => {\n const nestedVars = message?.kwargs?.prompt?.kwargs?.input_variables;\n if (Array.isArray(nestedVars)) {\n // eslint-disable-next-line no-param-reassign\n message.kwargs.prompt.kwargs.input_variables =\n nestedVars.map(stripDotNotation);\n }\n return message;\n });\n }\n }\n return promptObject;\n}\n\nexport function generateModelImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let importMapKey;\n if (modelLcName === \"ChatOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatAnthropic\") {\n importMapKey = \"chat_models__anthropic\";\n } else if (modelLcName === \"ChatAzureOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatVertexAI\") {\n importMapKey = \"chat_models__vertexai\";\n } else if (modelLcName === \"ChatGoogleGenerativeAI\") {\n importMapKey = \"chat_models__google_genai\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n importMapKey = \"chat_models__chat_bedrock_converse\";\n } else if (modelLcName === \"ChatMistral\") {\n importMapKey = \"chat_models__mistralai\";\n } else if (modelLcName === \"ChatFireworks\") {\n importMapKey = \"chat_models__fireworks\";\n } else if (modelLcName === \"ChatGroq\") {\n importMapKey = \"chat_models__groq\";\n } else {\n throw new Error(\"Received unsupported model class when pulling prompt.\");\n }\n modelImportMap[importMapKey] = {\n ...modelImportMap[importMapKey],\n [modelLcName]: modelClass,\n };\n }\n return modelImportMap;\n}\n\nexport function generateOptionalImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const optionalImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let optionalImportMapKey;\n if (modelLcName === \"ChatGoogleGenerativeAI\") {\n optionalImportMapKey = \"langchain_google_genai/chat_models\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n optionalImportMapKey = \"langchain_aws/chat_models\";\n } else if (modelLcName === \"ChatGroq\") {\n optionalImportMapKey = \"langchain_groq/chat_models\";\n }\n if (optionalImportMapKey !== undefined) {\n optionalImportMap[optionalImportMapKey] = {\n [modelLcName]: modelClass,\n };\n }\n }\n return optionalImportMap;\n}\n\nexport function bindOutputSchema<T extends Runnable>(loadedSequence: T) {\n if (\n \"first\" in loadedSequence &&\n loadedSequence.first !== null &&\n typeof loadedSequence.first === \"object\" &&\n \"schema\" in loadedSequence.first &&\n \"last\" in loadedSequence &&\n loadedSequence.last !== null &&\n typeof loadedSequence.last === \"object\" &&\n \"bound\" in loadedSequence.last &&\n loadedSequence.last.bound !== null &&\n typeof loadedSequence.last.bound === \"object\" &&\n \"withStructuredOutput\" in loadedSequence.last.bound &&\n typeof loadedSequence.last.bound.withStructuredOutput === \"function\"\n ) {\n // eslint-disable-next-line no-param-reassign\n loadedSequence.last.bound = loadedSequence.last.bound.withStructuredOutput(\n loadedSequence.first.schema\n );\n }\n return loadedSequence;\n}\n\n/**\n * Dynamically load the LangSmith client.\n * @returns The LangSmith client.\n */\nasync function loadLangSmith(): Promise<new (config?: ClientConfig) => Client> {\n try {\n const { Client } = await import(\"langsmith\");\n return Client;\n } catch (error) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n const errorMessage = error instanceof Error ? error.message : String(error);\n throw new Error(\n `Error loading \"langsmith\" package, install it via \\`npm install langsmith\\` before you use this function.\\nError: ${errorMessage}`\n );\n }\n}\n"],"mappings":";;;;;;;;;;AAcA,eAAsB,SACpBA,cACAC,UACAC,SAaiB;CACjB,MAAM,SAAS,MAAM,eAAe;CACpC,MAAM,SAAS,IAAI,OAAO;CAC1B,MAAM,iBAAiB;EACrB,QAAQ;EACR,kBAAkB,SAAS;EAC3B,UAAU,SAAS,YAAY,SAAS;EACxC,aAAa,SAAS,eAAe,SAAS;EAC9C,QAAQ,SAAS;EACjB,MAAM,SAAS;CAChB;AACD,QAAO,OAAO,WAAW,cAAc,eAAe;AACvD;AAED,eAAsB,SACpBC,iBACAC,SACuB;CACvB,MAAM,SAAS,MAAM,eAAe;CACpC,MAAM,SAAS,IAAI,OAAO;CAE1B,MAAM,eAAe,MAAM,OAAO,iBAAiB,iBAAiB,EAClE,cAAc,SAAS,aACxB,EAAC;AAEF,KAAI,aAAa,SAAS,QAAQ,aAAa,QAC7C,aAAa,SAAS,SAAS;EAC7B,GAAG,aAAa,SAAS;EACzB,UAAU,CAAE;CACb;CAGH,aAAa,SAAS,OAAO,WAAW;EACtC,GAAG,aAAa,SAAS,OAAO;EAChC,cAAc,aAAa;EAC3B,aAAa,aAAa;EAC1B,oBAAoB,aAAa;CAClC;AAGD,KAAI,aAAa,SAAS,OAAO,oBAAoB,YAAY;EAC/D,MAAM,mBAAmB,CAACC,YAAoB,QAAQ,MAAM,IAAI,CAAC;EAEjE,MAAM,EAAE,iBAAiB,GAAG,aAAa,SAAS;AAClD,MAAI,MAAM,QAAQ,gBAAgB,EAChC,aAAa,SAAS,OAAO,kBAC3B,gBAAgB,IAAI,iBAAiB;EAGzC,MAAM,EAAE,UAAU,GAAG,aAAa,SAAS;AAC3C,MAAI,MAAM,QAAQ,SAAS,EAEzB,aAAa,SAAS,OAAO,WAAW,SAAS,IAAI,CAACC,YAAiB;GACrE,MAAM,aAAa,SAAS,QAAQ,QAAQ,QAAQ;AACpD,OAAI,MAAM,QAAQ,WAAW,EAE3B,QAAQ,OAAO,OAAO,OAAO,kBAC3B,WAAW,IAAI,iBAAiB;AAEpC,UAAO;EACR,EAAC;CAEL;AACD,QAAO;AACR;AAED,SAAgB,uBAEdC,YACA;CAEA,MAAMC,iBAAsC,CAAE;AAC9C,KAAI,eAAe,QAAW;EAE5B,MAAM,cAAe,YAAoB,SAAS;EAClD,IAAI;AACJ,MAAI,gBAAgB,cAClB,eAAe;WACN,gBAAgB,iBACzB,eAAe;WACN,gBAAgB,mBACzB,eAAe;WACN,gBAAgB,gBACzB,eAAe;WACN,gBAAgB,0BACzB,eAAe;WACN,gBAAgB,uBACzB,eAAe;WACN,gBAAgB,eACzB,eAAe;WACN,gBAAgB,iBACzB,eAAe;WACN,gBAAgB,YACzB,eAAe;MAEf,OAAM,IAAI,MAAM;EAElB,eAAe,gBAAgB;GAC7B,GAAG,eAAe;IACjB,cAAc;EAChB;CACF;AACD,QAAO;AACR;AAED,SAAgB,0BAEdD,YACA;CAEA,MAAME,oBAAyC,CAAE;AACjD,KAAI,eAAe,QAAW;EAE5B,MAAM,cAAe,YAAoB,SAAS;EAClD,IAAI;AACJ,MAAI,gBAAgB,0BAClB,uBAAuB;WACd,gBAAgB,uBACzB,uBAAuB;WACd,gBAAgB,YACzB,uBAAuB;AAEzB,MAAI,yBAAyB,QAC3B,kBAAkB,wBAAwB,GACvC,cAAc,WAChB;CAEJ;AACD,QAAO;AACR;AAED,SAAgB,iBAAqCC,gBAAmB;AACtE,KACE,WAAW,kBACX,eAAe,UAAU,QACzB,OAAO,eAAe,UAAU,YAChC,YAAY,eAAe,SAC3B,UAAU,kBACV,eAAe,SAAS,QACxB,OAAO,eAAe,SAAS,YAC/B,WAAW,eAAe,QAC1B,eAAe,KAAK,UAAU,QAC9B,OAAO,eAAe,KAAK,UAAU,YACrC,0BAA0B,eAAe,KAAK,SAC9C,OAAO,eAAe,KAAK,MAAM,yBAAyB,YAG1D,eAAe,KAAK,QAAQ,eAAe,KAAK,MAAM,qBACpD,eAAe,MAAM,OACtB;AAEH,QAAO;AACR;;;;;AAMD,eAAe,gBAAgE;AAC7E,KAAI;EACF,MAAM,EAAE,QAAQ,GAAG,2CAAM;AACzB,SAAO;CACR,SAAQ,OAAO;EAEd,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AAC3E,QAAM,IAAI,MACR,CAAC,kHAAkH,EAAE,cAAc;CAEtI;AACF"}
1
+ {"version":3,"file":"base.cjs","names":["repoFullName: string","runnable: Runnable","options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }","ownerRepoCommit: string","options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }","varName: string","message: any","modelClass?: new (...args: any[]) => BaseLanguageModel","modelImportMap: Record<string, any>","optionalImportMap: Record<string, any>","loadedSequence: T"],"sources":["../../src/hub/base.ts"],"sourcesContent":["import type { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport type { Runnable } from \"@langchain/core/runnables\";\n\nimport type { Client, ClientConfig } from \"langsmith\";\nimport type { PromptCommit } from \"langsmith/schemas\";\n\n/**\n * Push a prompt to the hub.\n * If the specified repo doesn't already exist, it will be created.\n * @param repoFullName The full name of the repo.\n * @param runnable The prompt to push.\n * @param options\n * @returns The URL of the newly pushed prompt in the hub.\n */\nexport async function basePush(\n repoFullName: string,\n runnable: Runnable,\n options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }\n): Promise<string> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n const payloadOptions = {\n object: runnable,\n parentCommitHash: options?.parentCommitHash,\n isPublic: options?.isPublic ?? options?.newRepoIsPublic,\n description: options?.description ?? options?.newRepoDescription,\n readme: options?.readme,\n tags: options?.tags,\n };\n return client.pushPrompt(repoFullName, payloadOptions);\n}\n\nexport async function basePull(\n ownerRepoCommit: string,\n options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }\n): Promise<PromptCommit> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n\n const promptObject = await client.pullPromptCommit(ownerRepoCommit, {\n includeModel: options?.includeModel,\n });\n\n if (promptObject.manifest.kwargs?.metadata === undefined) {\n promptObject.manifest.kwargs = {\n ...promptObject.manifest.kwargs,\n metadata: {},\n };\n }\n\n promptObject.manifest.kwargs.metadata = {\n ...promptObject.manifest.kwargs.metadata,\n lc_hub_owner: promptObject.owner,\n lc_hub_repo: promptObject.repo,\n lc_hub_commit_hash: promptObject.commit_hash,\n };\n\n // Some nested mustache prompts have improperly parsed variables that include a dot.\n if (promptObject.manifest.kwargs.template_format === \"mustache\") {\n const stripDotNotation = (varName: string) => varName.split(\".\")[0];\n\n const { input_variables } = promptObject.manifest.kwargs;\n if (Array.isArray(input_variables)) {\n promptObject.manifest.kwargs.input_variables =\n input_variables.map(stripDotNotation);\n }\n\n const { messages } = promptObject.manifest.kwargs;\n if (Array.isArray(messages)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n promptObject.manifest.kwargs.messages = messages.map((message: any) => {\n const nestedVars = message?.kwargs?.prompt?.kwargs?.input_variables;\n if (Array.isArray(nestedVars)) {\n message.kwargs.prompt.kwargs.input_variables =\n nestedVars.map(stripDotNotation);\n }\n return message;\n });\n }\n }\n return promptObject;\n}\n\nexport function generateModelImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let importMapKey;\n if (modelLcName === \"ChatOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatAnthropic\") {\n importMapKey = \"chat_models__anthropic\";\n } else if (modelLcName === \"ChatAzureOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatVertexAI\") {\n importMapKey = \"chat_models__vertexai\";\n } else if (modelLcName === \"ChatGoogleGenerativeAI\") {\n importMapKey = \"chat_models__google_genai\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n importMapKey = \"chat_models__chat_bedrock_converse\";\n } else if (modelLcName === \"ChatMistral\") {\n importMapKey = \"chat_models__mistralai\";\n } else if (modelLcName === \"ChatFireworks\") {\n importMapKey = \"chat_models__fireworks\";\n } else if (modelLcName === \"ChatGroq\") {\n importMapKey = \"chat_models__groq\";\n } else {\n throw new Error(\"Received unsupported model class when pulling prompt.\");\n }\n modelImportMap[importMapKey] = {\n ...modelImportMap[importMapKey],\n [modelLcName]: modelClass,\n };\n }\n return modelImportMap;\n}\n\nexport function generateOptionalImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const optionalImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let optionalImportMapKey;\n if (modelLcName === \"ChatGoogleGenerativeAI\") {\n optionalImportMapKey = \"langchain_google_genai/chat_models\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n optionalImportMapKey = \"langchain_aws/chat_models\";\n } else if (modelLcName === \"ChatGroq\") {\n optionalImportMapKey = \"langchain_groq/chat_models\";\n }\n if (optionalImportMapKey !== undefined) {\n optionalImportMap[optionalImportMapKey] = {\n [modelLcName]: modelClass,\n };\n }\n }\n return optionalImportMap;\n}\n\nexport function bindOutputSchema<T extends Runnable>(loadedSequence: T) {\n if (\n \"first\" in loadedSequence &&\n loadedSequence.first !== null &&\n typeof loadedSequence.first === \"object\" &&\n \"schema\" in loadedSequence.first &&\n \"last\" in loadedSequence &&\n loadedSequence.last !== null &&\n typeof loadedSequence.last === \"object\" &&\n \"bound\" in loadedSequence.last &&\n loadedSequence.last.bound !== null &&\n typeof loadedSequence.last.bound === \"object\" &&\n \"withStructuredOutput\" in loadedSequence.last.bound &&\n typeof loadedSequence.last.bound.withStructuredOutput === \"function\"\n ) {\n loadedSequence.last.bound = loadedSequence.last.bound.withStructuredOutput(\n loadedSequence.first.schema\n );\n }\n return loadedSequence;\n}\n\n/**\n * Dynamically load the LangSmith client.\n * @returns The LangSmith client.\n */\nasync function loadLangSmith(): Promise<new (config?: ClientConfig) => Client> {\n try {\n const { Client } = await import(\"langsmith\");\n return Client;\n } catch (error) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n const errorMessage = error instanceof Error ? error.message : String(error);\n throw new Error(\n `Error loading \"langsmith\" package, install it via \\`npm install langsmith\\` before you use this function.\\nError: ${errorMessage}`\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":["repoFullName: string","runnable: Runnable","options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }","ownerRepoCommit: string","options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }","varName: string","message: any","modelClass?: new (...args: any[]) => BaseLanguageModel","modelImportMap: Record<string, any>","optionalImportMap: Record<string, any>","loadedSequence: T"],"sources":["../../src/hub/base.ts"],"sourcesContent":["import type { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport type { Runnable } from \"@langchain/core/runnables\";\n\nimport type { Client, ClientConfig } from \"langsmith\";\nimport type { PromptCommit } from \"langsmith/schemas\";\n\n/**\n * Push a prompt to the hub.\n * If the specified repo doesn't already exist, it will be created.\n * @param repoFullName The full name of the repo.\n * @param runnable The prompt to push.\n * @param options\n * @returns The URL of the newly pushed prompt in the hub.\n */\nexport async function basePush(\n repoFullName: string,\n runnable: Runnable,\n options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }\n): Promise<string> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n const payloadOptions = {\n object: runnable,\n parentCommitHash: options?.parentCommitHash,\n isPublic: options?.isPublic ?? options?.newRepoIsPublic,\n description: options?.description ?? options?.newRepoDescription,\n readme: options?.readme,\n tags: options?.tags,\n };\n return client.pushPrompt(repoFullName, payloadOptions);\n}\n\nexport async function basePull(\n ownerRepoCommit: string,\n options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }\n): Promise<PromptCommit> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n\n const promptObject = await client.pullPromptCommit(ownerRepoCommit, {\n includeModel: options?.includeModel,\n });\n\n if (promptObject.manifest.kwargs?.metadata === undefined) {\n promptObject.manifest.kwargs = {\n ...promptObject.manifest.kwargs,\n metadata: {},\n };\n }\n\n promptObject.manifest.kwargs.metadata = {\n ...promptObject.manifest.kwargs.metadata,\n lc_hub_owner: promptObject.owner,\n lc_hub_repo: promptObject.repo,\n lc_hub_commit_hash: promptObject.commit_hash,\n };\n\n // Some nested mustache prompts have improperly parsed variables that include a dot.\n if (promptObject.manifest.kwargs.template_format === \"mustache\") {\n const stripDotNotation = (varName: string) => varName.split(\".\")[0];\n\n const { input_variables } = promptObject.manifest.kwargs;\n if (Array.isArray(input_variables)) {\n promptObject.manifest.kwargs.input_variables =\n input_variables.map(stripDotNotation);\n }\n\n const { messages } = promptObject.manifest.kwargs;\n if (Array.isArray(messages)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n promptObject.manifest.kwargs.messages = messages.map((message: any) => {\n const nestedVars = message?.kwargs?.prompt?.kwargs?.input_variables;\n if (Array.isArray(nestedVars)) {\n // eslint-disable-next-line no-param-reassign\n message.kwargs.prompt.kwargs.input_variables =\n nestedVars.map(stripDotNotation);\n }\n return message;\n });\n }\n }\n return promptObject;\n}\n\nexport function generateModelImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let importMapKey;\n if (modelLcName === \"ChatOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatAnthropic\") {\n importMapKey = \"chat_models__anthropic\";\n } else if (modelLcName === \"ChatAzureOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatVertexAI\") {\n importMapKey = \"chat_models__vertexai\";\n } else if (modelLcName === \"ChatGoogleGenerativeAI\") {\n importMapKey = \"chat_models__google_genai\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n importMapKey = \"chat_models__chat_bedrock_converse\";\n } else if (modelLcName === \"ChatMistral\") {\n importMapKey = \"chat_models__mistralai\";\n } else if (modelLcName === \"ChatFireworks\") {\n importMapKey = \"chat_models__fireworks\";\n } else if (modelLcName === \"ChatGroq\") {\n importMapKey = \"chat_models__groq\";\n } else {\n throw new Error(\"Received unsupported model class when pulling prompt.\");\n }\n modelImportMap[importMapKey] = {\n ...modelImportMap[importMapKey],\n [modelLcName]: modelClass,\n };\n }\n return modelImportMap;\n}\n\nexport function generateOptionalImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const optionalImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let optionalImportMapKey;\n if (modelLcName === \"ChatGoogleGenerativeAI\") {\n optionalImportMapKey = \"langchain_google_genai/chat_models\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n optionalImportMapKey = \"langchain_aws/chat_models\";\n } else if (modelLcName === \"ChatGroq\") {\n optionalImportMapKey = \"langchain_groq/chat_models\";\n }\n if (optionalImportMapKey !== undefined) {\n optionalImportMap[optionalImportMapKey] = {\n [modelLcName]: modelClass,\n };\n }\n }\n return optionalImportMap;\n}\n\nexport function bindOutputSchema<T extends Runnable>(loadedSequence: T) {\n if (\n \"first\" in loadedSequence &&\n loadedSequence.first !== null &&\n typeof loadedSequence.first === \"object\" &&\n \"schema\" in loadedSequence.first &&\n \"last\" in loadedSequence &&\n loadedSequence.last !== null &&\n typeof loadedSequence.last === \"object\" &&\n \"bound\" in loadedSequence.last &&\n loadedSequence.last.bound !== null &&\n typeof loadedSequence.last.bound === \"object\" &&\n \"withStructuredOutput\" in loadedSequence.last.bound &&\n typeof loadedSequence.last.bound.withStructuredOutput === \"function\"\n ) {\n // eslint-disable-next-line no-param-reassign\n loadedSequence.last.bound = loadedSequence.last.bound.withStructuredOutput(\n loadedSequence.first.schema\n );\n }\n return loadedSequence;\n}\n\n/**\n * Dynamically load the LangSmith client.\n * @returns The LangSmith client.\n */\nasync function loadLangSmith(): Promise<new (config?: ClientConfig) => Client> {\n try {\n const { Client } = await import(\"langsmith\");\n return Client;\n } catch (error) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n const errorMessage = error instanceof Error ? error.message : String(error);\n throw new Error(\n `Error loading \"langsmith\" package, install it via \\`npm install langsmith\\` before you use this function.\\nError: ${errorMessage}`\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","names":["repoFullName: string","runnable: Runnable","options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }","ownerRepoCommit: string","options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }","varName: string","message: any","modelClass?: new (...args: any[]) => BaseLanguageModel","modelImportMap: Record<string, any>","optionalImportMap: Record<string, any>","loadedSequence: T"],"sources":["../../src/hub/base.ts"],"sourcesContent":["import type { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport type { Runnable } from \"@langchain/core/runnables\";\n\nimport type { Client, ClientConfig } from \"langsmith\";\nimport type { PromptCommit } from \"langsmith/schemas\";\n\n/**\n * Push a prompt to the hub.\n * If the specified repo doesn't already exist, it will be created.\n * @param repoFullName The full name of the repo.\n * @param runnable The prompt to push.\n * @param options\n * @returns The URL of the newly pushed prompt in the hub.\n */\nexport async function basePush(\n repoFullName: string,\n runnable: Runnable,\n options?: {\n apiKey?: string;\n apiUrl?: string;\n parentCommitHash?: string;\n /** @deprecated Use isPublic instead. */\n newRepoIsPublic?: boolean;\n isPublic?: boolean;\n /** @deprecated Use description instead. */\n newRepoDescription?: string;\n description?: string;\n readme?: string;\n tags?: string[];\n }\n): Promise<string> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n const payloadOptions = {\n object: runnable,\n parentCommitHash: options?.parentCommitHash,\n isPublic: options?.isPublic ?? options?.newRepoIsPublic,\n description: options?.description ?? options?.newRepoDescription,\n readme: options?.readme,\n tags: options?.tags,\n };\n return client.pushPrompt(repoFullName, payloadOptions);\n}\n\nexport async function basePull(\n ownerRepoCommit: string,\n options?: { apiKey?: string; apiUrl?: string; includeModel?: boolean }\n): Promise<PromptCommit> {\n const Client = await loadLangSmith();\n const client = new Client(options);\n\n const promptObject = await client.pullPromptCommit(ownerRepoCommit, {\n includeModel: options?.includeModel,\n });\n\n if (promptObject.manifest.kwargs?.metadata === undefined) {\n promptObject.manifest.kwargs = {\n ...promptObject.manifest.kwargs,\n metadata: {},\n };\n }\n\n promptObject.manifest.kwargs.metadata = {\n ...promptObject.manifest.kwargs.metadata,\n lc_hub_owner: promptObject.owner,\n lc_hub_repo: promptObject.repo,\n lc_hub_commit_hash: promptObject.commit_hash,\n };\n\n // Some nested mustache prompts have improperly parsed variables that include a dot.\n if (promptObject.manifest.kwargs.template_format === \"mustache\") {\n const stripDotNotation = (varName: string) => varName.split(\".\")[0];\n\n const { input_variables } = promptObject.manifest.kwargs;\n if (Array.isArray(input_variables)) {\n promptObject.manifest.kwargs.input_variables =\n input_variables.map(stripDotNotation);\n }\n\n const { messages } = promptObject.manifest.kwargs;\n if (Array.isArray(messages)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n promptObject.manifest.kwargs.messages = messages.map((message: any) => {\n const nestedVars = message?.kwargs?.prompt?.kwargs?.input_variables;\n if (Array.isArray(nestedVars)) {\n message.kwargs.prompt.kwargs.input_variables =\n nestedVars.map(stripDotNotation);\n }\n return message;\n });\n }\n }\n return promptObject;\n}\n\nexport function generateModelImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let importMapKey;\n if (modelLcName === \"ChatOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatAnthropic\") {\n importMapKey = \"chat_models__anthropic\";\n } else if (modelLcName === \"ChatAzureOpenAI\") {\n importMapKey = \"chat_models__openai\";\n } else if (modelLcName === \"ChatVertexAI\") {\n importMapKey = \"chat_models__vertexai\";\n } else if (modelLcName === \"ChatGoogleGenerativeAI\") {\n importMapKey = \"chat_models__google_genai\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n importMapKey = \"chat_models__chat_bedrock_converse\";\n } else if (modelLcName === \"ChatMistral\") {\n importMapKey = \"chat_models__mistralai\";\n } else if (modelLcName === \"ChatFireworks\") {\n importMapKey = \"chat_models__fireworks\";\n } else if (modelLcName === \"ChatGroq\") {\n importMapKey = \"chat_models__groq\";\n } else {\n throw new Error(\"Received unsupported model class when pulling prompt.\");\n }\n modelImportMap[importMapKey] = {\n ...modelImportMap[importMapKey],\n [modelLcName]: modelClass,\n };\n }\n return modelImportMap;\n}\n\nexport function generateOptionalImportMap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelClass?: new (...args: any[]) => BaseLanguageModel\n) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const optionalImportMap: Record<string, any> = {};\n if (modelClass !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const modelLcName = (modelClass as any)?.lc_name();\n let optionalImportMapKey;\n if (modelLcName === \"ChatGoogleGenerativeAI\") {\n optionalImportMapKey = \"langchain_google_genai/chat_models\";\n } else if (modelLcName === \"ChatBedrockConverse\") {\n optionalImportMapKey = \"langchain_aws/chat_models\";\n } else if (modelLcName === \"ChatGroq\") {\n optionalImportMapKey = \"langchain_groq/chat_models\";\n }\n if (optionalImportMapKey !== undefined) {\n optionalImportMap[optionalImportMapKey] = {\n [modelLcName]: modelClass,\n };\n }\n }\n return optionalImportMap;\n}\n\nexport function bindOutputSchema<T extends Runnable>(loadedSequence: T) {\n if (\n \"first\" in loadedSequence &&\n loadedSequence.first !== null &&\n typeof loadedSequence.first === \"object\" &&\n \"schema\" in loadedSequence.first &&\n \"last\" in loadedSequence &&\n loadedSequence.last !== null &&\n typeof loadedSequence.last === \"object\" &&\n \"bound\" in loadedSequence.last &&\n loadedSequence.last.bound !== null &&\n typeof loadedSequence.last.bound === \"object\" &&\n \"withStructuredOutput\" in loadedSequence.last.bound &&\n typeof loadedSequence.last.bound.withStructuredOutput === \"function\"\n ) {\n loadedSequence.last.bound = loadedSequence.last.bound.withStructuredOutput(\n loadedSequence.first.schema\n );\n }\n return loadedSequence;\n}\n\n/**\n * Dynamically load the LangSmith client.\n * @returns The LangSmith client.\n */\nasync function loadLangSmith(): Promise<new (config?: ClientConfig) => Client> {\n try {\n const { Client } = await import(\"langsmith\");\n return Client;\n } catch (error) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n const errorMessage = error instanceof Error ? error.message : String(error);\n throw new Error(\n `Error loading \"langsmith\" package, install it via \\`npm install langsmith\\` before you use this function.\\nError: ${errorMessage}`\n );\n }\n}\n"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -4,10 +4,16 @@ const require_responses = require('./agents/responses.cjs');
4
4
  const require_ToolNode = require('./agents/nodes/ToolNode.cjs');
5
5
  const require_middleware = require('./agents/middlewareAgent/middleware.cjs');
6
6
  const require_index = require('./agents/index.cjs');
7
+ const require_summarization = require('./agents/middlewareAgent/middleware/summarization.cjs');
8
+ const require_hitl = require('./agents/middlewareAgent/middleware/hitl.cjs');
9
+ const require_promptCaching = require('./agents/middlewareAgent/middleware/promptCaching.cjs');
10
+ const require_dynamicSystemPrompt = require('./agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs');
11
+ const require_bigTool = require('./agents/middlewareAgent/middleware/bigTool.cjs');
12
+ require('./agents/middlewareAgent/middleware/index.cjs');
7
13
  const __langchain_core_documents = require_rolldown_runtime.__toESM(require("@langchain/core/documents"));
8
14
  const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
9
15
  const __langchain_core_tools = require_rolldown_runtime.__toESM(require("@langchain/core/tools"));
10
- const __langchain_langgraph = require_rolldown_runtime.__toESM(require("@langchain/langgraph"));
16
+ const __langchain_core_stores = require_rolldown_runtime.__toESM(require("@langchain/core/stores"));
11
17
  const __langchain_core_context = require_rolldown_runtime.__toESM(require("@langchain/core/context"));
12
18
 
13
19
  //#region src/index.ts
@@ -19,22 +25,30 @@ require_rolldown_runtime.__export(src_exports, {
19
25
  BaseMessageChunk: () => __langchain_core_messages.BaseMessageChunk,
20
26
  Document: () => __langchain_core_documents.Document,
21
27
  DynamicStructuredTool: () => __langchain_core_tools.DynamicStructuredTool,
28
+ DynamicTool: () => __langchain_core_tools.DynamicTool,
22
29
  HumanMessage: () => __langchain_core_messages.HumanMessage,
23
30
  HumanMessageChunk: () => __langchain_core_messages.HumanMessageChunk,
24
- InMemoryStore: () => __langchain_langgraph.InMemoryStore,
25
- MemorySaver: () => __langchain_langgraph.MemorySaver,
31
+ InMemoryStore: () => __langchain_core_stores.InMemoryStore,
32
+ StructuredTool: () => __langchain_core_tools.StructuredTool,
26
33
  SystemMessage: () => __langchain_core_messages.SystemMessage,
27
34
  SystemMessageChunk: () => __langchain_core_messages.SystemMessageChunk,
35
+ Tool: () => __langchain_core_tools.Tool,
28
36
  ToolMessage: () => __langchain_core_messages.ToolMessage,
29
37
  ToolMessageChunk: () => __langchain_core_messages.ToolMessageChunk,
30
38
  ToolNode: () => require_ToolNode.ToolNode,
39
+ anthropicPromptCachingMiddleware: () => require_promptCaching.anthropicPromptCachingMiddleware,
40
+ countTokensApproximately: () => require_summarization.countTokensApproximately,
31
41
  createAgent: () => require_index.createAgent,
32
42
  createMiddleware: () => require_middleware.createMiddleware,
43
+ dynamicSystemPromptMiddleware: () => require_dynamicSystemPrompt.dynamicSystemPromptMiddleware,
33
44
  filterMessages: () => __langchain_core_messages.filterMessages,
34
45
  getContextVariable: () => __langchain_core_context.getContextVariable,
46
+ humanInTheLoopMiddleware: () => require_hitl.humanInTheLoopMiddleware,
35
47
  initChatModel: () => require_chat_models_universal.initChatModel,
48
+ llmToolSelectorMiddleware: () => require_bigTool.llmToolSelectorMiddleware,
36
49
  providerStrategy: () => require_responses.providerStrategy,
37
50
  setContextVariable: () => __langchain_core_context.setContextVariable,
51
+ summarizationMiddleware: () => require_summarization.summarizationMiddleware,
38
52
  tool: () => __langchain_core_tools.tool,
39
53
  toolStrategy: () => require_responses.toolStrategy,
40
54
  trimMessages: () => __langchain_core_messages.trimMessages
@@ -77,6 +91,12 @@ Object.defineProperty(exports, 'DynamicStructuredTool', {
77
91
  return __langchain_core_tools.DynamicStructuredTool;
78
92
  }
79
93
  });
94
+ Object.defineProperty(exports, 'DynamicTool', {
95
+ enumerable: true,
96
+ get: function () {
97
+ return __langchain_core_tools.DynamicTool;
98
+ }
99
+ });
80
100
  Object.defineProperty(exports, 'HumanMessage', {
81
101
  enumerable: true,
82
102
  get: function () {
@@ -92,13 +112,13 @@ Object.defineProperty(exports, 'HumanMessageChunk', {
92
112
  Object.defineProperty(exports, 'InMemoryStore', {
93
113
  enumerable: true,
94
114
  get: function () {
95
- return __langchain_langgraph.InMemoryStore;
115
+ return __langchain_core_stores.InMemoryStore;
96
116
  }
97
117
  });
98
- Object.defineProperty(exports, 'MemorySaver', {
118
+ Object.defineProperty(exports, 'StructuredTool', {
99
119
  enumerable: true,
100
120
  get: function () {
101
- return __langchain_langgraph.MemorySaver;
121
+ return __langchain_core_tools.StructuredTool;
102
122
  }
103
123
  });
104
124
  Object.defineProperty(exports, 'SystemMessage', {
@@ -113,6 +133,12 @@ Object.defineProperty(exports, 'SystemMessageChunk', {
113
133
  return __langchain_core_messages.SystemMessageChunk;
114
134
  }
115
135
  });
136
+ Object.defineProperty(exports, 'Tool', {
137
+ enumerable: true,
138
+ get: function () {
139
+ return __langchain_core_tools.Tool;
140
+ }
141
+ });
116
142
  Object.defineProperty(exports, 'ToolMessage', {
117
143
  enumerable: true,
118
144
  get: function () {
@@ -126,8 +152,11 @@ Object.defineProperty(exports, 'ToolMessageChunk', {
126
152
  }
127
153
  });
128
154
  exports.ToolNode = require_ToolNode.ToolNode;
155
+ exports.anthropicPromptCachingMiddleware = require_promptCaching.anthropicPromptCachingMiddleware;
156
+ exports.countTokensApproximately = require_summarization.countTokensApproximately;
129
157
  exports.createAgent = require_index.createAgent;
130
158
  exports.createMiddleware = require_middleware.createMiddleware;
159
+ exports.dynamicSystemPromptMiddleware = require_dynamicSystemPrompt.dynamicSystemPromptMiddleware;
131
160
  Object.defineProperty(exports, 'filterMessages', {
132
161
  enumerable: true,
133
162
  get: function () {
@@ -140,7 +169,9 @@ Object.defineProperty(exports, 'getContextVariable', {
140
169
  return __langchain_core_context.getContextVariable;
141
170
  }
142
171
  });
172
+ exports.humanInTheLoopMiddleware = require_hitl.humanInTheLoopMiddleware;
143
173
  exports.initChatModel = require_chat_models_universal.initChatModel;
174
+ exports.llmToolSelectorMiddleware = require_bigTool.llmToolSelectorMiddleware;
144
175
  exports.providerStrategy = require_responses.providerStrategy;
145
176
  Object.defineProperty(exports, 'setContextVariable', {
146
177
  enumerable: true,
@@ -154,6 +185,7 @@ Object.defineProperty(exports, 'src_exports', {
154
185
  return src_exports;
155
186
  }
156
187
  });
188
+ exports.summarizationMiddleware = require_summarization.summarizationMiddleware;
157
189
  Object.defineProperty(exports, 'tool', {
158
190
  enumerable: true,
159
191
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * LangChain Messages\n */\nexport {\n BaseMessage,\n BaseMessageChunk,\n AIMessage,\n AIMessageChunk,\n SystemMessage,\n SystemMessageChunk,\n HumanMessage,\n HumanMessageChunk,\n ToolMessage,\n ToolMessageChunk,\n type ContentBlock,\n filterMessages,\n trimMessages,\n} from \"@langchain/core/messages\";\n\n/**\n * Universal Chat Model\n */\nexport { initChatModel } from \"./chat_models/universal.js\";\n\n/**\n * LangChain Tools\n */\nexport { tool, DynamicStructuredTool } from \"@langchain/core/tools\";\n\n/**\n * LangChain Agents\n */\nexport {\n createAgent,\n createMiddleware,\n toolStrategy,\n providerStrategy,\n ToolNode,\n type AgentState,\n type AgentRuntime,\n type HumanInterrupt,\n type HumanInterruptConfig,\n type ActionRequest,\n type HumanResponse,\n} from \"./agents/index.js\";\n\n/**\n * LangChain Memory\n * Check in what we want to export here\n */\nexport { MemorySaver, InMemoryStore } from \"@langchain/langgraph\";\n\n/**\n * LangChain Context\n */\nexport {\n setContextVariable,\n getContextVariable,\n} from \"@langchain/core/context\";\n\n/**\n * LangChain Documents\n */\nexport { Document } from \"@langchain/core/documents\";\n"],"mappings":""}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * LangChain Messages\n */\nexport {\n BaseMessage,\n BaseMessageChunk,\n AIMessage,\n AIMessageChunk,\n SystemMessage,\n SystemMessageChunk,\n HumanMessage,\n HumanMessageChunk,\n ToolMessage,\n ToolMessageChunk,\n type ContentBlock,\n filterMessages,\n trimMessages,\n} from \"@langchain/core/messages\";\n\n/**\n * Universal Chat Model\n */\nexport { initChatModel } from \"./chat_models/universal.js\";\n\n/**\n * LangChain Tools\n */\nexport {\n tool,\n Tool,\n DynamicTool,\n StructuredTool,\n DynamicStructuredTool,\n} from \"@langchain/core/tools\";\n\n/**\n * LangChain Agents\n */\nexport {\n createAgent,\n createMiddleware,\n toolStrategy,\n providerStrategy,\n ToolNode,\n type ReactAgent,\n type AgentState,\n type AgentRuntime,\n type AgentMiddleware,\n type HumanInterrupt,\n type HumanInterruptConfig,\n type ActionRequest,\n type HumanResponse,\n type Interrupt,\n} from \"./agents/index.js\";\n\n/**\n * `createAgent` pre-built middleware\n */\nexport * from \"./agents/middlewareAgent/middleware/index.js\";\n\n/**\n * LangChain Stores\n */\nexport { InMemoryStore } from \"@langchain/core/stores\";\n\n/**\n * LangChain Context\n */\nexport {\n setContextVariable,\n getContextVariable,\n} from \"@langchain/core/context\";\n\n/**\n * LangChain Documents\n */\nexport { Document } from \"@langchain/core/documents\";\n"],"mappings":""}
package/dist/index.d.cts CHANGED
@@ -1,13 +1,20 @@
1
1
  import { providerStrategy, toolStrategy } from "./agents/responses.cjs";
2
+ import { ActionRequest, HumanInterrupt, HumanInterruptConfig, HumanResponse, Interrupt } from "./agents/interrupt.cjs";
2
3
  import { ToolNode } from "./agents/nodes/ToolNode.cjs";
3
4
  import { AgentRuntime, AgentState } from "./agents/types.cjs";
5
+ import { AgentMiddleware } from "./agents/middlewareAgent/types.cjs";
6
+ import { SummarizationMiddlewareConfig, countTokensApproximately, summarizationMiddleware } from "./agents/middlewareAgent/middleware/summarization.cjs";
7
+ import { HumanInTheLoopMiddlewareConfig, HumanInTheLoopMiddlewareHumanResponse, HumanInTheLoopRequest, humanInTheLoopMiddleware } from "./agents/middlewareAgent/middleware/hitl.cjs";
8
+ import { PromptCachingMiddlewareConfig, anthropicPromptCachingMiddleware } from "./agents/middlewareAgent/middleware/promptCaching.cjs";
9
+ import { DynamicSystemPromptMiddlewareConfig, dynamicSystemPromptMiddleware } from "./agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs";
10
+ import { LLMToolSelectorConfig, llmToolSelectorMiddleware } from "./agents/middlewareAgent/middleware/bigTool.cjs";
4
11
  import { initChatModel } from "./chat_models/universal.cjs";
5
- import { ActionRequest, HumanInterrupt, HumanInterruptConfig, HumanResponse } from "./agents/interrupt.cjs";
12
+ import { ReactAgent } from "./agents/middlewareAgent/ReactAgent.cjs";
6
13
  import { createMiddleware } from "./agents/middlewareAgent/middleware.cjs";
7
14
  import { createAgent } from "./agents/index.cjs";
8
- import { InMemoryStore, MemorySaver } from "@langchain/langgraph";
9
15
  import { AIMessage, AIMessageChunk, BaseMessage, BaseMessageChunk, ContentBlock, HumanMessage, HumanMessageChunk, SystemMessage, SystemMessageChunk, ToolMessage, ToolMessageChunk, filterMessages, trimMessages } from "@langchain/core/messages";
10
- import { DynamicStructuredTool, tool } from "@langchain/core/tools";
16
+ import { DynamicStructuredTool, DynamicTool, StructuredTool, Tool, tool } from "@langchain/core/tools";
11
17
  import { Document } from "@langchain/core/documents";
18
+ import { InMemoryStore } from "@langchain/core/stores";
12
19
  import { getContextVariable, setContextVariable } from "@langchain/core/context";
13
- export { AIMessage, AIMessageChunk, type ActionRequest, type AgentRuntime, type AgentState, BaseMessage, BaseMessageChunk, type ContentBlock, Document, DynamicStructuredTool, type HumanInterrupt, type HumanInterruptConfig, HumanMessage, HumanMessageChunk, type HumanResponse, InMemoryStore, MemorySaver, SystemMessage, SystemMessageChunk, ToolMessage, ToolMessageChunk, ToolNode, createAgent, createMiddleware, filterMessages, getContextVariable, initChatModel, providerStrategy, setContextVariable, tool, toolStrategy, trimMessages };
20
+ export { AIMessage, AIMessageChunk, type ActionRequest, type AgentMiddleware, type AgentRuntime, type AgentState, BaseMessage, BaseMessageChunk, type ContentBlock, Document, DynamicStructuredTool, DynamicSystemPromptMiddlewareConfig, DynamicTool, HumanInTheLoopMiddlewareConfig, HumanInTheLoopMiddlewareHumanResponse, HumanInTheLoopRequest, type HumanInterrupt, type HumanInterruptConfig, HumanMessage, HumanMessageChunk, type HumanResponse, InMemoryStore, type Interrupt, LLMToolSelectorConfig, PromptCachingMiddlewareConfig, type ReactAgent, StructuredTool, SummarizationMiddlewareConfig, SystemMessage, SystemMessageChunk, Tool, ToolMessage, ToolMessageChunk, ToolNode, anthropicPromptCachingMiddleware, countTokensApproximately, createAgent, createMiddleware, dynamicSystemPromptMiddleware, filterMessages, getContextVariable, humanInTheLoopMiddleware, initChatModel, llmToolSelectorMiddleware, providerStrategy, setContextVariable, summarizationMiddleware, tool, toolStrategy, trimMessages };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,20 @@
1
1
  import { providerStrategy, toolStrategy } from "./agents/responses.js";
2
+ import { ActionRequest, HumanInterrupt, HumanInterruptConfig, HumanResponse, Interrupt } from "./agents/interrupt.js";
2
3
  import { ToolNode } from "./agents/nodes/ToolNode.js";
3
4
  import { AgentRuntime, AgentState } from "./agents/types.js";
5
+ import { AgentMiddleware } from "./agents/middlewareAgent/types.js";
6
+ import { SummarizationMiddlewareConfig, countTokensApproximately, summarizationMiddleware } from "./agents/middlewareAgent/middleware/summarization.js";
7
+ import { HumanInTheLoopMiddlewareConfig, HumanInTheLoopMiddlewareHumanResponse, HumanInTheLoopRequest, humanInTheLoopMiddleware } from "./agents/middlewareAgent/middleware/hitl.js";
8
+ import { PromptCachingMiddlewareConfig, anthropicPromptCachingMiddleware } from "./agents/middlewareAgent/middleware/promptCaching.js";
9
+ import { DynamicSystemPromptMiddlewareConfig, dynamicSystemPromptMiddleware } from "./agents/middlewareAgent/middleware/dynamicSystemPrompt.js";
10
+ import { LLMToolSelectorConfig, llmToolSelectorMiddleware } from "./agents/middlewareAgent/middleware/bigTool.js";
4
11
  import { initChatModel } from "./chat_models/universal.js";
5
- import { ActionRequest, HumanInterrupt, HumanInterruptConfig, HumanResponse } from "./agents/interrupt.js";
12
+ import { ReactAgent } from "./agents/middlewareAgent/ReactAgent.js";
6
13
  import { createMiddleware } from "./agents/middlewareAgent/middleware.js";
7
14
  import { createAgent } from "./agents/index.js";
8
15
  import { Document } from "@langchain/core/documents";
9
16
  import { AIMessage, AIMessageChunk, BaseMessage, BaseMessageChunk, ContentBlock, HumanMessage, HumanMessageChunk, SystemMessage, SystemMessageChunk, ToolMessage, ToolMessageChunk, filterMessages, trimMessages } from "@langchain/core/messages";
10
- import { DynamicStructuredTool, tool } from "@langchain/core/tools";
11
- import { InMemoryStore, MemorySaver } from "@langchain/langgraph";
17
+ import { DynamicStructuredTool, DynamicTool, StructuredTool, Tool, tool } from "@langchain/core/tools";
18
+ import { InMemoryStore } from "@langchain/core/stores";
12
19
  import { getContextVariable, setContextVariable } from "@langchain/core/context";
13
- export { AIMessage, AIMessageChunk, type ActionRequest, type AgentRuntime, type AgentState, BaseMessage, BaseMessageChunk, type ContentBlock, Document, DynamicStructuredTool, type HumanInterrupt, type HumanInterruptConfig, HumanMessage, HumanMessageChunk, type HumanResponse, InMemoryStore, MemorySaver, SystemMessage, SystemMessageChunk, ToolMessage, ToolMessageChunk, ToolNode, createAgent, createMiddleware, filterMessages, getContextVariable, initChatModel, providerStrategy, setContextVariable, tool, toolStrategy, trimMessages };
20
+ export { AIMessage, AIMessageChunk, type ActionRequest, type AgentMiddleware, type AgentRuntime, type AgentState, BaseMessage, BaseMessageChunk, type ContentBlock, Document, DynamicStructuredTool, DynamicSystemPromptMiddlewareConfig, DynamicTool, HumanInTheLoopMiddlewareConfig, HumanInTheLoopMiddlewareHumanResponse, HumanInTheLoopRequest, type HumanInterrupt, type HumanInterruptConfig, HumanMessage, HumanMessageChunk, type HumanResponse, InMemoryStore, type Interrupt, LLMToolSelectorConfig, PromptCachingMiddlewareConfig, type ReactAgent, StructuredTool, SummarizationMiddlewareConfig, SystemMessage, SystemMessageChunk, Tool, ToolMessage, ToolMessageChunk, ToolNode, anthropicPromptCachingMiddleware, countTokensApproximately, createAgent, createMiddleware, dynamicSystemPromptMiddleware, filterMessages, getContextVariable, humanInTheLoopMiddleware, initChatModel, llmToolSelectorMiddleware, providerStrategy, setContextVariable, summarizationMiddleware, tool, toolStrategy, trimMessages };
package/dist/index.js CHANGED
@@ -4,10 +4,16 @@ import { providerStrategy, toolStrategy } from "./agents/responses.js";
4
4
  import { ToolNode } from "./agents/nodes/ToolNode.js";
5
5
  import { createMiddleware } from "./agents/middlewareAgent/middleware.js";
6
6
  import { createAgent } from "./agents/index.js";
7
+ import { countTokensApproximately, summarizationMiddleware } from "./agents/middlewareAgent/middleware/summarization.js";
8
+ import { humanInTheLoopMiddleware } from "./agents/middlewareAgent/middleware/hitl.js";
9
+ import { anthropicPromptCachingMiddleware } from "./agents/middlewareAgent/middleware/promptCaching.js";
10
+ import { dynamicSystemPromptMiddleware } from "./agents/middlewareAgent/middleware/dynamicSystemPrompt.js";
11
+ import { llmToolSelectorMiddleware } from "./agents/middlewareAgent/middleware/bigTool.js";
12
+ import "./agents/middlewareAgent/middleware/index.js";
7
13
  import { Document } from "@langchain/core/documents";
8
14
  import { AIMessage, AIMessageChunk, BaseMessage, BaseMessageChunk, HumanMessage, HumanMessageChunk, SystemMessage, SystemMessageChunk, ToolMessage, ToolMessageChunk, filterMessages, trimMessages } from "@langchain/core/messages";
9
- import { DynamicStructuredTool, tool } from "@langchain/core/tools";
10
- import { InMemoryStore, MemorySaver } from "@langchain/langgraph";
15
+ import { DynamicStructuredTool, DynamicTool, StructuredTool, Tool, tool } from "@langchain/core/tools";
16
+ import { InMemoryStore } from "@langchain/core/stores";
11
17
  import { getContextVariable, setContextVariable } from "@langchain/core/context";
12
18
 
13
19
  //#region src/index.ts
@@ -19,27 +25,35 @@ __export(src_exports, {
19
25
  BaseMessageChunk: () => BaseMessageChunk,
20
26
  Document: () => Document,
21
27
  DynamicStructuredTool: () => DynamicStructuredTool,
28
+ DynamicTool: () => DynamicTool,
22
29
  HumanMessage: () => HumanMessage,
23
30
  HumanMessageChunk: () => HumanMessageChunk,
24
31
  InMemoryStore: () => InMemoryStore,
25
- MemorySaver: () => MemorySaver,
32
+ StructuredTool: () => StructuredTool,
26
33
  SystemMessage: () => SystemMessage,
27
34
  SystemMessageChunk: () => SystemMessageChunk,
35
+ Tool: () => Tool,
28
36
  ToolMessage: () => ToolMessage,
29
37
  ToolMessageChunk: () => ToolMessageChunk,
30
38
  ToolNode: () => ToolNode,
39
+ anthropicPromptCachingMiddleware: () => anthropicPromptCachingMiddleware,
40
+ countTokensApproximately: () => countTokensApproximately,
31
41
  createAgent: () => createAgent,
32
42
  createMiddleware: () => createMiddleware,
43
+ dynamicSystemPromptMiddleware: () => dynamicSystemPromptMiddleware,
33
44
  filterMessages: () => filterMessages,
34
45
  getContextVariable: () => getContextVariable,
46
+ humanInTheLoopMiddleware: () => humanInTheLoopMiddleware,
35
47
  initChatModel: () => initChatModel,
48
+ llmToolSelectorMiddleware: () => llmToolSelectorMiddleware,
36
49
  providerStrategy: () => providerStrategy,
37
50
  setContextVariable: () => setContextVariable,
51
+ summarizationMiddleware: () => summarizationMiddleware,
38
52
  tool: () => tool,
39
53
  toolStrategy: () => toolStrategy,
40
54
  trimMessages: () => trimMessages
41
55
  });
42
56
 
43
57
  //#endregion
44
- export { AIMessage, AIMessageChunk, BaseMessage, BaseMessageChunk, Document, DynamicStructuredTool, HumanMessage, HumanMessageChunk, InMemoryStore, MemorySaver, SystemMessage, SystemMessageChunk, ToolMessage, ToolMessageChunk, ToolNode, createAgent, createMiddleware, filterMessages, getContextVariable, initChatModel, providerStrategy, setContextVariable, src_exports, tool, toolStrategy, trimMessages };
58
+ export { AIMessage, AIMessageChunk, BaseMessage, BaseMessageChunk, Document, DynamicStructuredTool, DynamicTool, HumanMessage, HumanMessageChunk, InMemoryStore, StructuredTool, SystemMessage, SystemMessageChunk, Tool, ToolMessage, ToolMessageChunk, ToolNode, anthropicPromptCachingMiddleware, countTokensApproximately, createAgent, createMiddleware, dynamicSystemPromptMiddleware, filterMessages, getContextVariable, humanInTheLoopMiddleware, initChatModel, llmToolSelectorMiddleware, providerStrategy, setContextVariable, src_exports, summarizationMiddleware, tool, toolStrategy, trimMessages };
45
59
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * LangChain Messages\n */\nexport {\n BaseMessage,\n BaseMessageChunk,\n AIMessage,\n AIMessageChunk,\n SystemMessage,\n SystemMessageChunk,\n HumanMessage,\n HumanMessageChunk,\n ToolMessage,\n ToolMessageChunk,\n type ContentBlock,\n filterMessages,\n trimMessages,\n} from \"@langchain/core/messages\";\n\n/**\n * Universal Chat Model\n */\nexport { initChatModel } from \"./chat_models/universal.js\";\n\n/**\n * LangChain Tools\n */\nexport { tool, DynamicStructuredTool } from \"@langchain/core/tools\";\n\n/**\n * LangChain Agents\n */\nexport {\n createAgent,\n createMiddleware,\n toolStrategy,\n providerStrategy,\n ToolNode,\n type AgentState,\n type AgentRuntime,\n type HumanInterrupt,\n type HumanInterruptConfig,\n type ActionRequest,\n type HumanResponse,\n} from \"./agents/index.js\";\n\n/**\n * LangChain Memory\n * Check in what we want to export here\n */\nexport { MemorySaver, InMemoryStore } from \"@langchain/langgraph\";\n\n/**\n * LangChain Context\n */\nexport {\n setContextVariable,\n getContextVariable,\n} from \"@langchain/core/context\";\n\n/**\n * LangChain Documents\n */\nexport { Document } from \"@langchain/core/documents\";\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * LangChain Messages\n */\nexport {\n BaseMessage,\n BaseMessageChunk,\n AIMessage,\n AIMessageChunk,\n SystemMessage,\n SystemMessageChunk,\n HumanMessage,\n HumanMessageChunk,\n ToolMessage,\n ToolMessageChunk,\n type ContentBlock,\n filterMessages,\n trimMessages,\n} from \"@langchain/core/messages\";\n\n/**\n * Universal Chat Model\n */\nexport { initChatModel } from \"./chat_models/universal.js\";\n\n/**\n * LangChain Tools\n */\nexport {\n tool,\n Tool,\n DynamicTool,\n StructuredTool,\n DynamicStructuredTool,\n} from \"@langchain/core/tools\";\n\n/**\n * LangChain Agents\n */\nexport {\n createAgent,\n createMiddleware,\n toolStrategy,\n providerStrategy,\n ToolNode,\n type ReactAgent,\n type AgentState,\n type AgentRuntime,\n type AgentMiddleware,\n type HumanInterrupt,\n type HumanInterruptConfig,\n type ActionRequest,\n type HumanResponse,\n type Interrupt,\n} from \"./agents/index.js\";\n\n/**\n * `createAgent` pre-built middleware\n */\nexport * from \"./agents/middlewareAgent/middleware/index.js\";\n\n/**\n * LangChain Stores\n */\nexport { InMemoryStore } from \"@langchain/core/stores\";\n\n/**\n * LangChain Context\n */\nexport {\n setContextVariable,\n getContextVariable,\n} from \"@langchain/core/context\";\n\n/**\n * LangChain Documents\n */\nexport { Document } from \"@langchain/core/documents\";\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.d.cts","names":["SerializedFields","BaseSerialized","T","Record","SerializedConstructor","SerializedSecret","SerializedNotImplemented","Serialized","get_lc_unique_name","Serializable","SerializableInterface"],"sources":["../../../../../langchain-core/dist/load/serializable.d.ts"],"sourcesContent":["import { SerializedFields } from \"./map_keys.js\";\n\n//#region src/load/serializable.d.ts\ninterface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph?: Record<string, any>;\n}\ninterface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\ninterface SerializedSecret extends BaseSerialized<\"secret\"> {}\ninterface SerializedNotImplemented extends BaseSerialized<\"not_implemented\"> {}\ntype Serialized = SerializedConstructor | SerializedSecret | SerializedNotImplemented;\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\ndeclare function get_lc_unique_name(\n// eslint-disable-next-line @typescript-eslint/no-use-before-define\nserializableClass: typeof Serializable): string;\ninterface SerializableInterface {\n get lc_id(): string[];\n}\ndeclare abstract class Serializable implements SerializableInterface {\n lc_serializable: boolean;\n lc_kwargs: SerializedFields;\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string;\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[];\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined;\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): {\n [key: string]: string;\n } | undefined;\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined;\n constructor(kwargs?: SerializedFields, ..._args: never[]);\n toJSON(): Serialized;\n toJSONNotImplemented(): SerializedNotImplemented;\n}\n//#endregion\nexport { BaseSerialized, Serializable, SerializableInterface, Serialized, SerializedConstructor, SerializedNotImplemented, SerializedSecret, get_lc_unique_name };\n//# sourceMappingURL=serializable.d.ts.map"],"mappings":";;;;AAAiD,UAGvCC,cAAc,CAAA,UAAA,MAAA,CAAA,CAAA;EAAA,EAAA,EAAA,MAAA;EAAA,IAAA,EAEhBC,CAAAA;EAAC,EAAA,EAAA,MAICC,EAAAA;EAAM,IAAA,CAAA,EAAA,MAAA;EAAA;EAEe,KAAA,CAAA,EAFrBA,MAEqB,CAAA,MAAA,EAAA,GAAA,CAAA;;UAArBC,qBAAAA,SAA8BH,cAAAA,CAAAA,aAAAA,CAAAA,CAAAA;EAAc,MAAA,EAC5CD,gBAD4C;AAAA;AAGL,UAAvCK,gBAAAA,SAAyBJ,cACQA,CAAAA,QAAc,CAAA,CAAA,CAAA;AAAA,UAA/CK,wBAAAA,SAAiCL,cAC5B,CAAA,iBAAA,CAAA,CAAA,CAAA;KAAVM,UAAAA,GAAaH,qBAAH,GAA2BC,gBAA3B,GAA8CC,wBAA9C;;;;AAAsE;;UAQ3EI,qBAAAA,CAKGV;EAAgB,IAAA,KA+BNA,EAAAA,EAAAA,MAAAA,EAAAA;;uBAjCAS,YAAAA,YAAwBC,qBAiDnCH,CAAAA;EAAU,eACID,EAAAA,OAAAA;EAAwB,SAlDHI,EAElCV,gBAFkCU;EAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiC7CV;;;;;;;;;;;;;;;uBAeAA;YACXO;0BACcD"}
1
+ {"version":3,"file":"serializable.d.cts","names":["SerializedFields","BaseSerialized","T","Record","SerializedConstructor","SerializedSecret","SerializedNotImplemented","Serialized","get_lc_unique_name","Serializable","SerializableInterface"],"sources":["../../../../../langchain-core/dist/load/serializable.d.ts"],"sourcesContent":["import { SerializedFields } from \"./map_keys.js\";\n\n//#region src/load/serializable.d.ts\ninterface BaseSerialized<T extends string> {\n lc: number;\n type: T;\n id: string[];\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph?: Record<string, any>;\n}\ninterface SerializedConstructor extends BaseSerialized<\"constructor\"> {\n kwargs: SerializedFields;\n}\ninterface SerializedSecret extends BaseSerialized<\"secret\"> {}\ninterface SerializedNotImplemented extends BaseSerialized<\"not_implemented\"> {}\ntype Serialized = SerializedConstructor | SerializedSecret | SerializedNotImplemented;\n/**\n * Get a unique name for the module, rather than parent class implementations.\n * Should not be subclassed, subclass lc_name above instead.\n */\ndeclare function get_lc_unique_name(serializableClass: typeof Serializable): string;\ninterface SerializableInterface {\n get lc_id(): string[];\n}\ndeclare abstract class Serializable implements SerializableInterface {\n lc_serializable: boolean;\n lc_kwargs: SerializedFields;\n /**\n * A path to the module that contains the class, eg. [\"langchain\", \"llms\"]\n * Usually should be the same as the entrypoint the class is exported from.\n */\n abstract lc_namespace: string[];\n /**\n * The name of the serializable. Override to provide an alias or\n * to preserve the serialized module name in minified environments.\n *\n * Implemented as a static method to support loading logic.\n */\n static lc_name(): string;\n /**\n * The final serialized identifier for the module.\n */\n get lc_id(): string[];\n /**\n * A map of secrets, which will be omitted from serialization.\n * Keys are paths to the secret in constructor args, e.g. \"foo.bar.baz\".\n * Values are the secret ids, which will be used when deserializing.\n */\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n /**\n * A map of additional attributes to merge with constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the attribute values, which will be serialized.\n * These attributes need to be accepted by the constructor as arguments.\n */\n get lc_attributes(): SerializedFields | undefined;\n /**\n * A map of aliases for constructor args.\n * Keys are the attribute names, e.g. \"foo\".\n * Values are the alias that will replace the key in serialization.\n * This is used to eg. make argument names match Python.\n */\n get lc_aliases(): {\n [key: string]: string;\n } | undefined;\n /**\n * A manual list of keys that should be serialized.\n * If not overridden, all fields passed into the constructor will be serialized.\n */\n get lc_serializable_keys(): string[] | undefined;\n constructor(kwargs?: SerializedFields, ..._args: never[]);\n toJSON(): Serialized;\n toJSONNotImplemented(): SerializedNotImplemented;\n}\n//#endregion\nexport { BaseSerialized, Serializable, SerializableInterface, Serialized, SerializedConstructor, SerializedNotImplemented, SerializedSecret, get_lc_unique_name };\n//# sourceMappingURL=serializable.d.ts.map"],"mappings":";;;;AAAiD,UAGvCC,cAAc,CAAA,UAAA,MAAA,CAAA,CAAA;EAAA,EAAA,EAAA,MAAA;EAAA,IAAA,EAEhBC,CAAAA;EAAC,EAAA,EAAA,MAICC,EAAAA;EAAM,IAAA,CAAA,EAAA,MAAA;EAAA;EAEe,KAAA,CAAA,EAFrBA,MAEqB,CAAA,MAAA,EAAA,GAAA,CAAA;;UAArBC,qBAAAA,SAA8BH,cAAAA,CAAAA,aAAAA,CAAAA,CAAAA;EAAc,MAAA,EAC5CD,gBAD4C;AAAA;AAGL,UAAvCK,gBAAAA,SAAyBJ,cACQA,CAAAA,QAAc,CAAA,CAAA,CAAA;AAAA,UAA/CK,wBAAAA,SAAiCL,cAC5B,CAAA,iBAAA,CAAA,CAAA,CAAA;KAAVM,UAAAA,GAAaH,qBAAH,GAA2BC,gBAA3B,GAA8CC,wBAA9C;;;;AAAsE;;AAMtD,UAArBI,qBAAAA,CAGyB;EAAA,IAAA,KAAA,EAAA,EAAA,MAAA,EAAA;;uBAAZD,YAAAA,YAAwBC,qBAiCxBV,CAAAA;EAAgB,eAehBA,EAAAA,OAAAA;EAAgB,SAC3BO,EA/CCP,gBA+CDO;EAAU;;AAjD8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiC7CP;;;;;;;;;;;;;;;uBAeAA;YACXO;0BACcD"}
@@ -1,9 +1,12 @@
1
1
  import { Serializable } from "../load/serializable.cjs";
2
2
  import { ContentBlock } from "./content/index.cjs";
3
+ import { $InferMessageContent, $InferResponseMetadata, Message, MessageStructure, MessageType } from "./message.cjs";
3
4
 
4
5
  //#region ../langchain-core/dist/messages/base.d.ts
5
6
 
6
7
  //#region src/messages/base.d.ts
8
+ /** @internal */
9
+ declare const MESSAGE_SYMBOL: unique symbol;
7
10
  interface StoredMessageData {
8
11
  content: string;
9
12
  role: string | undefined;
@@ -20,8 +23,6 @@ interface StoredMessage {
20
23
  type: string;
21
24
  data: StoredMessageData;
22
25
  }
23
- type MessageType = "human" | "ai" | "generic" | "developer" | "system" | "function" | "tool" | "remove";
24
- type MessageContent = string | Array<ContentBlock>;
25
26
  interface FunctionCall {
26
27
  /**
27
28
  * The arguments to call the function with, as generated by the model in JSON
@@ -35,10 +36,12 @@ interface FunctionCall {
35
36
  */
36
37
  name: string;
37
38
  }
38
- type BaseMessageFields = {
39
+ type BaseMessageFields<TStructure extends MessageStructure = MessageStructure, TRole extends MessageType = MessageType> = {
40
+ id?: string;
39
41
  name?: string;
40
- content?: MessageContent;
42
+ content?: $InferMessageContent<TStructure, TRole>;
41
43
  contentBlocks?: Array<ContentBlock.Standard>;
44
+ /** @deprecated */
42
45
  additional_kwargs?: {
43
46
  /**
44
47
  * @deprecated Use "tool_calls" field on AIMessages instead
@@ -50,41 +53,24 @@ type BaseMessageFields = {
50
53
  tool_calls?: OpenAIToolCall[];
51
54
  [key: string]: unknown;
52
55
  };
53
- /** Response metadata. For example: response headers, logprobs, token counts, model name. */
54
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
- response_metadata?: Record<string, any>;
56
- /**
57
- * An optional unique identifier for the message. This should ideally be
58
- * provided by the provider/model which created the message.
59
- */
60
- id?: string;
56
+ response_metadata?: Partial<$InferResponseMetadata<TStructure, TRole>>;
61
57
  };
62
58
  /**
63
59
  * Base class for all types of messages in a conversation. It includes
64
60
  * properties like `content`, `name`, and `additional_kwargs`. It also
65
61
  * includes methods like `toDict()` and `_getType()`.
66
62
  */
67
- declare abstract class BaseMessage extends Serializable {
63
+ declare abstract class BaseMessage<TStructure extends MessageStructure = MessageStructure, TRole extends MessageType = MessageType> extends Serializable implements Message<TStructure, TRole> {
68
64
  lc_namespace: string[];
69
65
  lc_serializable: boolean;
70
66
  get lc_aliases(): Record<string, string>;
71
- /**
72
- * Get text content of the message.
73
- */
74
- get text(): string;
75
- /** The content of the message. */
76
- content: MessageContent;
77
- /** The name of the message sender in a multi-user chat. */
78
- name?: string;
79
- /** Additional keyword arguments */
80
- additional_kwargs: NonNullable<BaseMessageFields["additional_kwargs"]>;
81
- /** Response metadata. For example: response headers, logprobs, token counts, model name. */
82
- response_metadata: NonNullable<BaseMessageFields["response_metadata"]>;
83
- /**
84
- * An optional unique identifier for the message. This should ideally be
85
- * provided by the provider/model which created the message.
86
- */
67
+ readonly [MESSAGE_SYMBOL]: true;
68
+ abstract readonly type: TRole;
87
69
  id?: string;
70
+ name?: string;
71
+ content: $InferMessageContent<TStructure, TRole>;
72
+ additional_kwargs: NonNullable<BaseMessageFields<TStructure, TRole>["additional_kwargs"]>;
73
+ response_metadata: NonNullable<BaseMessageFields<TStructure, TRole>["response_metadata"]>;
88
74
  /**
89
75
  * @deprecated Use .getType() instead or import the proper typeguard.
90
76
  * For example:
@@ -96,16 +82,21 @@ declare abstract class BaseMessage extends Serializable {
96
82
  * isAIMessage(message); // true
97
83
  * ```
98
84
  */
99
- abstract _getType(): MessageType;
100
- /** The type of the message. */
85
+ _getType(): MessageType;
86
+ /**
87
+ * @deprecated Use .type instead
88
+ * The type of the message.
89
+ */
101
90
  getType(): MessageType;
102
- constructor(fields: string | BaseMessageFields, /** @deprecated */
103
- kwargs?: Record<string, unknown>);
91
+ constructor(arg: $InferMessageContent<TStructure, TRole> | BaseMessageFields<TStructure, TRole>);
92
+ /** Get text content of the message. */
93
+ get text(): string;
104
94
  get contentBlocks(): Array<ContentBlock.Standard>;
105
95
  toDict(): StoredMessage;
106
96
  static lc_name(): string;
107
97
  // Can't be protected for silly reasons
108
98
  get _printableFields(): Record<string, unknown>;
99
+ static isInstance(obj: unknown): obj is BaseMessage;
109
100
  // this private method is used to update the ID for the runtime
110
101
  // value as well as in lc_kwargs for serialisation
111
102
  _updateId(value: string | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.cts","names":["Serializable","SerializedConstructor","StringWithAutocomplete","ContentBlock","StoredMessageData","Record","StoredMessage","StoredGeneration","StoredMessageV1","MessageType","MessageContent","Array","FunctionCall","BaseMessageFields","Standard","OpenAIToolCall","mergeContent","_mergeStatus","BaseMessage","NonNullable","Symbol","toStringTag","isOpenAIToolCallArray","_mergeDicts","_mergeLists","_mergeObj","T","BaseMessageChunk","MessageFieldWithRole","_isMessageFieldWithRole","BaseMessageLike","isBaseMessage","isBaseMessageChunk"],"sources":["../../../../../langchain-core/dist/messages/base.d.ts"],"sourcesContent":["import { Serializable, SerializedConstructor } from \"../load/serializable.js\";\nimport { StringWithAutocomplete } from \"../utils/types/index.js\";\nimport { ContentBlock } from \"./content/index.js\";\n\n//#region src/messages/base.d.ts\ninterface StoredMessageData {\n content: string;\n role: string | undefined;\n name: string | undefined;\n tool_call_id: string | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additional_kwargs?: Record<string, any>;\n /** Response metadata. For example: response headers, logprobs, token counts, model name. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n response_metadata?: Record<string, any>;\n id?: string;\n}\ninterface StoredMessage {\n type: string;\n data: StoredMessageData;\n}\ninterface StoredGeneration {\n text: string;\n message?: StoredMessage;\n}\ninterface StoredMessageV1 {\n type: string;\n role: string | undefined;\n text: string;\n}\ntype MessageType = \"human\" | \"ai\" | \"generic\" | \"developer\" | \"system\" | \"function\" | \"tool\" | \"remove\";\ntype MessageContent = string | Array<ContentBlock>;\ninterface FunctionCall {\n /**\n * The arguments to call the function with, as generated by the model in JSON\n * format. Note that the model does not always generate valid JSON, and may\n * hallucinate parameters not defined by your function schema. Validate the\n * arguments in your code before calling your function.\n */\n arguments: string;\n /**\n * The name of the function to call.\n */\n name: string;\n}\ntype BaseMessageFields = {\n name?: string;\n content?: MessageContent;\n contentBlocks?: Array<ContentBlock.Standard>;\n additional_kwargs?: {\n /**\n * @deprecated Use \"tool_calls\" field on AIMessages instead\n */\n function_call?: FunctionCall;\n /**\n * @deprecated Use \"tool_calls\" field on AIMessages instead\n */\n tool_calls?: OpenAIToolCall[];\n [key: string]: unknown;\n };\n /** Response metadata. For example: response headers, logprobs, token counts, model name. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n response_metadata?: Record<string, any>;\n /**\n * An optional unique identifier for the message. This should ideally be\n * provided by the provider/model which created the message.\n */\n id?: string;\n};\ndeclare function mergeContent(firstContent: MessageContent, secondContent: MessageContent): MessageContent;\n/**\n * 'Merge' two statuses. If either value passed is 'error', it will return 'error'. Else\n * it will return 'success'.\n *\n * @param {\"success\" | \"error\" | undefined} left The existing value to 'merge' with the new value.\n * @param {\"success\" | \"error\" | undefined} right The new value to 'merge' with the existing value\n * @returns {\"success\" | \"error\"} The 'merged' value.\n */\ndeclare function _mergeStatus(left?: \"success\" | \"error\", right?: \"success\" | \"error\"): \"success\" | \"error\" | undefined;\n/**\n * Base class for all types of messages in a conversation. It includes\n * properties like `content`, `name`, and `additional_kwargs`. It also\n * includes methods like `toDict()` and `_getType()`.\n */\ndeclare abstract class BaseMessage extends Serializable {\n lc_namespace: string[];\n lc_serializable: boolean;\n get lc_aliases(): Record<string, string>;\n /**\n * Get text content of the message.\n */\n get text(): string;\n /** The content of the message. */\n content: MessageContent;\n /** The name of the message sender in a multi-user chat. */\n name?: string;\n /** Additional keyword arguments */\n additional_kwargs: NonNullable<BaseMessageFields[\"additional_kwargs\"]>;\n /** Response metadata. For example: response headers, logprobs, token counts, model name. */\n response_metadata: NonNullable<BaseMessageFields[\"response_metadata\"]>;\n /**\n * An optional unique identifier for the message. This should ideally be\n * provided by the provider/model which created the message.\n */\n id?: string;\n /**\n * @deprecated Use .getType() instead or import the proper typeguard.\n * For example:\n *\n * ```ts\n * import { isAIMessage } from \"@langchain/core/messages\";\n *\n * const message = new AIMessage(\"Hello!\");\n * isAIMessage(message); // true\n * ```\n */\n abstract _getType(): MessageType;\n /** The type of the message. */\n getType(): MessageType;\n constructor(fields: string | BaseMessageFields, /** @deprecated */\n kwargs?: Record<string, unknown>);\n get contentBlocks(): Array<ContentBlock.Standard>;\n toDict(): StoredMessage;\n static lc_name(): string;\n // Can't be protected for silly reasons\n get _printableFields(): Record<string, unknown>;\n // this private method is used to update the ID for the runtime\n // value as well as in lc_kwargs for serialisation\n _updateId(value: string | undefined): void;\n get [Symbol.toStringTag](): any;\n}\n/**\n * @deprecated Use \"tool_calls\" field on AIMessages instead\n */\ntype OpenAIToolCall = {\n /**\n * The ID of the tool call.\n */\n id: string;\n /**\n * The function that the model called.\n */\n function: FunctionCall;\n /**\n * The type of the tool. Currently, only `function` is supported.\n */\n type: \"function\";\n index?: number;\n};\ndeclare function isOpenAIToolCallArray(value?: unknown): value is OpenAIToolCall[];\ndeclare function _mergeDicts(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nleft: Record<string, any>,\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nright: Record<string, any>\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Record<string, any>;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare function _mergeLists(left?: any[], right?: any[]): any[] | undefined;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare function _mergeObj<T = any>(left: T | undefined, right: T | undefined): T;\n/**\n * Represents a chunk of a message, which can be concatenated with other\n * message chunks. It includes a method `_merge_kwargs_dict()` for merging\n * additional keyword arguments from another `BaseMessageChunk` into this\n * one. It also overrides the `__add__()` method to support concatenation\n * of `BaseMessageChunk` instances.\n */\ndeclare abstract class BaseMessageChunk extends BaseMessage {\n abstract concat(chunk: BaseMessageChunk): BaseMessageChunk;\n}\ntype MessageFieldWithRole = {\n role: StringWithAutocomplete<\"user\" | \"assistant\" | MessageType>;\n content: MessageContent;\n name?: string;\n} & Record<string, unknown>;\ndeclare function _isMessageFieldWithRole(x: BaseMessageLike): x is MessageFieldWithRole;\ntype BaseMessageLike = BaseMessage | MessageFieldWithRole | [StringWithAutocomplete<MessageType | \"user\" | \"assistant\" | \"placeholder\">, MessageContent] | string\n/**\n * @deprecated Specifying \"type\" is deprecated and will be removed in 0.4.0.\n */ | ({\n type: MessageType | \"user\" | \"assistant\" | \"placeholder\";\n} & BaseMessageFields & Record<string, unknown>) | SerializedConstructor;\ndeclare function isBaseMessage(messageLike?: unknown): messageLike is BaseMessage;\ndeclare function isBaseMessageChunk(messageLike?: unknown): messageLike is BaseMessageChunk;\n//#endregion\nexport { BaseMessage, BaseMessageChunk, BaseMessageFields, BaseMessageLike, FunctionCall, MessageContent, MessageFieldWithRole, MessageType, OpenAIToolCall, StoredGeneration, StoredMessage, StoredMessageData, StoredMessageV1, _isMessageFieldWithRole, _mergeDicts, _mergeLists, _mergeObj, _mergeStatus, isBaseMessage, isBaseMessageChunk, isOpenAIToolCallArray, mergeContent };\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;AAEkD;UAGxCI,iBAAAA,CAAiB;EAAA,OAMLC,EAAAA,MAAAA;EAAM,IAAA,EAGNA,MAAAA,GAAAA,SAAAA;EAAM,IAAA,EAAA,MAAA,GAAA,SAAA;EAAA,YAGlBC,EAAAA,MAAa,GAAA,SAEfF;EAMiB;EAKT,iBACXM,CAAAA,EApBiBL,MAoBH,CAAA,MAAA,EAAA,GAAA,CAAA;EAAA;EAAA;EAA8B,iBAAlBM,CAAAA,EAjBTN,MAiBSM,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAAK,EAAA,CAAA,EAAA,MAAA;AAAA;AACd,UAfZL,aAAAA,CA4BY;EAAA,IAAA,EAAA,MAAA;EAAA,IAAA,EA1BdF,iBA4BIM;;KAjBPD,WAAAA,GAmE4BI,OAAAA,GAAAA,IAAAA,GAAAA,SAAAA,GAAAA,WAAAA,GAAAA,QAAAA,GAAAA,UAAAA,GAAAA,MAAAA,GAAAA,QAAAA;KAlE5BH,cAAAA,GAkEgBS,MAAAA,GAlEUR,KAkEVQ,CAlEgBhB,YAkEhBgB,CAAAA;UAjEXP,YAAAA,CAmEuBC;EAAiB;;;;;;EAsBA,SAA3BF,EAAAA,MAAAA;EAAK;;;EAQH,IAAA,EA7CkBX,MAAAA;AAAY;AAAA,KAvClDa,iBAAAA,GAyFc;;YAvFPH;kBACMC,MAAMR,YAAAA,CAAaW;;;;;oBAKjBF;;;;iBAIHG;;;;;sBAKKV;;;;;;;;;;;;uBAsBCa,WAAAA,SAAoBlB,YAAAA;;;oBAGvBK;;;;;;WAMTK;;;;qBAIUS,YAAYN;;qBAEZM,YAAYN;;;;;;;;;;;;;;;;;uBAiBVJ;;aAEVA;+BACkBI;WACpBR;uBACYM,MAAMR,YAAAA,CAAaW;YAC9BR;;;0BAGcD;;;;OAInBe,MAAAA,CAAOC,WAAAA;;;;;KAKTN,cAAAA;;;;;;;;YAQOH"}
1
+ {"version":3,"file":"base.d.cts","names":["ContentBlock","Serializable","SerializedConstructor","$InferMessageContent","$InferResponseMetadata","Message","MessageStructure","MessageType","MESSAGE_SYMBOL","StoredMessageData","Record","StoredMessage","StoredGeneration","StoredMessageV1","MessageContent","Array","FunctionCall","BaseMessageFields","TStructure","TRole","Standard","OpenAIToolCall","Partial","mergeContent","_mergeStatus","BaseMessage","NonNullable","Symbol","toStringTag","isOpenAIToolCallArray","_mergeDicts","_mergeLists","Content","_mergeObj","T","BaseMessageChunk","MessageFieldWithRole","_isMessageFieldWithRole","BaseMessageLike","isBaseMessage","isBaseMessageChunk"],"sources":["../../../../../langchain-core/dist/messages/base.d.ts"],"sourcesContent":["import { ContentBlock } from \"./content/index.js\";\nimport { Serializable, SerializedConstructor } from \"../load/serializable.js\";\nimport { $InferMessageContent, $InferResponseMetadata, Message, MessageStructure, MessageType } from \"./message.js\";\n\n//#region src/messages/base.d.ts\n/** @internal */\ndeclare const MESSAGE_SYMBOL: unique symbol;\ninterface StoredMessageData {\n content: string;\n role: string | undefined;\n name: string | undefined;\n tool_call_id: string | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additional_kwargs?: Record<string, any>;\n /** Response metadata. For example: response headers, logprobs, token counts, model name. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n response_metadata?: Record<string, any>;\n id?: string;\n}\ninterface StoredMessage {\n type: string;\n data: StoredMessageData;\n}\ninterface StoredGeneration {\n text: string;\n message?: StoredMessage;\n}\ninterface StoredMessageV1 {\n type: string;\n role: string | undefined;\n text: string;\n}\ntype MessageContent = string | Array<ContentBlock>;\ninterface FunctionCall {\n /**\n * The arguments to call the function with, as generated by the model in JSON\n * format. Note that the model does not always generate valid JSON, and may\n * hallucinate parameters not defined by your function schema. Validate the\n * arguments in your code before calling your function.\n */\n arguments: string;\n /**\n * The name of the function to call.\n */\n name: string;\n}\ntype BaseMessageFields<TStructure extends MessageStructure = MessageStructure, TRole extends MessageType = MessageType> = {\n id?: string;\n name?: string;\n content?: $InferMessageContent<TStructure, TRole>;\n contentBlocks?: Array<ContentBlock.Standard>;\n /** @deprecated */\n additional_kwargs?: {\n /**\n * @deprecated Use \"tool_calls\" field on AIMessages instead\n */\n function_call?: FunctionCall;\n /**\n * @deprecated Use \"tool_calls\" field on AIMessages instead\n */\n tool_calls?: OpenAIToolCall[];\n [key: string]: unknown;\n };\n response_metadata?: Partial<$InferResponseMetadata<TStructure, TRole>>;\n};\ndeclare function mergeContent(firstContent: MessageContent, secondContent: MessageContent): MessageContent;\n/**\n * 'Merge' two statuses. If either value passed is 'error', it will return 'error'. Else\n * it will return 'success'.\n *\n * @param {\"success\" | \"error\" | undefined} left The existing value to 'merge' with the new value.\n * @param {\"success\" | \"error\" | undefined} right The new value to 'merge' with the existing value\n * @returns {\"success\" | \"error\"} The 'merged' value.\n */\ndeclare function _mergeStatus(left?: \"success\" | \"error\", right?: \"success\" | \"error\"): \"success\" | \"error\" | undefined;\n/**\n * Base class for all types of messages in a conversation. It includes\n * properties like `content`, `name`, and `additional_kwargs`. It also\n * includes methods like `toDict()` and `_getType()`.\n */\ndeclare abstract class BaseMessage<TStructure extends MessageStructure = MessageStructure, TRole extends MessageType = MessageType> extends Serializable implements Message<TStructure, TRole> {\n lc_namespace: string[];\n lc_serializable: boolean;\n get lc_aliases(): Record<string, string>;\n readonly [MESSAGE_SYMBOL]: true;\n abstract readonly type: TRole;\n id?: string;\n name?: string;\n content: $InferMessageContent<TStructure, TRole>;\n additional_kwargs: NonNullable<BaseMessageFields<TStructure, TRole>[\"additional_kwargs\"]>;\n response_metadata: NonNullable<BaseMessageFields<TStructure, TRole>[\"response_metadata\"]>;\n /**\n * @deprecated Use .getType() instead or import the proper typeguard.\n * For example:\n *\n * ```ts\n * import { isAIMessage } from \"@langchain/core/messages\";\n *\n * const message = new AIMessage(\"Hello!\");\n * isAIMessage(message); // true\n * ```\n */\n _getType(): MessageType;\n /**\n * @deprecated Use .type instead\n * The type of the message.\n */\n getType(): MessageType;\n constructor(arg: $InferMessageContent<TStructure, TRole> | BaseMessageFields<TStructure, TRole>);\n /** Get text content of the message. */\n get text(): string;\n get contentBlocks(): Array<ContentBlock.Standard>;\n toDict(): StoredMessage;\n static lc_name(): string;\n // Can't be protected for silly reasons\n get _printableFields(): Record<string, unknown>;\n static isInstance(obj: unknown): obj is BaseMessage;\n // this private method is used to update the ID for the runtime\n // value as well as in lc_kwargs for serialisation\n _updateId(value: string | undefined): void;\n get [Symbol.toStringTag](): any;\n}\n/**\n * @deprecated Use \"tool_calls\" field on AIMessages instead\n */\ntype OpenAIToolCall = {\n /**\n * The ID of the tool call.\n */\n id: string;\n /**\n * The function that the model called.\n */\n function: FunctionCall;\n /**\n * The type of the tool. Currently, only `function` is supported.\n */\n type: \"function\";\n index?: number;\n};\ndeclare function isOpenAIToolCallArray(value?: unknown): value is OpenAIToolCall[];\ndeclare function _mergeDicts(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nleft?: Record<string, any>,\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nright?: Record<string, any>\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Record<string, any>;\ndeclare function _mergeLists<Content extends ContentBlock>(left?: Content[], right?: Content[]): Content[] | undefined;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ndeclare function _mergeObj<T = any>(left: T | undefined, right: T | undefined): T;\n/**\n * Represents a chunk of a message, which can be concatenated with other\n * message chunks. It includes a method `_merge_kwargs_dict()` for merging\n * additional keyword arguments from another `BaseMessageChunk` into this\n * one. It also overrides the `__add__()` method to support concatenation\n * of `BaseMessageChunk` instances.\n */\ndeclare abstract class BaseMessageChunk<TStructure extends MessageStructure = MessageStructure, TRole extends MessageType = MessageType> extends BaseMessage<TStructure, TRole> {\n abstract concat(chunk: BaseMessageChunk): BaseMessageChunk<TStructure, TRole>;\n static isInstance(obj: unknown): obj is BaseMessageChunk;\n}\ntype MessageFieldWithRole = {\n role: MessageType;\n content: MessageContent;\n name?: string;\n} & Record<string, unknown>;\ndeclare function _isMessageFieldWithRole(x: BaseMessageLike): x is MessageFieldWithRole;\ntype BaseMessageLike = BaseMessage | MessageFieldWithRole | [MessageType, MessageContent] | string\n/**\n * @deprecated Specifying \"type\" is deprecated and will be removed in 0.4.0.\n */ | ({\n type: MessageType | \"user\" | \"assistant\" | \"placeholder\";\n} & BaseMessageFields & Record<string, unknown>) | SerializedConstructor;\n/**\n * @deprecated Use {@link BaseMessage.isInstance} instead\n */\ndeclare function isBaseMessage(messageLike?: unknown): messageLike is BaseMessage;\n/**\n * @deprecated Use {@link BaseMessageChunk.isInstance} instead\n */\ndeclare function isBaseMessageChunk(messageLike?: unknown): messageLike is BaseMessageChunk;\n//#endregion\nexport { BaseMessage, BaseMessageChunk, BaseMessageFields, BaseMessageLike, FunctionCall, MessageContent, MessageFieldWithRole, OpenAIToolCall, StoredGeneration, StoredMessage, StoredMessageData, StoredMessageV1, _isMessageFieldWithRole, _mergeDicts, _mergeLists, _mergeObj, _mergeStatus, isBaseMessage, isBaseMessageChunk, isOpenAIToolCallArray, mergeContent };\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;AAEoH;AAIzE,cAA7BQ,cACa,EAAA,OAAA,MAAA;UAAjBC,iBAAAA,CAAiB;EAAA,OAMLC,EAAAA,MAAAA;EAAM,IAAA,EAGNA,MAAAA,GAAAA,SAAAA;EAAM,IAAA,EAAA,MAAA,GAAA,SAAA;EAAA,YAGlBC,EAAAA,MAAa,GAAA,SAEfF;EAW4B;EACd,iBAajBQ,CAAAA,EAjCiBP,MAiCA,CAAA,MAAA,EAAA,GAAA,CAAA;EAAA;EAAA;EAAoC,iBAAGJ,CAAAA,EA9BvCI,MA8BuCJ,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;EAAgB,EAAA,CAAA,EAAgBC,MAAAA;;UA3BnFI,aAAAA,CA8BuBO;EAAU,IAAA,EAAEC,MAAAA;EAAK,IAAA,EA5B1CV,iBA4BIN;;UAhBFa,YAAAA,CA+C4CV;EAAgB;;;;;;EAG5C,SACdE,EAAAA,MAAAA;EAAc;;;EAIuB,IAAA,EAAtCL,MAAAA;;KA1CNc,iBA2C0DE,CAAAA,mBA3CrBb,gBA2CqBa,GA3CFb,gBA2CEa,EAAAA,cA3C8BZ,WA2C9BY,GA3C4CZ,WA2C5CY,CAAAA,GAAAA;EAAK,EAAA,CAAA,EAAnCF,MAAAA;EAAiB,IAAA,CAA7BS,EAAAA,MAAAA;EAAW,OACmBR,CAAAA,EAzCvCf,oBAyCuCe,CAzClBA,UAyCkBA,EAzCNC,KAyCMD,CAAAA;EAAU,aAAEC,CAAAA,EAxC7CJ,KAwC6CI,CAxCvCnB,YAAAA,CAAaoB,QAwC0BD,CAAAA;EAAK;EAAlB,iBAA7BO,CAAAA,EAAAA;IAAW;;;IAkBkB,aAAEP,CAAAA,EApDhCH,YAoDgCG;IAAK;;;IAAuC,UAAnCF,CAAAA,EAhD5CI,cAgD4CJ,EAAAA;IAAiB,CAAA,GAGjDjB,EAAAA,MAAAA,CAAAA,EAAAA,OAAaoB;EAAQ,CAAA;EAAtB,iBAChBT,CAAAA,EAjDUW,OAiDVX,CAjDkBP,sBAiDlBO,CAjDyCO,UAiDzCP,EAjDqDQ,KAiDrDR,CAAAA,CAAAA;CAAa;;;;;;uBAhCFc,+BAA+BnB,mBAAmBA,gCAAgCC,cAAcA,qBAAqBN,YAAAA,YAAwBI,QAAQa,YAAYC;;;oBAGpKT;YACRF,cAAAA;0BACcW;;;WAGfhB,qBAAqBe,YAAYC;qBACvBO,YAAYT,kBAAkBC,YAAYC;qBAC1CO,YAAYT,kBAAkBC,YAAYC;;;;;;;;;;;;cAYjDZ;;;;;aAKDA;mBACMJ,qBAAqBe,YAAYC,SAASF,kBAAkBC,YAAYC;;;uBAGpEJ,MAAMf,YAAAA,CAAaoB;YAC9BT;;;0BAGcD;0CACgBe;;;;OAInCE,MAAAA,CAAOC,WAAAA;;;;;KAKTP,cAAAA;;;;;;;;YAQOL"}
@@ -5,7 +5,7 @@ import { Data } from "./data.cjs";
5
5
 
6
6
  //#region ../langchain-core/dist/messages/content/index.d.ts
7
7
  //#region src/messages/content/index.d.ts
8
- type ContentBlock = BaseContentBlock;
8
+ interface ContentBlock extends BaseContentBlock {}
9
9
  // eslint-disable-next-line @typescript-eslint/no-namespace
10
10
  declare namespace ContentBlock {
11
11
  /**
@@ -91,10 +91,29 @@ declare namespace ContentBlock {
91
91
  */
92
92
  index?: number;
93
93
  }
94
+ /**
95
+ * Provider-specific content block.
96
+ *
97
+ * This is used to represent content blocks that are not part of the standard LangChain content model.
98
+ * If a provider's non-standard output includes reasoning and tool calls, it should be
99
+ * the adapter's job to parse that payload and emit the corresponding standard reasoning and tool call blocks.
100
+ */
101
+ export interface NonStandard<
102
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
+ TValue extends Record<string, any> = Record<string, any>> extends ContentBlock {
104
+ /**
105
+ * Type of the content block
106
+ */
107
+ type: "non_standard";
108
+ /**
109
+ * Provider-specific data
110
+ */
111
+ value: TValue;
112
+ }
94
113
  export { Tools };
95
114
  export { Multimodal };
96
115
  export { Data };
97
- export type Standard = Text | Reasoning | Tools.Standard | Multimodal.Standard;
116
+ export type Standard = Text | Reasoning | NonStandard | Tools.Standard | Multimodal.Standard;
98
117
  }
99
118
  //#endregion
100
119
  //#endregion